mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-14 02:42:04 +08:00
Requirements, architecture, and epics now output as directories with individual files per design point (_index.md + REQ-*.md/ADR-*.md/EPIC-*.md), linked via relative paths for better referencing and downstream consumption. Phase 6 handoff bridge simplified to read directly from individual EPIC files.
197 lines
5.1 KiB
Markdown
197 lines
5.1 KiB
Markdown
# Epics & Stories Template (Directory Structure)
|
|
|
|
Template for generating epic/story breakdown as a directory of individual Epic files in Phase 5.
|
|
|
|
## Usage Context
|
|
|
|
| Phase | Usage |
|
|
|-------|-------|
|
|
| Phase 5 (Epics & Stories) | Generate `epics/` directory from requirements decomposition |
|
|
| Output Location | `{workDir}/epics/` |
|
|
|
|
## Output Structure
|
|
|
|
```
|
|
{workDir}/epics/
|
|
├── _index.md # Overview table + dependency map + MVP scope + execution order
|
|
├── EPIC-001-{slug}.md # Individual Epic with its Stories
|
|
├── EPIC-002-{slug}.md
|
|
└── ...
|
|
```
|
|
|
|
---
|
|
|
|
## Template: _index.md
|
|
|
|
```markdown
|
|
---
|
|
session_id: {session_id}
|
|
phase: 5
|
|
document_type: epics-index
|
|
status: draft
|
|
generated_at: {timestamp}
|
|
version: 1
|
|
dependencies:
|
|
- ../spec-config.json
|
|
- ../product-brief.md
|
|
- ../requirements/_index.md
|
|
- ../architecture/_index.md
|
|
---
|
|
|
|
# Epics & Stories: {product_name}
|
|
|
|
{executive_summary - overview of epic structure and MVP scope}
|
|
|
|
## Epic Overview
|
|
|
|
| Epic ID | Title | Priority | MVP | Stories | Est. Size |
|
|
|---------|-------|----------|-----|---------|-----------|
|
|
| [EPIC-001](EPIC-001-{slug}.md) | {title} | Must | Yes | {n} | {S/M/L/XL} |
|
|
| [EPIC-002](EPIC-002-{slug}.md) | {title} | Must | Yes | {n} | {S/M/L/XL} |
|
|
| [EPIC-003](EPIC-003-{slug}.md) | {title} | Should | No | {n} | {S/M/L/XL} |
|
|
|
|
## Dependency Map
|
|
|
|
```mermaid
|
|
graph LR
|
|
EPIC-001 --> EPIC-002
|
|
EPIC-001 --> EPIC-003
|
|
EPIC-002 --> EPIC-004
|
|
EPIC-003 --> EPIC-005
|
|
```
|
|
|
|
### Dependency Notes
|
|
{explanation of why these dependencies exist and suggested execution order}
|
|
|
|
### Recommended Execution Order
|
|
1. [EPIC-{NNN}](EPIC-{NNN}-{slug}.md): {reason - foundational}
|
|
2. [EPIC-{NNN}](EPIC-{NNN}-{slug}.md): {reason - depends on #1}
|
|
3. ...
|
|
|
|
## MVP Scope
|
|
|
|
### MVP Epics
|
|
{list of epics included in MVP with justification, linking to each}
|
|
|
|
### MVP Definition of Done
|
|
- [ ] {MVP completion criterion 1}
|
|
- [ ] {MVP completion criterion 2}
|
|
- [ ] {MVP completion criterion 3}
|
|
|
|
## Traceability Matrix
|
|
|
|
| Requirement | Epic | Stories | Architecture |
|
|
|-------------|------|---------|--------------|
|
|
| [REQ-001](../requirements/REQ-001-{slug}.md) | [EPIC-001](EPIC-001-{slug}.md) | STORY-001-001, STORY-001-002 | [ADR-001](../architecture/ADR-001-{slug}.md) |
|
|
| [REQ-002](../requirements/REQ-002-{slug}.md) | [EPIC-001](EPIC-001-{slug}.md) | STORY-001-003 | Component B |
|
|
| [REQ-003](../requirements/REQ-003-{slug}.md) | [EPIC-002](EPIC-002-{slug}.md) | STORY-002-001 | [ADR-002](../architecture/ADR-002-{slug}.md) |
|
|
|
|
## Estimation Summary
|
|
|
|
| Size | Meaning | Count |
|
|
|------|---------|-------|
|
|
| S | Small - well-understood, minimal risk | {n} |
|
|
| M | Medium - some complexity, moderate risk | {n} |
|
|
| L | Large - significant complexity, should consider splitting | {n} |
|
|
| XL | Extra Large - high complexity, must split before implementation | {n} |
|
|
|
|
## Risks & Considerations
|
|
|
|
| Risk | Affected Epics | Mitigation |
|
|
|------|---------------|------------|
|
|
| {risk description} | [EPIC-{NNN}](EPIC-{NNN}-{slug}.md) | {mitigation} |
|
|
|
|
## Open Questions
|
|
|
|
- [ ] {question about scope or implementation 1}
|
|
- [ ] {question about scope or implementation 2}
|
|
|
|
## References
|
|
|
|
- Derived from: [Requirements](../requirements/_index.md), [Architecture](../architecture/_index.md)
|
|
- Handoff to: execution workflows (lite-plan, plan, req-plan)
|
|
```
|
|
|
|
---
|
|
|
|
## Template: EPIC-NNN-{slug}.md (Individual Epic)
|
|
|
|
```markdown
|
|
---
|
|
id: EPIC-{NNN}
|
|
priority: {Must|Should|Could}
|
|
mvp: {true|false}
|
|
size: {S|M|L|XL}
|
|
requirements: [REQ-{NNN}]
|
|
architecture: [ADR-{NNN}]
|
|
dependencies: [EPIC-{NNN}]
|
|
status: draft
|
|
---
|
|
|
|
# EPIC-{NNN}: {epic_title}
|
|
|
|
**Priority**: {Must|Should|Could}
|
|
**MVP**: {Yes|No}
|
|
**Estimated Size**: {S|M|L|XL}
|
|
|
|
## Description
|
|
|
|
{detailed epic description}
|
|
|
|
## Requirements
|
|
|
|
- [REQ-{NNN}](../requirements/REQ-{NNN}-{slug}.md): {title}
|
|
- [REQ-{NNN}](../requirements/REQ-{NNN}-{slug}.md): {title}
|
|
|
|
## Architecture
|
|
|
|
- [ADR-{NNN}](../architecture/ADR-{NNN}-{slug}.md): {title}
|
|
- Component: {component_name}
|
|
|
|
## Dependencies
|
|
|
|
- [EPIC-{NNN}](EPIC-{NNN}-{slug}.md) (blocking): {reason}
|
|
- [EPIC-{NNN}](EPIC-{NNN}-{slug}.md) (soft): {reason}
|
|
|
|
## Stories
|
|
|
|
### STORY-{EPIC}-001: {story_title}
|
|
|
|
**User Story**: As a {persona}, I want to {action} so that {benefit}.
|
|
|
|
**Acceptance Criteria**:
|
|
- [ ] {criterion 1}
|
|
- [ ] {criterion 2}
|
|
- [ ] {criterion 3}
|
|
|
|
**Size**: {S|M|L|XL}
|
|
**Traces to**: [REQ-{NNN}](../requirements/REQ-{NNN}-{slug}.md)
|
|
|
|
---
|
|
|
|
### STORY-{EPIC}-002: {story_title}
|
|
|
|
**User Story**: As a {persona}, I want to {action} so that {benefit}.
|
|
|
|
**Acceptance Criteria**:
|
|
- [ ] {criterion 1}
|
|
- [ ] {criterion 2}
|
|
|
|
**Size**: {S|M|L|XL}
|
|
**Traces to**: [REQ-{NNN}](../requirements/REQ-{NNN}-{slug}.md)
|
|
```
|
|
|
|
---
|
|
|
|
## Variable Descriptions
|
|
|
|
| Variable | Source | Description |
|
|
|----------|--------|-------------|
|
|
| `{session_id}` | spec-config.json | Session identifier |
|
|
| `{timestamp}` | Runtime | ISO8601 generation timestamp |
|
|
| `{product_name}` | product-brief.md | Product/feature name |
|
|
| `{EPIC}` | Auto-increment | Epic number (3 digits) |
|
|
| `{NNN}` | Auto-increment | Story/requirement number |
|
|
| `{slug}` | Auto-generated | Kebab-case from epic/story title |
|
|
| `{S\|M\|L\|XL}` | CLI analysis | Relative size estimate |
|