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

95 lines
2.3 KiB
Markdown

# 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]