32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
|
|
## Critical Rules
|
|
|
|
### 1. Code Organization
|
|
- Many small files over few large files
|
|
- High cohesion, low coupling
|
|
- 200-400 lines typical, 800 max per file
|
|
- Organize by feature/domain, not by type
|
|
|
|
### 2. Code Style
|
|
- No emojis in code, comments, or documentation
|
|
- Immutability always - never mutate objects or arrays
|
|
- Always follow existing coding style when adding new code
|
|
- Avoid nested matching pattern as much as possible
|
|
|
|
### 3. Regarding Dependencies:
|
|
- Avoid introducing new external dependencies unless absolutely necessary.
|
|
- If a new dependency is required, state the reason.
|
|
|
|
### 4. Adding tests
|
|
When adding tests for a particular feature, add the tests near where other tests
|
|
for similar code live. Try not to add new dependencies as you add tests, and try
|
|
to make new tests similar in style and API usage to other tests which already
|
|
exist nearby.
|
|
|
|
### 5. AI/Developer Rules
|
|
- **Rust Development Verification:** After modifying any Rust code (`.rs` files or `Cargo.toml`), you **MUST** run `cargo build --manifest-path cli/Cargo.toml` to verify compilation.
|
|
- If the build fails, you **MUST** analyze the error log and apply a fix immediately.
|
|
- Do **NOT** report the task as complete until the code compiles successfully.
|
|
|
|
|