bmad-plus 0.12.2 → 0.14.0
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/CHANGELOG.md +47 -0
- package/README.md +96 -461
- package/package.json +12 -5
- package/readme-international/README.de.md +42 -9
- package/readme-international/README.es.md +43 -10
- package/readme-international/README.fr.md +42 -9
- package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +5 -3
- package/src/bmad-plus/module.yaml +270 -220
- package/src/bmad-plus/packs/pack-dev-studio/README.md +133 -141
- package/src/bmad-plus/packs/pack-dev-studio/SKILL.md +49 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +35 -60
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +59 -59
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +55 -93
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +58 -93
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +55 -132
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +63 -78
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +54 -69
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +54 -93
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +32 -60
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +67 -71
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +61 -90
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +56 -78
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +55 -88
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +20 -153
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +20 -173
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +14 -220
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +20 -329
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +15 -314
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +15 -355
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +15 -375
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +14 -357
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +13 -78
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +52 -65
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +14 -81
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +14 -31
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +14 -45
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +13 -128
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +61 -87
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +55 -298
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +52 -426
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +48 -69
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +22 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +60 -482
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +50 -184
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +57 -173
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +56 -108
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +54 -1509
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +54 -296
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +41 -283
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +58 -18
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +103 -72
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +55 -27
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +34 -60
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +46 -87
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/steps/step-01-init.md +10 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +30 -60
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +57 -27
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +47 -138
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +48 -34
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +51 -68
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +46 -3
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +68 -109
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +53 -174
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +39 -53
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +45 -83
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +45 -176
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +45 -63
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +53 -124
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +44 -100
- package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +56 -116
- package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +49 -12
- package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +51 -328
- package/src/bmad-plus/packs/pack-dev-studio/shared/catalog.json +489 -0
- package/src/bmad-plus/packs/pack-dev-studio/shared/execution.md +69 -0
- package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +39 -32
- package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +85 -14
- package/src/bmad-plus/packs/pack-memory/README.md +6 -0
- package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +12 -5
- package/src/bmad-plus/packs/pack-seo/SKILL.md +27 -1
- package/src/bmad-plus/packs/pack-seo/scripts/seo_apis.py +8 -8
- package/src/bmad-plus/packs/pack-seo/scripts/seo_fetch.py +1 -2
- package/src/bmad-plus/packs/pack-seo/scripts/seo_report.py +0 -1
- package/src/bmad-plus/packs/pack-seo/seo-chief.md +16 -1
- package/src/bmad-plus/packs/pack-seo/seo-judge.md +12 -0
- package/src/bmad-plus/packs/pack-seo/seo-scout.md +12 -0
- package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +4 -4
- package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +5 -3
- package/src/bmad-plus/skills/dev-studio/SKILL.md +19 -0
- package/tools/bmad-plus-npx.js +4 -2
- package/tools/build/adapters.config.js +60 -51
- package/tools/build/check-counts.js +52 -54
- package/tools/build/check-install-contract.js +450 -0
- package/tools/build/generate-adapters.js +252 -56
- package/tools/build/generate.js +364 -14
- package/tools/build/generated-adapters/.codex/AGENTS.md +20 -7
- package/tools/build/generated-adapters/.cursor/rules/bmad-plus.mdc +20 -7
- package/tools/build/generated-adapters/.opencode/AGENTS.md +20 -7
- package/tools/build/generated-adapters/AGENTS.md +20 -7
- package/tools/build/generated-adapters/CLAUDE.md +20 -7
- package/tools/build/generated-adapters/CONVENTIONS.md +20 -7
- package/tools/build/generated-adapters/GEMINI.md +20 -7
- package/tools/build/module.template.yaml +82 -0
- package/tools/build/pack-delivery.js +78 -0
- package/tools/cli/bmad-plus-cli.js +16 -1
- package/tools/cli/commands/doctor.js +49 -217
- package/tools/cli/commands/install.js +109 -164
- package/tools/cli/commands/studio.js +68 -0
- package/tools/cli/commands/uninstall.js +173 -65
- package/tools/cli/commands/update-check.js +31 -0
- package/tools/cli/commands/update-policy.js +39 -0
- package/tools/cli/commands/update.js +102 -113
- package/tools/cli/i18n.js +60 -0
- package/tools/cli/lib/ide-config.js +4 -261
- package/tools/cli/lib/install-manifest.js +17 -0
- package/tools/cli/lib/installation-health.js +360 -0
- package/tools/cli/lib/installed-adapters.js +89 -0
- package/tools/cli/lib/npm-runner.js +177 -0
- package/tools/cli/lib/pack-copy.js +62 -66
- package/tools/cli/lib/packs.js +546 -3
- package/tools/cli/lib/python-health.js +233 -0
- package/tools/cli/lib/python-provision.js +2 -2
- package/tools/cli/lib/studio.js +310 -0
- package/tools/cli/lib/update-check.js +153 -0
- package/tools/cli/lib/update-dispatch.js +182 -0
- package/tools/cli/lib/update-policy.js +90 -0
- package/tools/cli/lib/update-transaction.js +334 -0
- package/tools/release/publication-content.js +901 -0
|
@@ -1,299 +1,57 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
2
|
name: bmad-sprint-planning
|
|
3
|
-
description:
|
|
3
|
+
description: Build a feasible sprint proposal from a supplied backlog while preserving existing status.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Sprint
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
Execute each entry in `{workflow.activation_steps_append}` in order.
|
|
60
|
-
|
|
61
|
-
Activation is complete. Begin the workflow below.
|
|
62
|
-
|
|
63
|
-
## Paths
|
|
64
|
-
|
|
65
|
-
- `tracking_system` = `file-system`
|
|
66
|
-
- `project_key` = `NOKEY`
|
|
67
|
-
- `story_location` = `{implementation_artifacts}`
|
|
68
|
-
- `story_location_absolute` = `{implementation_artifacts}`
|
|
69
|
-
- `epics_location` = `{planning_artifacts}`
|
|
70
|
-
- `epics_pattern` = `*epic*.md`
|
|
71
|
-
- `status_file` = `{implementation_artifacts}/sprint-status.yaml`
|
|
72
|
-
|
|
73
|
-
## Input Files
|
|
74
|
-
|
|
75
|
-
| Input | Path | Load Strategy |
|
|
76
|
-
|-------|------|---------------|
|
|
77
|
-
| Epics | `{planning_artifacts}/*epic*.md` (whole) or `{planning_artifacts}/*epic*/*.md` (sharded) | FULL_LOAD |
|
|
78
|
-
|
|
79
|
-
## Execution
|
|
80
|
-
|
|
81
|
-
### Document Discovery - Full Epic Loading
|
|
82
|
-
|
|
83
|
-
**Strategy**: Sprint planning needs ALL epics and stories to build complete status tracking.
|
|
84
|
-
|
|
85
|
-
**Epic Discovery Process:**
|
|
86
|
-
|
|
87
|
-
1. **Search for whole document first** - Look for `epics.md`, `bmm-epics.md`, or any `*epic*.md` file
|
|
88
|
-
2. **Check for sharded version** - If whole document not found, look for `epics/index.md`
|
|
89
|
-
3. **If sharded version found**:
|
|
90
|
-
- Read `index.md` to understand the document structure
|
|
91
|
-
- Read ALL epic section files listed in the index (e.g., `epic-1.md`, `epic-2.md`, etc.)
|
|
92
|
-
- Process all epics and their stories from the combined content
|
|
93
|
-
- This ensures complete sprint status coverage
|
|
94
|
-
4. **Priority**: If both whole and sharded versions exist, use the whole document
|
|
95
|
-
|
|
96
|
-
**Fuzzy matching**: Be flexible with document names - users may use variations like `epics.md`, `bmm-epics.md`, `user-stories.md`, etc.
|
|
97
|
-
|
|
98
|
-
<workflow>
|
|
99
|
-
|
|
100
|
-
<step n="1" goal="Parse epic files and extract all work items">
|
|
101
|
-
<action>Load {project_context} for project-wide patterns and conventions (if exists)</action>
|
|
102
|
-
<action>Communicate in {communication_language} with {user_name}</action>
|
|
103
|
-
<action>Look for all files matching `{epics_pattern}` in {epics_location}</action>
|
|
104
|
-
<action>Could be a single `epics.md` file or multiple `epic-1.md`, `epic-2.md` files</action>
|
|
105
|
-
|
|
106
|
-
<action>For each epic file found, extract:</action>
|
|
107
|
-
|
|
108
|
-
- Epic numbers from headers like `## Epic 1:` or `## Epic 2:`
|
|
109
|
-
- Story IDs and titles from patterns like `### Story 1.1: User Authentication`
|
|
110
|
-
- Convert story format from `Epic.Story: Title` to kebab-case key: `epic-story-title`
|
|
111
|
-
|
|
112
|
-
**Story ID Conversion Rules:**
|
|
113
|
-
|
|
114
|
-
- Original: `### Story 1.1: User Authentication`
|
|
115
|
-
- Replace period with dash: `1-1`
|
|
116
|
-
- Convert title to kebab-case: `user-authentication`
|
|
117
|
-
- Final key: `1-1-user-authentication`
|
|
118
|
-
|
|
119
|
-
<action>Build complete inventory of all epics and stories from all epic files</action>
|
|
120
|
-
</step>
|
|
121
|
-
|
|
122
|
-
<step n="2" goal="Build sprint status structure">
|
|
123
|
-
<action>For each epic found, create entries in this order:</action>
|
|
124
|
-
|
|
125
|
-
1. **Epic entry** - Key: `epic-{num}`, Default status: `backlog`
|
|
126
|
-
2. **Story entries** - Key: `{epic}-{story}-{title}`, Default status: `backlog`
|
|
127
|
-
3. **Retrospective entry** - Key: `epic-{num}-retrospective`, Default status: `optional`
|
|
128
|
-
|
|
129
|
-
**Example structure:**
|
|
130
|
-
|
|
131
|
-
```yaml
|
|
132
|
-
development_status:
|
|
133
|
-
epic-1: backlog
|
|
134
|
-
1-1-user-authentication: backlog
|
|
135
|
-
1-2-account-management: backlog
|
|
136
|
-
epic-1-retrospective: optional
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
</step>
|
|
140
|
-
|
|
141
|
-
<step n="3" goal="Apply intelligent status detection">
|
|
142
|
-
<action>For each story, detect current status by checking files:</action>
|
|
143
|
-
|
|
144
|
-
**Story file detection:**
|
|
145
|
-
|
|
146
|
-
- Check: `{story_location_absolute}/{story-key}.md` (e.g., `stories/1-1-user-authentication.md`)
|
|
147
|
-
- If exists → upgrade status to at least `ready-for-dev`
|
|
148
|
-
|
|
149
|
-
**Preservation rule:**
|
|
150
|
-
|
|
151
|
-
- If existing `{status_file}` exists and has more advanced status, preserve it
|
|
152
|
-
- Never downgrade status (e.g., don't change `done` to `ready-for-dev`)
|
|
153
|
-
|
|
154
|
-
**Status Flow Reference:**
|
|
155
|
-
|
|
156
|
-
- Epic: `backlog` → `in-progress` → `done`
|
|
157
|
-
- Story: `backlog` → `ready-for-dev` → `in-progress` → `review` → `done`
|
|
158
|
-
- Retrospective: `optional` ↔ `done`
|
|
159
|
-
</step>
|
|
160
|
-
|
|
161
|
-
<step n="4" goal="Generate sprint status file">
|
|
162
|
-
<action>Create or update {status_file} with:</action>
|
|
163
|
-
|
|
164
|
-
**File Structure:**
|
|
165
|
-
|
|
166
|
-
```yaml
|
|
167
|
-
# generated: {date}
|
|
168
|
-
# last_updated: {date}
|
|
169
|
-
# project: {project_name}
|
|
170
|
-
# project_key: {project_key}
|
|
171
|
-
# tracking_system: {tracking_system}
|
|
172
|
-
# story_location: {story_location}
|
|
173
|
-
|
|
174
|
-
# STATUS DEFINITIONS:
|
|
175
|
-
# ==================
|
|
176
|
-
# Epic Status:
|
|
177
|
-
# - backlog: Epic not yet started
|
|
178
|
-
# - in-progress: Epic actively being worked on
|
|
179
|
-
# - done: All stories in epic completed
|
|
180
|
-
#
|
|
181
|
-
# Epic Status Transitions:
|
|
182
|
-
# - backlog → in-progress: Automatically when first story is created (via create-story)
|
|
183
|
-
# - in-progress → done: Manually when all stories reach 'done' status
|
|
184
|
-
#
|
|
185
|
-
# Story Status:
|
|
186
|
-
# - backlog: Story only exists in epic file
|
|
187
|
-
# - ready-for-dev: Story file created in stories folder
|
|
188
|
-
# - in-progress: Developer actively working on implementation
|
|
189
|
-
# - review: Ready for code review (via Dev's code-review workflow)
|
|
190
|
-
# - done: Story completed
|
|
191
|
-
#
|
|
192
|
-
# Retrospective Status:
|
|
193
|
-
# - optional: Can be completed but not required
|
|
194
|
-
# - done: Retrospective has been completed
|
|
195
|
-
#
|
|
196
|
-
# WORKFLOW NOTES:
|
|
197
|
-
# ===============
|
|
198
|
-
# - Epic transitions to 'in-progress' automatically when first story is created
|
|
199
|
-
# - Stories can be worked in parallel if team capacity allows
|
|
200
|
-
# - Developer typically creates next story after previous one is 'done' to incorporate learnings
|
|
201
|
-
# - Dev moves story to 'review', then runs code-review (fresh context, different LLM recommended)
|
|
202
|
-
|
|
203
|
-
generated: { date }
|
|
204
|
-
last_updated: { date }
|
|
205
|
-
project: { project_name }
|
|
206
|
-
project_key: { project_key }
|
|
207
|
-
tracking_system: { tracking_system }
|
|
208
|
-
story_location: { story_location }
|
|
209
|
-
|
|
210
|
-
development_status:
|
|
211
|
-
# All epics, stories, and retrospectives in order
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
<action>Write the complete sprint status YAML to {status_file}</action>
|
|
215
|
-
<action>CRITICAL: Metadata appears TWICE - once as comments (#) for documentation, once as YAML key:value fields for parsing</action>
|
|
216
|
-
<action>Ensure all items are ordered: epic, its stories, its retrospective, next epic...</action>
|
|
217
|
-
</step>
|
|
218
|
-
|
|
219
|
-
<step n="5" goal="Validate and report">
|
|
220
|
-
<action>Perform validation checks:</action>
|
|
221
|
-
|
|
222
|
-
- [ ] Every epic in epic files appears in {status_file}
|
|
223
|
-
- [ ] Every story in epic files appears in {status_file}
|
|
224
|
-
- [ ] Every epic has a corresponding retrospective entry
|
|
225
|
-
- [ ] No items in {status_file} that don't exist in epic files
|
|
226
|
-
- [ ] All status values are legal (match state machine definitions)
|
|
227
|
-
- [ ] File is valid YAML syntax
|
|
228
|
-
|
|
229
|
-
<action>Count totals:</action>
|
|
230
|
-
|
|
231
|
-
- Total epics: {{epic_count}}
|
|
232
|
-
- Total stories: {{story_count}}
|
|
233
|
-
- Epics in-progress: {{in_progress_count}}
|
|
234
|
-
- Stories done: {{done_count}}
|
|
235
|
-
|
|
236
|
-
<action>Display completion summary to {user_name} in {communication_language}:</action>
|
|
237
|
-
|
|
238
|
-
**Sprint Status Generated Successfully**
|
|
239
|
-
|
|
240
|
-
- **File Location:** {status_file}
|
|
241
|
-
- **Total Epics:** {{epic_count}}
|
|
242
|
-
- **Total Stories:** {{story_count}}
|
|
243
|
-
- **Epics In Progress:** {{in_progress_count}}
|
|
244
|
-
- **Stories Completed:** {{done_count}}
|
|
245
|
-
|
|
246
|
-
**Next Steps:**
|
|
247
|
-
|
|
248
|
-
1. Review the generated {status_file}
|
|
249
|
-
2. Use this file to track development progress
|
|
250
|
-
3. Agents will update statuses as they work
|
|
251
|
-
4. Re-run this workflow to refresh auto-detected statuses
|
|
252
|
-
|
|
253
|
-
<!-- Adapted for BMAD+: original script dependency removed -->
|
|
254
|
-
</step>
|
|
255
|
-
|
|
256
|
-
</workflow>
|
|
257
|
-
|
|
258
|
-
## Additional Documentation
|
|
259
|
-
|
|
260
|
-
### Status State Machine
|
|
261
|
-
|
|
262
|
-
**Epic Status Flow:**
|
|
263
|
-
|
|
264
|
-
```
|
|
265
|
-
backlog → in-progress → done
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
- **backlog**: Epic not yet started
|
|
269
|
-
- **in-progress**: Epic actively being worked on (stories being created/implemented)
|
|
270
|
-
- **done**: All stories in epic completed
|
|
271
|
-
|
|
272
|
-
**Story Status Flow:**
|
|
273
|
-
|
|
274
|
-
```
|
|
275
|
-
backlog → ready-for-dev → in-progress → review → done
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
- **backlog**: Story only exists in epic file
|
|
279
|
-
- **ready-for-dev**: Story file created (e.g., `stories/1-3-plant-naming.md`)
|
|
280
|
-
- **in-progress**: Developer actively working
|
|
281
|
-
- **review**: Ready for code review (via Dev's code-review workflow)
|
|
282
|
-
- **done**: Completed
|
|
283
|
-
|
|
284
|
-
**Retrospective Status:**
|
|
285
|
-
|
|
286
|
-
```
|
|
287
|
-
optional ↔ done
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
- **optional**: Ready to be conducted but not required
|
|
291
|
-
- **done**: Finished
|
|
292
|
-
|
|
293
|
-
### Guidelines
|
|
294
|
-
|
|
295
|
-
1. **Epic Activation**: Mark epic as `in-progress` when starting work on its first story
|
|
296
|
-
2. **Sequential Default**: Stories are typically worked in order, but parallel work is supported
|
|
297
|
-
3. **Parallel Work Supported**: Multiple stories can be `in-progress` if team capacity allows
|
|
298
|
-
4. **Review Before Done**: Stories should pass through `review` before `done`
|
|
299
|
-
5. **Learning Transfer**: Developer typically creates next story after previous one is `done` to incorporate learnings
|
|
6
|
+
# Sprint planning
|
|
7
|
+
|
|
8
|
+
Read the [execution guide](../../shared/execution.md) and
|
|
9
|
+
[Oholiab's role](dev-agent.md).
|
|
10
|
+
|
|
11
|
+
## Inputs
|
|
12
|
+
|
|
13
|
+
An explicit epic, story or backlog artifact. Read the current sprint ledger if it
|
|
14
|
+
exists and any supplied goal, capacity, availability or date constraints. Unknown
|
|
15
|
+
capacity is an unresolved planning input, not permission to invent estimates.
|
|
16
|
+
|
|
17
|
+
## Procedure
|
|
18
|
+
|
|
19
|
+
1. Inventory the candidate work, preserving epic/story IDs and their source paths.
|
|
20
|
+
Record the sprint goal and planning horizon when provided. Identify duplicate
|
|
21
|
+
IDs and conflicting versions before treating the inventory as reliable.
|
|
22
|
+
2. Read current statuses, owners, carryover and external dependencies. Preserve
|
|
23
|
+
human annotations and unfamiliar status values. Distinguish reported completion
|
|
24
|
+
from acceptance evidence; creating a story file does not mean work has started.
|
|
25
|
+
3. Check each candidate's acceptance criteria and prerequisites. Separate work
|
|
26
|
+
that is actionable, work needing clarification and work blocked by a dependency.
|
|
27
|
+
Detect dependency cycles and explain the smallest unresolved part.
|
|
28
|
+
4. Select a coherent proposed scope using the stated priority and capacity.
|
|
29
|
+
Account for known carryover and review/integration work. If capacity is absent,
|
|
30
|
+
provide an ordered candidate set with the missing commitment decision.
|
|
31
|
+
5. Order selected work by actual dependencies. Identify tasks suitable for
|
|
32
|
+
independent execution, shared-file conflicts and required handoffs. Do not
|
|
33
|
+
claim that assigning a task has launched an agent or reserved a person's time.
|
|
34
|
+
6. Produce the plan and reconcile it with any existing ledger. When updating that
|
|
35
|
+
ledger is within the task, make only evidenced changes, preserve its schema
|
|
36
|
+
and comments, and record each status transition with its reason. New unstarted
|
|
37
|
+
work remains backlog; established completion does not regress automatically.
|
|
38
|
+
|
|
39
|
+
## Output and acceptance
|
|
40
|
+
|
|
41
|
+
Write the report for sprint-planning with goal, planning assumptions, selected and
|
|
42
|
+
deferred work, dependency order, capacity limits and a proposed status ledger.
|
|
43
|
+
|
|
44
|
+
| Story ID | Source | Current status | Proposed action | Dependency | Acceptance evidence |
|
|
45
|
+
| --- | --- | --- | --- | --- | --- |
|
|
46
|
+
| Preserve the ID | Artifact path | Exact reported value | Next bounded action | ID or external prerequisite | Existing or still required check |
|
|
47
|
+
|
|
48
|
+
The proposal is usable when every selected item has an acceptance path and its
|
|
49
|
+
blocking dependencies are visible. A sprint commitment requires actual scope and
|
|
50
|
+
capacity decisions; an ordered proposal may be delivered without inventing them.
|
|
51
|
+
|
|
52
|
+
## Continue
|
|
53
|
+
|
|
54
|
+
Reload backlog and ledger before replanning. Compare input hashes, keep manually
|
|
55
|
+
changed statuses and carry forward unresolved dependencies. Record added, removed
|
|
56
|
+
and deferred scope explicitly; never replace the previous plan with a new set
|
|
57
|
+
that silently loses ongoing work.
|