| name | adr |
| description | Manage architecture decisions, gaps, and suggestions |
| argument-hint | [check|gaps|suggest|poll|create|review] |
Architecture Decision Management
Manage ADRs, track gaps, and process suggestions.
Configuration
Before performing any action below, resolve the ADR root once:
- Look for
./.adr-config.yml at the project root.
- If present and it defines
adr_root, use that value as {adr_root}.
- Otherwise, default
{adr_root} to dev_communication/shared/architecture.
Every {adr_root}/… path in the rest of this document refers to the resolved value. Substitute it before acting.
Example .adr-config.yml
adr_root: docs/architecture
A project that uses the default layout does not need a config file. See .adr-config.yml.example at the submodule root for the canonical template.
Actions
Based on arguments or user request, perform one of these actions:
1. STATUS (default - no arguments)
Show current architecture status.
Trigger: /adr, /adr status
Steps:
- Read
{adr_root}/index.md
- Count files in
{adr_root}/suggestions/
- Read
{adr_root}/gaps/index.md for gap count
- Read
{adr_root}/decision-log.md for ADR count
Output:
## Architecture Status
### ADRs: [count] documented
- [count] Accepted
- [count] Proposed
### Gaps: [count] known
- [count] High priority
- [count] Medium priority
### Suggestions: [count] pending review
Use `/adr check` for full analysis.
2. CHECK - Full Traversal & Analysis
Trigger: /adr check, /adr check [domain]
Steps:
- Read architecture index:
{adr_root}/index.md
- Read decision log:
{adr_root}/decision-log.md
- Scan all ADRs in:
{adr_root}/decisions/*.md
- For each ADR extract: ID, Title, Status, Domain
- Compare against expected architecture areas
- Read
{adr_root}/gaps/index.md
- Generate comprehensive report
3. GAPS - Gap Analysis Only
Trigger: /adr gaps
Steps:
- Read
{adr_root}/gaps/index.md
- For each gap, summarize: Domain, Priority, Suggested ADR
- Recommend top 3 to address
4. SUGGEST - Create Architecture Suggestion
Trigger: /adr suggest, /adr suggest [topic]
Steps:
- If no topic, ask for: Topic, Context, Teams affected, Priority
- Generate filename:
YYYY-MM-DD_{team}_{topic_slug}.md
- Create in
{adr_root}/suggestions/
- Confirm created
5. POLL - Scan Messages/Issues for Architecture Decisions
Trigger: /adr poll
Steps:
- Scan messaging directories for unprocessed messages
- Scan active issues
- Look for keywords: "architecture", "pattern", "design decision", "convention"
- Report findings and suggest actions
6. CREATE - Create ADR
Trigger: /adr create, /adr create [suggestion-file]
Steps:
- If suggestion file provided, use content to populate ADR
- Otherwise ask for: Domain, Title, Context, Decision, Consequences
- Read template from
{adr_root}/templates/adr-template.md
- Save to:
{adr_root}/decisions/ADR-{DOMAIN}-{NNN}-{TITLE}.md
- Update:
{adr_root}/decision-log.md
- Update:
{adr_root}/index.md
- If from suggestion, archive the suggestion
- If gap addressed, update gaps index
- Confirm created
7. REVIEW - Review/Update Existing ADR
Trigger: /adr review [ADR-ID]
Steps:
- Read the ADR from
{adr_root}/decisions/
- Check for staleness, missing links, implementation drift
- Suggest updates if needed
- If user approves, update the ADR
- Update decision log if status changed
File Locations
{adr_root}/
├── index.md # Main hub
├── decision-log.md # Chronological ADR list
├── decisions/ # ADR files
├── templates/ # ADR template
├── suggestions/ # Pending suggestions
└── gaps/ # Gap tracker