Files
gh-anthemflynn-ccmp-plugins…/skills/session-management/assets/architecture-template.md
2025-11-29 17:55:18 +08:00

2.3 KiB

Project Architecture

Architecture Pattern

Pattern: [Hexagonal / Layered / Microservices / MVC / Clean / DDD]

Core Principles

  • [Principle 1]
  • [Principle 2]
  • [Principle 3]

Project Structure

[Your project structure here]

Example for hexagonal:
src/
├── domain/         # Business logic (no external dependencies)
│   ├── models/     # Domain models
│   ├── services/   # Business services
│   └── exceptions/ # Domain exceptions
├── ports/          # Interface definitions (contracts)
│   ├── repositories/  # Data access interfaces
│   └── providers/     # External service interfaces
├── adapters/       # External integrations
│   ├── database/   # Database implementations
│   ├── api/        # External API clients
│   └── messaging/  # Message queue adapters
└── application/    # Use case orchestration
    └── usecases/   # Application use cases

Key Interfaces

List the important interfaces/contracts in your system:

  • [IRepository]: [Description]
  • [IService]: [Description]
  • [IProvider]: [Description]

Architectural Decisions

Document major architectural decisions:

Decision 1: [Title]

Date: [YYYY-MM-DD]
Context: [Why this was needed]
Decision: [What was decided]
Rationale: [Why this approach]

Decision 2: [Title]

Date: [YYYY-MM-DD]
Context: [Why this was needed]
Decision: [What was decided]
Rationale: [Why this approach]

Patterns & Practices

Design Patterns Used

  • [Pattern Name]: [Where and why used]
  • [Pattern Name]: [Where and why used]

Best Practices

  • [Practice 1]
  • [Practice 2]
  • [Practice 3]

Dependencies Flow

Describe how dependencies flow in your architecture:

[Dependency flow diagram or description]

Example for hexagonal:
Outside → Adapters → Ports → Domain
         ↑                    ↓
         ← Application ←──────

Testing Strategy

  • Unit Tests: [What to unit test and how]
  • Integration Tests: [Integration boundaries]
  • E2E Tests: [End-to-end scenarios]

Notes for Developers

Additional guidance for developers working in this codebase:

  • [Important note 1]
  • [Important note 2]
  • [Important note 3]