Module Documentation Template
Status: Template · Copy to MODULES/{product}/{module-name}.md
markdown
# ModuleName
**Product:** PRD-XXX
**Status:** Draft | Canonical
**Owner:** Module team
**Last updated:** YYYY-MM-DD
---
## Purpose
Single responsibility of this bounded context.
## Responsibilities
- Owns: …
- Does not own: …
## Folder structureapp/Modules/ModuleName/ ├── Domain/ ├── Application/ ├── Infrastructure/ ├── Http/ ├── Providers/ ├── Database/ └── Tests/
## Public API
| Surface | Type | Notes |
|---|---|---|
| `*Contract` | Contract | Cross-module access |
| Domain events | Events | Async integration |
## Dependencies
| Dependency | Access method |
|---|---|
| OtherModule | Contract only |
**Forbidden:** Direct Infrastructure imports from other modules.
## Events
### Published
| Event | When |
### Consumed
| Event | Handler |
## Contracts
## DTOs
## Examples
## Extension points
How to extend without violating freeze.
## Related
- [MODULE_BOUNDARIES](../../architecture/MODULE_BOUNDARIES.md) (product repo)
- [MODULES/README.md](../README.md)
## Breadcrumbs
Home → Modules → PRD-XXX → ModuleName