You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Purpose**: Adapt language-specific PSI (Program Structure Interface) to the common Temporal features.
24
+
-**Current Status**: Currently, the focus is exclusively on **PHP**. Support for other languages (Go, Java, TypeScript, etc.) will be added in the future.
@@ -72,10 +73,12 @@ When implementing a feature that should work across multiple languages (e.g., Ac
72
73
73
74
-**KotlinFirst**:All new code should be written inKotlin.
74
75
-**Performance**:Use `CachedValue` and `DumbService.isDumb()` checks where appropriate.
75
-
-**Consistency**:Follow the existing package structure. Ifa feature exists forPHPin `languages.php.navigation`, its Java counterpart should be in`languages.java.navigation`.
76
+
-**Consistency**:Follow the existing package structure. For example, ifa feature is implemented forPHPin `languages.php.navigation`, any future language implementations should follow the same sub-package structure (e.g., `languages.go.navigation`).
76
77
-**Naming**:
77
78
-ExtensionPoints should end with `EP`.
78
-
-Language-specific implementations should be prefixed with the language name (e.g., `Php...`, `Java...`).
79
+
-Language-specific implementations should be prefixed with the language name (e.g., `Php...`).
80
+
-**Namespaces**:
81
+
-AllExtensionPoint names andIDs**must** start with `com.github.xepozz.temporal`.
79
82
80
83
## AIAgentInstructions
81
84
@@ -85,3 +88,4 @@ When tasked with adding a new feature:
85
88
3. **Use existing patterns**: Look at `languages/php` for reference on how to interact with language-specific PSI.
86
89
4. **Update XML**: Don't forget to register new classes in `plugin.xml` or language-specific XML files.
87
90
5. **BeMinimal**:Implement the smallest possible change to achieve the goal while maintaining architectural integrity.
91
+
6. **NamespaceCompliance**:Ensure all new extension points andIDs start with `com.github.xepozz.temporal`.
0 commit comments