@@ -28,83 +28,39 @@ applyTo: **/*.py
28
28
- ** MUST** use proper __ init__ .py files for package imports
29
29
30
30
### Code Style Standards
31
- - ** Formatting:** Follow Black code style with line length 88
32
- - ** Imports:** isort with profile=black
33
- - ** Type Hints:** Required for all public APIs
31
+ - ** Formatting:** we use ruff for formatting
32
+ - ** Type Hints:** Required for all APIs
34
33
- ** Docstrings:** Google style for modules, classes, and functions
34
+ - ** linting:** use ruff for static analysis and mypy for type checking
35
35
36
- ### Environment Setup
37
- ``` bash
38
- hatch run install-packages # Install all packages in development mode
39
- ```
40
-
41
- ### Testing Commands
42
- ``` bash
43
- hatch run test.rf70:test # Test with Robot Framework 7.0
44
- hatch run test.rf70.py311:test # Specific Python + RF combination
45
- hatch run cov # Run with coverage reporting
46
- pytest --regtest2-reset # Update test snapshots
47
- ```
48
36
49
37
### Code Quality
50
38
``` bash
51
39
hatch run lint:all # All linting checks (black, isort, flake8)
52
40
hatch run lint:fix # Auto-fix style issues
53
41
```
54
42
55
- ## CLI Error Handling Pattern
56
-
57
- ** REQUIRED** pattern for all CLI tools:
58
- ``` python
59
- try :
60
- result = execute_command()
61
- except Exception as e:
62
- app.error(f " Failed to execute: { e} " )
63
- ```
64
-
65
- ## Package-Specific Guidelines
66
-
67
- ### Core Package (` packages/core/ ` )
68
- - ** Base utilities and shared functionality**
69
- - ** MUST** be importable by all other packages
70
- - ** NO** dependencies on other RobotCode packages
71
-
72
- ### Language Server (` packages/language_server/ ` )
73
- - ** LSP implementation for IDE integration**
74
- - ** ALWAYS** use asyncio patterns
75
- - ** REQUIRED** proper error isolation per workspace
76
-
77
- ### Debugger (` packages/debugger/ ` )
78
- - ** Debug Adapter Protocol implementation**
79
- - ** MUST** handle multi-workspace scenarios
80
- - ** REQUIRED** proper session management
81
-
82
- ### Runner (` packages/runner/ ` )
83
- - ** Enhanced Robot Framework execution tools**
84
- - ** ALWAYS** use Robot Framework native parser
85
- - ** REQUIRED** configuration via robot.toml
86
-
87
43
### Testing Requirements
88
44
45
+ ### Python Interpreter
46
+ - ** ask your tools** wich python interpreter to use for the project/workspace
47
+
89
48
### Matrix Testing
90
49
- ** COMPREHENSIVE** testing across Python 3.8-3.13
91
50
- ** MATRIX** testing with Robot Framework 5.0-7.3
92
51
- ** INTEGRATION** tests in tests/robotcode/ with real scenarios
93
52
- ** SNAPSHOT** testing with pytest regtest2
94
53
95
54
### Test Execution
55
+
56
+ ** IMPORTANT** use the correct Python environment selected in your IDE
57
+
58
+ - ** USE** ` pytest . ` to run unit tests,
96
59
- ** USE** ` pytest --regtest2-reset ` to update snapshots
97
60
- ** RUN** specific environments: ` hatch run test.rf70.py311:test `
98
61
- ** COVERAGE** reporting with ` hatch run cov `
99
62
100
- ## Configuration System
101
-
102
- ### robot.toml Configuration
103
- - ** IMPLEMENT** robot.toml parsing throughout CLI and language server
104
- - ** SUPPORT** profile management and inheritance
105
- - ** VALIDATE** configuration options
106
-
107
- ### Multi-Platform Consistency
63
+ ## Multi-Platform Consistency
108
64
- ** ENSURE** consistent behavior across VS Code and IntelliJ
109
65
- ** MAINTAIN** unified configuration approach
110
66
- ** DOCUMENT** platform-specific differences
0 commit comments