- All code generation and documentation must be in English.
- UI content, placeholder text, example data, or mock content may be in other languages only if explicitly requested.
- There must always be a Markdown file in the
docs/directory that defines the project’s coding style guide. - You must follow that guide for formatting, naming, and structure.
- If it's missing or unclear, ask for clarification before generating any code.
-
All documentation must reside in
docs/as Markdown files. -
Functionalities, endpoints, and workflows must be fully documented.
-
If code generation modifies or adds:
- DTOs
- Types / Interfaces
- Functionality
→ Update the corresponding documentation Markdown files in
docs/. -
README.md must include:
- Project description
- Overview of functionality
- Usage instructions
- Installation steps
→ Refer to more detailed information via links to Markdown files indocs/.
- Enforce:
- SOLID Principles
- DRY Principle
- Vertical Slice Clean Architecture with Ports & Adapters
- Prioritize readability, maintainability, and scalability.
- Use meaningful names for functions, variables, and classes.
- Every diagram included in any Markdown file, especially those in
docs/, must be authored in embedded PlantUML or Mermaid syntax.- Use fenced code blocks with
plantumlormermaidlanguage tags. - Do not use image files, external visual editors, or proprietary formats.
- This ensures diagrams remain version-controlled, editable, and part of the codebase.
:contentReference[oaicite:0]{index=0}
- Use fenced code blocks with
- For every new or modified function/method, create or update corresponding unit tests.
- Unit tests must:
- Be self-contained (avoid external state unless required)
- Follow Arrange-Act-Assert or the project’s standard pattern
- Cover both happy paths and edge cases
- Use Vertical Slice Clean Architecture with Ports & Adapters.
- Layers:
- Domain Layer: Entities and business logic
- Application Layer: Orchestration and use-case interfaces
- Infrastructure Layer: Frameworks, databases, APIs, and adapters
- Apply Dependency Inversion to decouple layers.
When generating or modifying code:
- Refer to and apply the style guide in
docs/; ask if it's missing. - Update related documentation in
docs/, including diagrams using PlantUML or Mermaid. - Generate or update unit tests for affected logic.
- Respect Clean Architecture and vertical slice boundaries.
- Deliver commit-ready code—no placeholder stubs unless explicitly requested.
- Commits must be clear and concise, describing what and why.
- Group related changes logically.
- Reference relevant tickets/issues.
- Require peer review before merging into main branches.