Files
BMAD-METHOD/docs/templates/coding-standards.md
Brian Madison f7d6a4d2b5 V2 Frozen
2025-06-04 22:16:41 -05:00

3.0 KiB

{Project Name} Coding Standards and Patterns

Architectural / Design Patterns Adopted

{List the key high-level patterns chosen in the architecture document.}

  • Pattern 1: {e.g., Serverless, Event-Driven, Microservices, CQRS} - Rationale/Reference: {Briefly why, or link to docs/architecture.md section}
  • Pattern 2: {e.g., Dependency Injection, Repository Pattern, Module Pattern} - Rationale/Reference: {...}
  • Pattern N: {...}

Coding Standards (Consider adding these to Dev Agent Context or Rules)

  • Primary Language(s): {e.g., TypeScript 5.x, Python 3.11, Go 1.2x}
  • Primary Runtime(s): {e.g., Node.js 22.x, Python Runtime for Lambda}
  • Style Guide & Linter: {e.g., ESLint with Airbnb config, Prettier; Black, Flake8; Go fmt} - Configuration: {Link to config files or describe setup}
  • Naming Conventions:
    • Variables: {e.g., camelCase}
    • Functions: {e.g., camelCase}
    • Classes/Types/Interfaces: {e.g., PascalCase}
    • Constants: {e.g., UPPER_SNAKE_CASE}
    • Files: {e.g., kebab-case.ts, snake_case.py}
  • File Structure: Adhere to the layout defined in docs/project-structure.md.
  • Asynchronous Operations: {e.g., Use async/await in TypeScript/Python, Goroutines/Channels in Go.}
  • Type Safety: {e.g., Leverage TypeScript strict mode, Python type hints, Go static typing.} - Type Definitions: {Location, e.g., src/common/types.ts}
  • Comments & Documentation: {Expectations for code comments, docstrings, READMEs.}
  • Dependency Management: {Tool used - e.g., npm, pip, Go modules. Policy on adding dependencies.}

Error Handling Strategy

  • General Approach: {e.g., Use exceptions, return error codes/tuples, specific error types.}
  • Logging:
    • Library/Method: {e.g., console.log/error, Python logging module, dedicated logging library}
    • Format: {e.g., JSON, plain text}
    • Levels: {e.g., DEBUG, INFO, WARN, ERROR}
    • Context: {What contextual information should be included?}
  • Specific Handling Patterns:
    • External API Calls: {e.g., Use try/catch, check response codes, implement retries with backoff for transient errors?}
    • Input Validation: {Where and how is input validated?}
    • Graceful Degradation vs. Critical Failure: {Define criteria for when to continue vs. halt.}

Security Best Practices

{Outline key security considerations relevant to the codebase.}

  • Input Sanitization/Validation: {...}
  • Secrets Management: {How are secrets handled in code? Reference docs/environment-vars.md regarding storage.}
  • Dependency Security: {Policy on checking for vulnerable dependencies.}
  • Authentication/Authorization Checks: {Where should these be enforced?}
  • {Other relevant practices...}

Change Log

Change Date Version Description Author
Initial draft YYYY-MM-DD 0.1 Initial draft {Agent/Person}
... ... ... ... ...