|
| 1 | +# GitHub Copilot Custom Instructions for rust-rabbit |
| 2 | + |
| 3 | +## Project Overview |
| 4 | +This project is a Rust library for [brief description of rust-rabbit's purpose]. It provides [main features/capabilities] built using Rust with focus on [performance/reliability/safety]. |
| 5 | + |
| 6 | +## Coding Standards and Conventions |
| 7 | +- **Language:** Rust |
| 8 | +- **Style Guide:** Follow Rust API Guidelines and official Rust Style Guide (rustfmt) |
| 9 | +- **Naming Conventions:** |
| 10 | + - Use `snake_case` for functions, variables, and modules |
| 11 | + - Use `PascalCase` for types, traits, and enums |
| 12 | + - Use `SCREAMING_SNAKE_CASE` for constants |
| 13 | +- **Comments:** Provide clear and concise comments for complex logic |
| 14 | +- **Documentation:** Generate rustdoc-style documentation (`///`) for all public APIs, functions, and types with examples |
| 15 | + |
| 16 | +## Architectural Principles |
| 17 | +- **Design Patterns:** Follow Rust idioms and best practices for library design |
| 18 | +- **Modularity:** Ensure code is modular with clear separation of concerns |
| 19 | +- **Testing:** Write comprehensive unit tests and integration tests for all new features |
| 20 | +- **Error Handling:** Use Result types and custom error types; avoid panics in libraries |
| 21 | + |
| 22 | +## Specific Instructions for Copilot |
| 23 | + |
| 24 | +### Feature Implementation |
| 25 | +- **Checklist Completion:** Implement ALL items in feature checklists completely. Do NOT use `// TODO` or `todo!()` as a substitute for implementation. |
| 26 | +- **No Incomplete TODOs:** Every checklist item must be fully implemented, tested, and documented before marking as done. |
| 27 | + |
| 28 | +### Code Quality Checks |
| 29 | +After implementation is complete, MUST run and verify all of the following: |
| 30 | +1. **Code Formatting:** `cargo fmt --check` - Ensure all code follows rustfmt standards |
| 31 | +2. **Linting:** `cargo clippy -- -D warnings` - Fix all clippy warnings and ensure no new warnings are introduced |
| 32 | +3. **Documentation:** `cargo doc --no-deps --document-private-items` - Verify all public APIs have complete rustdoc comments with examples |
| 33 | +4. **Security Audit:** `cargo audit` - Check for known security vulnerabilities in dependencies |
| 34 | +5. **Tests:** `cargo test` - All tests must pass |
| 35 | +6. **Build:** `cargo build --release` - Ensure clean release build |
| 36 | + |
| 37 | +### Documentation |
| 38 | +- Update README.md with: |
| 39 | + - Clear feature descriptions and usage examples |
| 40 | + - API overview and key types |
| 41 | + - Any changes to existing functionality |
| 42 | +- Remove any redundant or meaningless markdown sections that don't add value to the library documentation |
| 43 | +- Ensure documentation reflects actual implementation accurately |
| 44 | + |
| 45 | +### Code Generation |
| 46 | +- Prioritize: **readability, correctness, and maintainability** |
| 47 | +- Write idiomatic Rust code following community standards |
| 48 | +- Include comprehensive examples in documentation comments |
| 49 | + |
| 50 | +### Refactoring |
| 51 | +- Aim for: **simplicity, maintainability, and adherence to Rust best practices** |
| 52 | +- Consider memory efficiency and zero-cost abstractions |
| 53 | +- Maintain backward compatibility where possible |
| 54 | + |
| 55 | +### Explanations |
| 56 | +- Provide: **concise summaries with detailed breakdowns** of Rust-specific concepts |
| 57 | +- Explain ownership, borrowing, and trait implications when relevant |
| 58 | + |
| 59 | +### Language Preference |
| 60 | +- Respond in **Vietnamese** (Tiếng Việt) for explanations and discussions |
| 61 | +- Respond in **English** for code comments and documentation |
| 62 | + |
| 63 | +### Tone |
| 64 | +- Maintain a **professional, helpful, and thorough** tone |
| 65 | +- Be direct about quality requirements and best practices |
| 66 | + |
| 67 | +## Review Checklist Before Completion |
| 68 | +Every feature implementation must satisfy: |
| 69 | +- ✅ All checklist items fully implemented (no pending TODOs) |
| 70 | +- ✅ `cargo fmt` passes |
| 71 | +- ✅ `cargo clippy` passes with no warnings |
| 72 | +- ✅ `cargo test` passes with 100% test coverage for new code |
| 73 | +- ✅ `cargo doc` generates clean documentation with no warnings |
| 74 | +- ✅ `cargo audit` shows no vulnerabilities |
| 75 | +- ✅ README.md updated with new features/changes |
| 76 | +- ✅ No redundant or meaningless documentation |
| 77 | +- ✅ Code follows Rust API guidelines |
| 78 | + |
| 79 | +## Examples and Context |
| 80 | +- Refer to existing modules in the repository for preferred patterns |
| 81 | +- Maintain consistency with current code style and architecture |
| 82 | +- When adding features, ensure they integrate seamlessly with existing APIs |
0 commit comments