diff --git a/DESIGN.md b/DESIGN.md index 838c60b..3b9b7a4 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -1,5 +1,19 @@ # PROJECT RULES - KEEP FIRST +## Standard Rules + +1. ALWAYS keep DESIGN.md updated with any architectural or design changes +2. ALWAYS keep project rules first in this document +3. Follow Rust naming conventions and idioms +4. Use anyhow for error handling throughout the codebase +5. Maintain comprehensive logging with the log crate +6. Write unit tests for critical functionality +7. Document public APIs with rustdoc comments +8. Keep modules focused on single responsibilities +9. Prefer composition over inheritance +10. Handle errors gracefully and provide meaningful error messages +11. Ensure code is safe and avoids unsafe blocks where possible + ## Code - Modules ### Main Module @@ -46,15 +60,3 @@ - `plugins.rs` - Shared plugin utilities - Contains `ProgramWriter` for external process communication -## Standard Rules - -1. ALWAYS keep DESIGN.md updated with any architectural or design changes -2. Follow Rust naming conventions and idioms -3. Use anyhow for error handling throughout the codebase -4. Maintain comprehensive logging with the log crate -5. Write unit tests for critical functionality -6. Document public APIs with rustdoc comments -7. Keep modules focused on single responsibilities -8. Prefer composition over inheritance -9. Handle errors gracefully and provide meaningful error messages -10. Ensure code is safe and avoids unsafe blocks where possible