Skip to content

Commit d39a5fc

Browse files
committed
docs(copilot-instructions): update formatting and punctuation for clarity and consistency
1 parent 0f45265 commit d39a5fc

File tree

1 file changed

+55
-59
lines changed

1 file changed

+55
-59
lines changed

.github/copilot-instructions.md

Lines changed: 55 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
# RobotCode Development Guidelines
2-
3-
> Last Updated: 2025-01-25
4-
> Version: 1.0
5-
> Override Priority: Highest
1+
# copilot-instructions.md
62

73
<ai_meta>
84
<parsing_rules>
@@ -25,21 +21,21 @@ RobotCode is a comprehensive Robot Framework toolkit that provides IDE extension
2521

2622
### Core Rules
2723

28-
- **REVIEW/ANALYZE/CHECK/EXAMINE:** READ-ONLY operations. Provide analysis and feedback, NEVER make changes
29-
- **IMPLEMENT/ADD/CREATE/FIX/CHANGE:** Implementation required. ALWAYS ask for confirmation and wait for explicit user choice before proceeding
30-
- **IMPROVE/OPTIMIZE/REFACTOR:** Always ask for specific approach before implementing
31-
- **MANDATORY WAIT:** When presenting implementation options, ALWAYS wait for explicit user choice before proceeding
24+
- **REVIEW/ANALYZE/CHECK/EXAMINE:** READ-ONLY operations. Provide analysis and feedback, NEVER make changes.
25+
- **IMPLEMENT/ADD/CREATE/FIX/CHANGE:** Implementation required. ALWAYS ask for confirmation and wait for explicit user choice before proceeding.
26+
- **IMPROVE/OPTIMIZE/REFACTOR:** Always ask for specific approach before implementing.
27+
- **MANDATORY WAIT:** When presenting implementation options, ALWAYS wait for explicit user choice before proceeding.
3228

3329
### Communication Flow
3430

3531
1. **Recognize Intent:** Review request vs. Implementation request?
36-
2. **For Reviews:** Analyze and suggest, but don't change anything
32+
2. **For Reviews:** Analyze and suggest, but don't change anything.
3733
3. **For Implementation:**
38-
- ALWAYS ask for confirmation before implementing
39-
- If multiple approaches exist, present numbered options A), B), C), D), ...)
40-
- ALWAYS end with "Other approach"
41-
- WAIT for user response before proceeding
42-
- NEVER start implementation until user explicitly chooses an option
34+
- ALWAYS ask for confirmation before implementing.
35+
- If multiple approaches exist, present numbered options A), B), C), D), ...).
36+
- ALWAYS end with "Other approach".
37+
- WAIT for user response before proceeding.
38+
- NEVER start implementation until user explicitly chooses an option.
4339
4. **Critical Rule:** When presenting options, STOP and wait for user input. Do not continue with any implementation.
4440

4541
## Tech Stack
@@ -68,30 +64,30 @@ RobotCode is a comprehensive Robot Framework toolkit that provides IDE extension
6864
## General Coding Guidelines
6965

7066
### Clean Code Principles
71-
- **Readability First:** Code is read more often than written - prioritize clarity over cleverness
72-
- **Meaningful Names:** Use descriptive names for variables, functions, and classes that express intent
73-
- **Single Responsibility:** Each function/class should have one reason to change
74-
- **Small Functions:** Keep functions focused and under 20 lines when possible
75-
- **No Magic Numbers:** Use named constants or enums instead of hardcoded values
76-
- **Avoid Deep Nesting:** Use early returns and guard clauses to reduce cyclomatic complexity
67+
- **Readability First:** Code is read more often than written - prioritize clarity over cleverness.
68+
- **Meaningful Names:** Use descriptive names for variables, functions, and classes that express intent.
69+
- **Single Responsibility:** Each function/class should have one reason to change.
70+
- **Small Functions:** Keep functions focused and under 20 lines when possible.
71+
- **No Magic Numbers:** Use named constants or enums instead of hardcoded values.
72+
- **Avoid Deep Nesting:** Use early returns and guard clauses to reduce cyclomatic complexity.
7773

7874
### Code Organization
79-
- **Consistent Structure:** Follow established patterns within each package
80-
- **Separation of Concerns:** Keep business logic separate from infrastructure code
81-
- **Interface Segregation:** Create focused interfaces rather than monolithic ones
82-
- **Dependency Inversion:** Depend on abstractions, not concrete implementations
75+
- **Consistent Structure:** Follow established patterns within each package.
76+
- **Separation of Concerns:** Keep business logic separate from infrastructure code.
77+
- **Interface Segregation:** Create focused interfaces rather than monolithic ones.
78+
- **Dependency Inversion:** Depend on abstractions, not concrete implementations.
8379

8480
### Error Handling
85-
- **Explicit Error Handling:** Use proper exception/error types and hierarchies
86-
- **Fail Fast:** Validate inputs early and provide clear error messages
87-
- **Resource Management:** Use appropriate resource cleanup patterns (try-with-resources, RAII, etc.)
88-
- **Logging:** Provide meaningful log messages at appropriate levels
81+
- **Explicit Error Handling:** Use proper exception/error types and hierarchies.
82+
- **Fail Fast:** Validate inputs early and provide clear error messages.
83+
- **Resource Management:** Use appropriate resource cleanup patterns (try-with-resources, RAII, etc.).
84+
- **Logging:** Provide meaningful log messages at appropriate levels.
8985

9086
### Documentation Standards
91-
- **Function Documentation:** All public functions/methods must have comprehensive documentation
92-
- **Type Annotations:** Use static type checking where available (TypeScript, Python type hints, etc.)
93-
- **README Files:** Each package/module should have clear usage documentation
94-
- **Inline Comments:** Explain *why*, not *what* - the code should be self-documenting
87+
- **Function Documentation:** All public functions/methods must have comprehensive documentation.
88+
- **Type Annotations:** Use static type checking where available (TypeScript, Python type hints, etc.).
89+
- **README Files:** Each package/module should have clear usage documentation.
90+
- **Inline Comments:** Explain *why*, not *what* - the code should be self-documenting.
9591

9692
### Project Language Requirement
9793
- **English for code and docs (REQUIRED):** Regardless of the natural language a user speaks when interacting with contributors or tools, all project-facing text must use English. This includes:
@@ -100,7 +96,7 @@ RobotCode is a comprehensive Robot Framework toolkit that provides IDE extension
10096
- Public and internal variable, function, class, and module names (identifiers)
10197
- Commit messages and code review comments where project conventions apply
10298

103-
This rule ensures consistency across the codebase, improves discoverability for international contributors, and enables reliable tooling (linters, analyzers, and internationalized docs). Use English even when writing examples or user-facing strings in tests; if localised strings are required, keep the canonical code-level names and primary docs in English and add separate localized resources.
99+
This rule ensures consistency across the codebase, improves discoverability for international contributors, and enables reliable tooling (linters, analyzers, and internationalized docs). Use English even when writing examples or user-facing strings in tests; if localized strings are required, keep the canonical code-level names and primary docs in English and add separate localized resources.
104100

105101
### Commit Message Standard
106102
- **Conventional Commits (REQUIRED):** This project uses the Conventional Commits specification for commit messages. Commit messages must follow the format:
@@ -123,16 +119,16 @@ RobotCode is a comprehensive Robot Framework toolkit that provides IDE extension
123119
- Multiple line footer entries can reference issues or metadata (e.g., `Closes #123`).
124120

125121
### Testing Requirements
126-
- **Test Coverage:** Maintain high test coverage with meaningful test cases
127-
- **Test Naming:** Use descriptive test names that explain the scenario
128-
- **Test Structure:** Organize tests clearly with setup, execution, and verification phases
129-
- **Test Independence:** Each test should be able to run in isolation
122+
- **Test Coverage:** Maintain high test coverage with meaningful test cases.
123+
- **Test Naming:** Use descriptive test names that explain the scenario.
124+
- **Test Structure:** Organize tests clearly with setup, execution, and verification phases.
125+
- **Test Independence:** Each test should be able to run in isolation.
130126

131127
### Performance Considerations
132-
- **Async Patterns:** Use proper asynchronous programming patterns where applicable
133-
- **Resource Efficiency:** Minimize memory allocations and resource usage in hot paths
134-
- **Lazy Loading:** Load resources only when needed
135-
- **Caching Strategy:** Implement appropriate caching for expensive operations
128+
- **Async Patterns:** Use proper asynchronous programming patterns where applicable.
129+
- **Resource Efficiency:** Minimize memory allocations and resource usage in hot paths.
130+
- **Lazy Loading:** Load resources only when needed.
131+
- **Caching Strategy:** Implement appropriate caching for expensive operations.
136132

137133
## Architecture Patterns
138134

@@ -141,23 +137,23 @@ RobotCode is a comprehensive Robot Framework toolkit that provides IDE extension
141137
packages/
142138
├── core/ # Base utilities and shared functionality
143139
├── language_server/ # LSP implementation for IDE integration
144-
├── debugger/ # Debug Adapter Protocol implementation
145-
├── runner/ # Enhanced Robot Framework execution tools
146-
├── analyze/ # Static code analysis and validation
147-
├── jsonrpc2/ # JSON-RPC communication layer
148-
├── plugin/ # Plugin system foundation
149-
├── repl/ # Interactive Robot Framework shell
150-
├── repl_server/ # REPL server for remote connections
151-
├── robot/ # Robot Framework integration utilities
152-
└── modifiers/ # Code transformation tools
153-
154-
vscode-client/ # VS Code extension (TypeScript)
155-
├── extension/ # Main extension code with manager pattern
156-
└── rendererLog/ # Log rendering components
157-
158-
intellij-client/ # IntelliJ/PyCharm plugin (Kotlin)
159-
├── src/main/kotlin/ # Plugin implementation via LSP4IJ
160-
└── build.gradle.kts # Gradle build configuration
140+
├── debugger/ # Debug Adapter Protocol implementation
141+
├── runner/ # Enhanced Robot Framework execution tools
142+
├── analyze/ # Static code analysis and validation
143+
├── jsonrpc2/ # JSON-RPC communication layer
144+
├── plugin/ # Plugin system foundation
145+
├── repl/ # Interactive Robot Framework shell
146+
├── repl_server/ # REPL server for remote connections
147+
├── robot/ # Robot Framework integration utilities
148+
└── modifiers/ # Code transformation tools
149+
150+
vscode-client/ # VS Code extension (TypeScript)
151+
├── extension/ # Main extension code with manager pattern
152+
└── rendererLog/ # Log rendering components
153+
154+
intellij-client/ # IntelliJ/PyCharm plugin (Kotlin)
155+
├── src/main/kotlin/ # Plugin implementation via LSP4IJ
156+
└── build.gradle.kts # Gradle build configuration
161157
```
162158

163159
### Multi-Platform Support

0 commit comments

Comments
 (0)