jdd-sprint-kit 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +253 -0
- package/bin/cli.js +48 -0
- package/compat/baseline.json +6 -0
- package/package.json +40 -0
- package/src/commands/compat-check.js +178 -0
- package/src/commands/init.js +267 -0
- package/src/commands/update.js +132 -0
- package/src/lib/adapters/codex.js +68 -0
- package/src/lib/copy.js +131 -0
- package/src/lib/detect.js +81 -0
- package/src/lib/fingerprint.js +152 -0
- package/src/lib/manifest.js +51 -0
- package/src/lib/merge.js +109 -0
- package/src/lib/prompts.js +196 -0
- package/templates/.claude/agents/auto-sprint.md +882 -0
- package/templates/.claude/agents/brownfield-scanner.md +259 -0
- package/templates/.claude/agents/deliverable-generator.md +429 -0
- package/templates/.claude/agents/judge-business.md +91 -0
- package/templates/.claude/agents/judge-quality.md +82 -0
- package/templates/.claude/agents/judge-security.md +80 -0
- package/templates/.claude/agents/scope-gate.md +219 -0
- package/templates/.claude/agents/worker.md +82 -0
- package/templates/.claude/commands/circuit-breaker.md +106 -0
- package/templates/.claude/commands/parallel.md +110 -0
- package/templates/.claude/commands/preview.md +85 -0
- package/templates/.claude/commands/specs.md +206 -0
- package/templates/.claude/commands/sprint.md +552 -0
- package/templates/.claude/commands/summarize-prd.md +290 -0
- package/templates/.claude/commands/validate.md +143 -0
- package/templates/.claude/hooks/desktop-notify.sh +9 -0
- package/templates/.claude/hooks/protect-readonly-paths.sh +42 -0
- package/templates/.claude/hooks/sprint-pre-compact.sh +42 -0
- package/templates/.claude/hooks/sprint-session-recovery.sh +33 -0
- package/templates/.claude/rules/bmad-mcp-search.md +97 -0
- package/templates/.claude/rules/bmad-sprint-guide.md +176 -0
- package/templates/.claude/rules/bmad-sprint-protocol.md +178 -0
- package/templates/.claude/settings.json +50 -0
- package/templates/.mcp.json.example +16 -0
- package/templates/_bmad/docs/architecture-to-epics-checklist.md +59 -0
- package/templates/_bmad/docs/blueprint-format-guide.md +387 -0
- package/templates/_bmad/docs/brownfield-context-format.md +167 -0
- package/templates/_bmad/docs/prd-format-guide.md +538 -0
- package/templates/_bmad/docs/sprint-input-format.md +496 -0
- package/templates/preview-template/.redocly.yaml +10 -0
- package/templates/preview-template/api/.gitkeep +0 -0
- package/templates/preview-template/index.html +12 -0
- package/templates/preview-template/package-lock.json +5547 -0
- package/templates/preview-template/package.json +33 -0
- package/templates/preview-template/public/mockServiceWorker.js +307 -0
- package/templates/preview-template/src/App.tsx +9 -0
- package/templates/preview-template/src/api/client.ts +32 -0
- package/templates/preview-template/src/components/.gitkeep +0 -0
- package/templates/preview-template/src/components/DevPanel.tsx +76 -0
- package/templates/preview-template/src/main.tsx +26 -0
- package/templates/preview-template/src/mocks/browser.ts +4 -0
- package/templates/preview-template/src/mocks/handlers.ts +3 -0
- package/templates/preview-template/src/pages/.gitkeep +0 -0
- package/templates/preview-template/src/vite-env.d.ts +1 -0
- package/templates/preview-template/tsconfig.json +21 -0
- package/templates/preview-template/vite.config.ts +6 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# Sprint Kit — BMad Method Execution Extension
|
|
2
|
+
|
|
3
|
+
> Core principle: **Human judgment is the only lasting asset. All AI artifacts are disposable and regenerable.**
|
|
4
|
+
>
|
|
5
|
+
> AI builds, humans judge. Human input raises generation quality; human judgment sets direction.
|
|
6
|
+
> — Judgment-Driven Development (`docs/judgment-driven-development.md`)
|
|
7
|
+
>
|
|
8
|
+
> Full product picture: `docs/blueprint.md` (§1 Problem ~ §8 Current State + Appendix)
|
|
9
|
+
|
|
10
|
+
## Language Protocol
|
|
11
|
+
|
|
12
|
+
### Config Loading
|
|
13
|
+
|
|
14
|
+
1. Read `_bmad/bmm/config.yaml` — extract `communication_language`, `document_output_language`
|
|
15
|
+
2. If not found, read `_bmad/core/config.yaml`
|
|
16
|
+
3. If neither found, default both to `English`
|
|
17
|
+
|
|
18
|
+
### Language Usage
|
|
19
|
+
|
|
20
|
+
- **User-facing output** (progress messages, confirmations, errors, JP summaries): use `{communication_language}`
|
|
21
|
+
- **Artifact content** (sprint-input.md body, specs, reports): use `{document_output_language}`
|
|
22
|
+
- **YAML keys, enum values, file paths**: always English (machine-parseable)
|
|
23
|
+
|
|
24
|
+
### Placeholder Interpretation
|
|
25
|
+
|
|
26
|
+
`{communication_language}` is a **directive**, not a literal variable. It means: "Output this message in the language specified by `communication_language` from config.yaml." Commands and agents reference this protocol rather than loading config independently.
|
|
27
|
+
|
|
28
|
+
### Context Passing Exception
|
|
29
|
+
|
|
30
|
+
`communication_language` and `document_output_language` are **environment metadata** — execution settings, not domain data. The Conductor may pass them as parameters. This is equivalent to a BMad agent loading config.yaml directly.
|
|
31
|
+
|
|
32
|
+
## Tool Stack
|
|
33
|
+
|
|
34
|
+
| Tool | Role |
|
|
35
|
+
|------|------|
|
|
36
|
+
| **BMad Method** | Base platform: agents, workflow engine, facilitation (`_bmad/`) |
|
|
37
|
+
| **Sprint Kit** | BMad execution extension: auto-pipeline, Specs, Deliverables, Prototype |
|
|
38
|
+
| **Claude Code** | AI IDE — agent execution environment |
|
|
39
|
+
| **Claude Code Native Teams** | Agent coordination, task dependency tracking (`Task`, `SendMessage`) |
|
|
40
|
+
| **gh CLI** | GitHub Issue/PR management |
|
|
41
|
+
|
|
42
|
+
## Route Selection
|
|
43
|
+
|
|
44
|
+
Sprint Kit offers 3 routes based on user's input readiness.
|
|
45
|
+
All routes converge into the same pipeline:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
[Input + Brownfield + BMad] → [Specs] → JP1 → [Deliverables] → JP2 → [Execute]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Sprint — When you have materials: AI builds, you judge
|
|
52
|
+
|
|
53
|
+
Use when meeting notes, references, or a brief exist as unstructured context.
|
|
54
|
+
AI auto-generates all planning artifacts; product expert judges at JP1/JP2.
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
Place materials in specs/{feature}/inputs/ → /sprint {feature-name}
|
|
58
|
+
Phase 0: Smart Launcher — analyze materials + generate sprint-input.md
|
|
59
|
+
→ @auto-sprint (auto-invoked)
|
|
60
|
+
Phase 1: Brownfield 2-Pass → BMad Auto-Pipeline → Specs 4-file
|
|
61
|
+
→ JP1: "Is this the right product for the customer?" (requirements judgment)
|
|
62
|
+
Phase 2: Deliverables (OpenAPI + DBML + BDD + Prototype)
|
|
63
|
+
→ JP2: "Is this the experience the customer wants?" (prototype judgment)
|
|
64
|
+
→ On approval: /parallel → /validate
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Guided — When exploration is needed: discover and define with AI
|
|
68
|
+
|
|
69
|
+
Use for new products, new markets, or idea-stage work requiring systematic exploration.
|
|
70
|
+
Build planning artifacts step-by-step through conversation with BMad agents.
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
BMad 12-step (human-AI dialogue):
|
|
74
|
+
/create-product-brief → /create-prd → /create-architecture → /create-epics
|
|
75
|
+
→ /specs → JP1 → /preview → JP2
|
|
76
|
+
→ /parallel → /validate
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Direct — When planning is complete: execute immediately
|
|
80
|
+
|
|
81
|
+
Use when finished PRD + Architecture + Epics already exist.
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
/specs → JP1 → /preview → JP2
|
|
85
|
+
→ /parallel → /validate
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Crossover
|
|
89
|
+
|
|
90
|
+
Routes are not fixed. Adapt as needed:
|
|
91
|
+
- Have materials but need deep exploration → use **Guided** route with materials as reference input
|
|
92
|
+
- No materials, just want a quick prototype → start **Sprint** with a one-line brief
|
|
93
|
+
- After completing BMad 12-step → same as **Direct** (`/specs` auto-detects BMad artifacts)
|
|
94
|
+
|
|
95
|
+
**Format compatibility**: All routes use the same BMad format (YAML frontmatter + workflow sections) for planning-artifacts. Sprint Kit artifacts are directly recognized by BMad workflows, and vice versa.
|
|
96
|
+
|
|
97
|
+
**Crossover support matrix**:
|
|
98
|
+
|
|
99
|
+
| Transition | Support | Description |
|
|
100
|
+
|------------|---------|-------------|
|
|
101
|
+
| Guided → Sprint Kit | ✅ | `/specs` auto-detects `_bmad-output/`. "Continue fast" |
|
|
102
|
+
| Sprint Kit → Guided deep-dive | ✅ | Guided agents read planning-artifacts for deeper exploration. "Start fast, explore deep" |
|
|
103
|
+
| Sprint Kit → BMad validate | ✅ | planning-artifacts/ directly usable |
|
|
104
|
+
| Sprint Kit → BMad Phase 4 | ⚠ | No auto-conversion. planning-artifacts are compatible, but tasks.md-specific data (DAG, Entropy, File Ownership) requires manual transfer |
|
|
105
|
+
|
|
106
|
+
**Sprint Kit-exclusive concepts**: Entropy Tolerance, File Ownership, DAG-based parallel execution, and SSOT Reference Priority are Sprint Kit-only concepts not present in BMad. They are optimized for `/parallel` execution and are not carried over when switching to BMad Phase 4.
|
|
107
|
+
|
|
108
|
+
**Scope Gate vs Implementation Readiness**: Sprint Kit's per-step Scope Gate is a finer-grained check than BMad's Implementation Readiness. If all Scope Gates PASS, BMad Implementation Readiness is also likely to pass. To run BMad `check-implementation-readiness` separately, reference planning-artifacts/ directly.
|
|
109
|
+
|
|
110
|
+
> For small tasks, use BMad Quick Flow: `/quick-spec` → `/dev-story` → `/code-review`
|
|
111
|
+
|
|
112
|
+
## BMad Agents
|
|
113
|
+
|
|
114
|
+
- Mary (Analyst): brainstorming, research, Product Brief
|
|
115
|
+
- John (PM): PRD, Epics & Stories
|
|
116
|
+
- Winston (Architect): Architecture, ADR
|
|
117
|
+
- Amelia (Dev): story implementation
|
|
118
|
+
- Bob (SM): Sprint Planning, story preparation
|
|
119
|
+
- Sally (UX Designer): UX Design
|
|
120
|
+
- Barry (Quick Flow Solo Dev): Quick Spec → Dev → Review
|
|
121
|
+
- Murat (Test Architect): Master Test Architect
|
|
122
|
+
- Paige (Tech Writer): Technical Documentation
|
|
123
|
+
|
|
124
|
+
## Sprint Agents
|
|
125
|
+
|
|
126
|
+
### Auto Sprint
|
|
127
|
+
- `@auto-sprint` — Sprint orchestration + Conductor 4 roles (Goal Tracking, Scope Gate, Budget, Redirect)
|
|
128
|
+
- `@scope-gate` — 3-stage validation (Structured Probe + Checklist + Holistic Review)
|
|
129
|
+
- `@brownfield-scanner` — MCP Brownfield collection (L1~L4)
|
|
130
|
+
- `@deliverable-generator` — Full-stack artifact generation (Specs + OpenAPI + DBML + BDD + Prototype)
|
|
131
|
+
|
|
132
|
+
### Execute
|
|
133
|
+
- `@worker` — Task implementation in isolated worktree + Specmatic API contract self-verification
|
|
134
|
+
- `@judge-quality` — Code structure, patterns, duplication, conventions + Specmatic contract compliance
|
|
135
|
+
- `@judge-security` — OWASP Top 10 vulnerabilities, injection, auth bypass
|
|
136
|
+
- `@judge-business` — Implementation verification against BMad PRD acceptance criteria
|
|
137
|
+
|
|
138
|
+
## Sprint Commands
|
|
139
|
+
|
|
140
|
+
- `/sprint` — **Sprint route**: Brief/materials → auto Specs + Deliverables + Prototype (2 JPs)
|
|
141
|
+
- `/specs` — **Specs generation**: Planning Artifacts → Specs 4-file
|
|
142
|
+
- `/preview` — **Deliverables generation**: Specs → OpenAPI + DBML + BDD + Prototype
|
|
143
|
+
- `/parallel` — Multi-agent parallel execution
|
|
144
|
+
- `/validate` — 3-Phase verification pipeline
|
|
145
|
+
- `/circuit-breaker` — Course correction
|
|
146
|
+
- `/summarize-prd` — PRD summary/analysis + feedback integration
|
|
147
|
+
|
|
148
|
+
## Project Structure
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
{project-root}/
|
|
152
|
+
├── CLAUDE.md # User project rules (not modified by Sprint Kit)
|
|
153
|
+
├── .mcp.json # MCP server configuration
|
|
154
|
+
├── .claude/
|
|
155
|
+
│ ├── rules/ # Sprint Kit rules
|
|
156
|
+
│ ├── agents/ # Sprint agents
|
|
157
|
+
│ └── commands/ # BMad + Sprint commands
|
|
158
|
+
├── _bmad/ # BMad Method (base platform)
|
|
159
|
+
│ ├── bmm/ # BMad agents, workflows
|
|
160
|
+
│ └── docs/ # Format guides (PRD, Blueprint, Sprint Input, etc.)
|
|
161
|
+
├── _bmad-output/ # BMad artifact output (Guided route)
|
|
162
|
+
│ └── planning-artifacts/ # Product Brief, PRD, Architecture, Epics
|
|
163
|
+
├── docs/ # Framework documentation
|
|
164
|
+
│ ├── blueprint.md # Product Blueprint (§1~§8 + Appendix)
|
|
165
|
+
│ └── judgment-driven-development.md # Design philosophy (JDD)
|
|
166
|
+
├── specs/ # Sprint artifacts (per feature)
|
|
167
|
+
│ └── {feature}/
|
|
168
|
+
│ ├── inputs/ # User originals + sprint-input.md
|
|
169
|
+
│ ├── planning-artifacts/ # BMad artifacts (Sprint/Direct route)
|
|
170
|
+
│ ├── brownfield-context.md # Frozen snapshot
|
|
171
|
+
│ ├── requirements.md
|
|
172
|
+
│ ├── design.md
|
|
173
|
+
│ ├── tasks.md
|
|
174
|
+
│ └── preview/ # React + MSW prototype
|
|
175
|
+
└── src/ # Source code
|
|
176
|
+
```
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# Sprint Execution Protocol
|
|
2
|
+
|
|
3
|
+
## BMad Artifact Writing Rules
|
|
4
|
+
|
|
5
|
+
- **When writing a PRD, always read `_bmad/docs/prd-format-guide.md` first and follow its format.** Comply with all rules: YAML frontmatter, section structure, FR/NFR quality criteria, Brownfield notation, etc.
|
|
6
|
+
|
|
7
|
+
## Brownfield Data Flow (Sprint x MCP)
|
|
8
|
+
|
|
9
|
+
Brownfield data is used at every Sprint phase. Sources are cumulatively collected from 3 origins: document-project, MCP, and local codebase.
|
|
10
|
+
|
|
11
|
+
| Phase | Brownfield Usage |
|
|
12
|
+
|-------|-----------------|
|
|
13
|
+
| **Phase 0 Step 0f** (pre-Sprint) | Detect document-project + MCP + build tools → determine topology + `brownfield_status` |
|
|
14
|
+
| **Pass 1: Broad Scan** (Sprint start) | Stage 0: consume document-project → Stage 1~4: MCP + local scan → brownfield-context.md **L1 + L2** |
|
|
15
|
+
| **BMad Phase 1-3** | Reference brownfield-context.md L1+L2 |
|
|
16
|
+
| **Pass 2: Targeted Scan** (post-Epics) | Reference Stage 0 data + backend-docs/client-docs MCP + local scan → brownfield-context.md **L3 + L4** |
|
|
17
|
+
| **Specs generation** (`/specs`) | Copy frozen snapshot (@deliverable-generator Stage 2) |
|
|
18
|
+
| **Parallel** (`/parallel`) | Workers read frozen snapshot |
|
|
19
|
+
| **Validate** (`/validate`) | Judges verify against brownfield-context.md |
|
|
20
|
+
|
|
21
|
+
## Causal Chain Propagation Flow (Optional)
|
|
22
|
+
|
|
23
|
+
Causal Chain is optional. Only propagated when user opts in during Phase 0.
|
|
24
|
+
|
|
25
|
+
| Phase | Causal Chain Usage |
|
|
26
|
+
|-------|-------------------|
|
|
27
|
+
| **Phase 0** (sprint.md) | Extract causal chain from Brief + References (opt-in) → record in sprint-input.md |
|
|
28
|
+
| **Product Brief** (Mary) | Layer 1+2 problem definition (when causal_chain provided) |
|
|
29
|
+
| **PRD** (John) | Classify FRs as core/enabling/supporting (when causal_chain provided); core FRs link to root_cause |
|
|
30
|
+
| **Scope Gate** | causal_alignment check (when sprint_input_path provided): FR classification validation + unlinked FR warnings |
|
|
31
|
+
| **JP1** | Advanced (Layer 3): Causal Chain Alignment + FR Linkage visualization (only when not feature_only) |
|
|
32
|
+
| **Validate** (@judge-business) | Verify that core FR implementations actually resolve root_cause (when causal_chain provided) |
|
|
33
|
+
|
|
34
|
+
## Brief Tracking Flow
|
|
35
|
+
|
|
36
|
+
| Phase | Brief Tracking Usage |
|
|
37
|
+
|-------|---------------------|
|
|
38
|
+
| **Phase 0** (sprint.md) | Decompose Brief into sentences + assign BRIEF-N IDs → record in sprint-input.md `brief_sentences` |
|
|
39
|
+
| **PRD** (John) | Tag each FR with `(source: BRIEF-N / DISC-N / AI-inferred)` |
|
|
40
|
+
| **JP1** | Section 1: Brief sentence ↔ FR mapping table. Warn on unmapped sentences |
|
|
41
|
+
| **JP1** | Section 2: Items beyond Brief (reference discovery vs AI inference, separated) |
|
|
42
|
+
|
|
43
|
+
### Tracking Source Determination
|
|
44
|
+
|
|
45
|
+
Tracking source is auto-determined by the `brief_sentences` field in sprint-input.md:
|
|
46
|
+
|
|
47
|
+
| Condition | Tracking Source | Route |
|
|
48
|
+
|-----------|----------------|-------|
|
|
49
|
+
| `brief_sentences` exists and is non-empty | BRIEF-N based tracking | Sprint route |
|
|
50
|
+
| `brief_sentences` missing or empty array | PRD Success Criteria > Measurable Outcomes | Guided / Direct route |
|
|
51
|
+
|
|
52
|
+
In either case:
|
|
53
|
+
- Verify each PRD FR maps to a tracking source item
|
|
54
|
+
- Present "original intent ↔ FR mapping table" at JP1
|
|
55
|
+
- Flag unmapped tracking source items as warnings
|
|
56
|
+
|
|
57
|
+
## Specs File Pattern
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
specs/{feature}/
|
|
61
|
+
├── inputs/ # Phase 0 (user originals + Sprint Input SSOT, read-only)
|
|
62
|
+
│ ├── brief.md # User Brief (AI-generated if only references exist)
|
|
63
|
+
│ ├── *.md / *.pdf / ... # Reference materials (optional)
|
|
64
|
+
│ └── sprint-input.md # Phase 0 auto-generated SSOT (includes Causal Chain)
|
|
65
|
+
│
|
|
66
|
+
├── planning-artifacts/ # BMad Phase 1-3 artifacts (retained per project)
|
|
67
|
+
│ ├── product-brief.md # Product Brief
|
|
68
|
+
│ ├── prd.md # PRD
|
|
69
|
+
│ ├── architecture.md # Architecture + ADR
|
|
70
|
+
│ ├── epics-and-stories.md # Epics & Stories
|
|
71
|
+
│ └── brownfield-context.md # L1~L4 raw collection (appended during work)
|
|
72
|
+
│
|
|
73
|
+
├── sprint-log.md # Sprint execution log (timeline + decisions + issues)
|
|
74
|
+
├── brownfield-context.md # Frozen snapshot (L1~L4, for Workers)
|
|
75
|
+
├── entity-dictionary.md # Entity Dictionary
|
|
76
|
+
├── requirements.md # PRD → requirements
|
|
77
|
+
├── design.md # Architecture → design
|
|
78
|
+
├── tasks.md # Epics → parallel tasks + Entropy + File Ownership
|
|
79
|
+
│
|
|
80
|
+
├── api-spec.yaml # OpenAPI 3.1 (API contract — shared by MSW Mock + Specmatic)
|
|
81
|
+
├── api-sequences.md # Mermaid sequence diagrams
|
|
82
|
+
├── schema.dbml # Database schema (DBML)
|
|
83
|
+
├── bdd-scenarios/ # Gherkin acceptance tests
|
|
84
|
+
├── state-machines/ # XState definitions (when applicable)
|
|
85
|
+
├── decision-log.md # ADRs + AI reasoning trace
|
|
86
|
+
├── traceability-matrix.md # FR → Design → Task → BDD → API mapping
|
|
87
|
+
├── key-flows.md # Key user flows step-by-step (for JP2 verification)
|
|
88
|
+
├── readiness.md # JP1/JP2 Readiness data (for Layer 0 auto-approval)
|
|
89
|
+
└── preview/ # React + MSW prototype (npm run dev)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Handoff Rules
|
|
93
|
+
|
|
94
|
+
### BMad → Execute (on Phase 3 completion)
|
|
95
|
+
|
|
96
|
+
When BMad Phase 3 passes Implementation Readiness:
|
|
97
|
+
1. Verify artifacts in `specs/{feature}/planning-artifacts/` (PRD, Architecture, Epics)
|
|
98
|
+
2. Run `/specs` to generate Specs 4-file
|
|
99
|
+
3. Tag Entropy Tolerance + assign File Ownership
|
|
100
|
+
|
|
101
|
+
### BMad Guided Route → Sprint Execution
|
|
102
|
+
|
|
103
|
+
When BMad 12-step artifacts exist in `_bmad-output/planning-artifacts/`:
|
|
104
|
+
1. `/specs` auto-discovers and places them into `specs/{feature}/planning-artifacts/`
|
|
105
|
+
2. `/specs` runs without sprint-input.md
|
|
106
|
+
3. Goals are extracted from PRD's Success Criteria > Measurable Outcomes
|
|
107
|
+
4. Brownfield scan runs normally within `/specs`
|
|
108
|
+
|
|
109
|
+
### On Worker Completion
|
|
110
|
+
|
|
111
|
+
When a Worker completes a task:
|
|
112
|
+
1. Mark task as completed via TaskUpdate
|
|
113
|
+
2. Close GitHub Issue via `gh issue close`
|
|
114
|
+
3. Notify dependent Workers via SendMessage
|
|
115
|
+
|
|
116
|
+
### On Circuit Breaker Trigger
|
|
117
|
+
|
|
118
|
+
- 3 consecutive or 5 cumulative VALIDATE failures in the same category → `/circuit-breaker` auto-triggers
|
|
119
|
+
- Minor → fix specs → re-execute
|
|
120
|
+
- Major → re-run Auto Sprint Phase 1 (non-Auto Sprint: BMad `/bmad/bmm/workflows/correct-course`)
|
|
121
|
+
|
|
122
|
+
## File Ownership Rules
|
|
123
|
+
|
|
124
|
+
Rules to prevent file conflicts during PARALLEL phase:
|
|
125
|
+
1. Each task's owned files are declared in `specs/{feature}/tasks.md`
|
|
126
|
+
2. Workers may only modify files assigned to them
|
|
127
|
+
3. Shared type/interface files are created before PARALLEL starts
|
|
128
|
+
4. To modify shared files, request via SendMessage to team lead
|
|
129
|
+
|
|
130
|
+
## Judgment Point Criteria
|
|
131
|
+
|
|
132
|
+
JPs are not technical quality gates — they are customer-lens judgment moments for product experts.
|
|
133
|
+
See `docs/judgment-driven-development.md` Customer-Lens Judgment Points.
|
|
134
|
+
|
|
135
|
+
### JP1: "Is this the right product for the customer?"
|
|
136
|
+
|
|
137
|
+
- **Judgment target**: requirements, user scenarios, feature scope, priorities
|
|
138
|
+
- **Presentation format**: customer journey narrative + original intent ↔ FR mapping + structural checklist
|
|
139
|
+
- **Response**: Confirm / Comment
|
|
140
|
+
|
|
141
|
+
### JP2: "Is this the experience the customer wants?"
|
|
142
|
+
|
|
143
|
+
- **Judgment target**: prototype, screen flows, interactions
|
|
144
|
+
- **Presentation format**: working prototype + key scenario walkthrough guide
|
|
145
|
+
- **Response**: Confirm / Comment
|
|
146
|
+
|
|
147
|
+
### Comment Handling Flow
|
|
148
|
+
|
|
149
|
+
When Comment is selected at a JP, the following flow applies.
|
|
150
|
+
This flow handles Party Mode discoveries, Advanced Elicitation results, and direct feedback identically.
|
|
151
|
+
Regardless of how the feedback was discovered, the processing mechanism is the same.
|
|
152
|
+
|
|
153
|
+
1. **Feedback input**: User provides modification details as free text
|
|
154
|
+
2. **Impact analysis**: System analyzes feedback scope and produces:
|
|
155
|
+
- For apply-fix: list of affected files (upstream + downstream) + estimated time
|
|
156
|
+
- For regenerate: restart Phase + estimated time
|
|
157
|
+
3. **Present options**: Two options with cost:
|
|
158
|
+
- **Apply fix + propagate**: Direct edits in existing artifacts + bidirectional propagation to dependent files (N files, ~M min)
|
|
159
|
+
- **Regenerate**: Re-run pipeline from the affected Phase (~M min)
|
|
160
|
+
4. **User selects**: User chooses based on cost
|
|
161
|
+
5. **Execute + verify**:
|
|
162
|
+
- Apply fix: edit all files → mandatory Scope Gate verification → return to JP on PASS
|
|
163
|
+
- Regenerate: re-run pipeline from the affected Phase → includes Scope Gate
|
|
164
|
+
|
|
165
|
+
### Regeneration Scope Reference Table
|
|
166
|
+
|
|
167
|
+
Guide for determining regeneration start point based on feedback magnitude:
|
|
168
|
+
|
|
169
|
+
| Feedback Magnitude | JP1 Regeneration Scope | JP2 Regeneration Scope |
|
|
170
|
+
|-------------------|----------------------|----------------------|
|
|
171
|
+
| Direction change (what to build changes) | Abort Sprint → edit brief.md → restart | Phase 1 from start (PRD onward, re-pass JP1) |
|
|
172
|
+
| Scope/UX change | From PRD (Step 2b) | From PRD (Step 2b, re-pass JP1) |
|
|
173
|
+
| Technical/design change | From Architecture (Step 2c) | From affected BMad step (re-pass JP1) |
|
|
174
|
+
| Task structure change | Regenerate Specs (Step 3) | Regenerate Deliverables only (Step 5) |
|
|
175
|
+
| Spec/prototype adjustment | N/A | Regenerate Deliverables only (Step 5) |
|
|
176
|
+
|
|
177
|
+
This table is a reference for the system when calculating regeneration scope during impact analysis.
|
|
178
|
+
Users see the calculated cost alongside the options.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"PreCompact": [
|
|
4
|
+
{
|
|
5
|
+
"hooks": [
|
|
6
|
+
{
|
|
7
|
+
"type": "command",
|
|
8
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/sprint-pre-compact.sh",
|
|
9
|
+
"timeout": 10
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"SessionStart": [
|
|
15
|
+
{
|
|
16
|
+
"matcher": "compact",
|
|
17
|
+
"hooks": [
|
|
18
|
+
{
|
|
19
|
+
"type": "command",
|
|
20
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/sprint-session-recovery.sh",
|
|
21
|
+
"timeout": 10
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"PreToolUse": [
|
|
27
|
+
{
|
|
28
|
+
"matcher": "Write|Edit",
|
|
29
|
+
"hooks": [
|
|
30
|
+
{
|
|
31
|
+
"type": "command",
|
|
32
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/protect-readonly-paths.sh",
|
|
33
|
+
"timeout": 5
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"Notification": [
|
|
39
|
+
{
|
|
40
|
+
"hooks": [
|
|
41
|
+
{
|
|
42
|
+
"type": "command",
|
|
43
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/desktop-notify.sh",
|
|
44
|
+
"timeout": 5
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"my-backend-docs": {
|
|
4
|
+
"command": "sh",
|
|
5
|
+
"args": ["-c", "npx -y @modelcontextprotocol/server-filesystem ~/path/to/backend-docs"]
|
|
6
|
+
},
|
|
7
|
+
"my-client-docs": {
|
|
8
|
+
"command": "sh",
|
|
9
|
+
"args": ["-c", "npx -y @modelcontextprotocol/server-filesystem ~/path/to/client-docs"]
|
|
10
|
+
},
|
|
11
|
+
"my-svc-map": {
|
|
12
|
+
"command": "sh",
|
|
13
|
+
"args": ["-c", "npx -y @modelcontextprotocol/server-filesystem path/to/svc-map-data"]
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Architecture → Epics 변환 체크리스트
|
|
2
|
+
|
|
3
|
+
Architecture 문서에서 Epics & Stories로 변환할 때 누락되기 쉬운 항목을 점검합니다.
|
|
4
|
+
이 체크리스트는 create-epics-and-stories 워크플로우의 Step 1 (Validate Prerequisites)에서 참조합니다.
|
|
5
|
+
|
|
6
|
+
## 1. FR → Story 매핑 완전성
|
|
7
|
+
|
|
8
|
+
- [ ] 모든 FR이 최소 1개 Story에 매핑되었는가?
|
|
9
|
+
- [ ] FR Coverage Map에 누락된 FR이 없는가?
|
|
10
|
+
- [ ] Phase별 FR이 올바른 Epic에 배치되었는가? (Phase 1a FR이 Phase 1b Epic에 있지 않은가?)
|
|
11
|
+
|
|
12
|
+
## 2. BROWNFIELD 태그 전파
|
|
13
|
+
|
|
14
|
+
- [ ] PRD의 `[BROWNFIELD]` 태그가 Story에 전파되었는가?
|
|
15
|
+
- [ ] Story의 Tags에 `(기존 확장)` vs `(신규)` 구분이 정확한가?
|
|
16
|
+
- [ ] brownfield-context.md의 L2/L3 발견 사항이 관련 Story의 Brownfield 필드에 반영되었는가?
|
|
17
|
+
- [ ] 기존 확장 Story에 확장 대상 서비스/컴포넌트명이 명시되었는가?
|
|
18
|
+
|
|
19
|
+
## 3. Architecture 결정 → Story AC 반영
|
|
20
|
+
|
|
21
|
+
| Architecture 결정 | Story에 반영되어야 할 항목 |
|
|
22
|
+
|-------------------|--------------------------|
|
|
23
|
+
| DDD 패키지 구조 | Story AC에 패키지 경로 명시 |
|
|
24
|
+
| 캐시 전략 (Redis Set) | 캐시 관련 Story에 구체적 Redis 명령어 |
|
|
25
|
+
| 레이스 컨디션 방지 (Redis Lock) | API Story AC에 Lock 사양 명시 |
|
|
26
|
+
| AOP 감사 로깅 | 감사 로깅 Story에 @BizLog 활용 명시 |
|
|
27
|
+
| 피처 플래그 | 각 Phase Story에 Flagsmith 플래그명 |
|
|
28
|
+
| 크로스 프레임워크 브릿지 | Vue↔React 전환 Story에 bridge 함수명 |
|
|
29
|
+
| DB 테이블 네이밍 | 엔티티 Story에 le_ prefix 준수 명시 |
|
|
30
|
+
|
|
31
|
+
## 4. NFR → Story 반영
|
|
32
|
+
|
|
33
|
+
- [ ] 성능 NFR이 관련 Story의 AC에 수치로 반영되었는가? (예: NFR1 → Story 2.6 AC "< 1초")
|
|
34
|
+
- [ ] 보안 NFR이 인증/권한 Story의 AC에 반영되었는가?
|
|
35
|
+
- [ ] 접근성 NFR이 UI Story의 AC에 반영되었는가? (WCAG, 터치 타겟)
|
|
36
|
+
- [ ] 신뢰성 NFR이 교차 검증 Story의 AC에 반영되었는가?
|
|
37
|
+
|
|
38
|
+
## 5. Story 크기 & 의존성
|
|
39
|
+
|
|
40
|
+
- [ ] 모든 Story가 단일 개발자 세션에 완료 가능한 크기인가?
|
|
41
|
+
- [ ] 3개 이상의 독립적 관심사를 포함하는 Story가 없는가? (Entity + Cache + Logging → 분할 필요)
|
|
42
|
+
- [ ] Dependencies/Enables 필드가 모든 Story에 존재하는가?
|
|
43
|
+
- [ ] 순환 의존성이 없는가?
|
|
44
|
+
- [ ] 전방 의존성(미래 Story에 의존)이 없는가?
|
|
45
|
+
|
|
46
|
+
## 6. Phase 독립성
|
|
47
|
+
|
|
48
|
+
- [ ] Phase 1a Epic은 Phase 1b 없이 독립 배포 가능한가?
|
|
49
|
+
- [ ] Phase 1b Epic은 Phase 1a 위에서 독립 배포 가능한가?
|
|
50
|
+
- [ ] Growth Epic은 Phase 1a+1b 위에서 독립 배포 가능한가?
|
|
51
|
+
- [ ] 각 Phase 내 Epic 간 순환 의존이 없는가?
|
|
52
|
+
|
|
53
|
+
## 사용법
|
|
54
|
+
|
|
55
|
+
Epic 워크플로우의 Step 1 또는 Step 4 (Final Validation)에서:
|
|
56
|
+
```
|
|
57
|
+
이 체크리스트를 로드하여 누락 항목을 점검한다:
|
|
58
|
+
_bmad/docs/architecture-to-epics-checklist.md
|
|
59
|
+
```
|