@the-bearded-bear/claude-craft 8.23.3 → 8.26.0-next.2a54921
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/Dev/i18n/base/Common/commands/aliases.md +7 -13
- package/Dev/i18n/base/Common/commands/init.md +89 -1
- package/Dev/i18n/base/Common/commands/pack-repo.md +1 -1
- package/Dev/i18n/base/Common/commands/search.md +2 -2
- package/Dev/i18n/base/Common/skills/dynamic-workflows/SKILL.md +1 -1
- package/Dev/i18n/{en/Common/commands/sub-agents-patterns.md → base/Common/skills/sub-agents-patterns/SKILL.md} +6 -1
- package/Dev/i18n/de/Common/agents/data-analyst.md +1 -1
- package/Dev/i18n/de/Common/agents/ralph-conductor.md +1 -1
- package/Dev/i18n/de/Common/commands/daily-standup.md +5 -212
- package/Dev/i18n/de/Common/commands/getting-started.md +3 -2
- package/Dev/i18n/de/Common/commands/pre-commit-check.md +5 -201
- package/Dev/i18n/de/Common/commands/pre-merge-check.md +5 -233
- package/Dev/i18n/de/Common/commands/ralph-run.md +47 -1
- package/Dev/i18n/de/Common/commands/release-checklist.md +5 -241
- package/Dev/i18n/de/Common/commands/setup-project-context.md +5 -286
- package/Dev/i18n/de/Common/rules/12-context-management.md +1 -1
- package/Dev/i18n/de/QA/commands/fix.md +8 -8
- package/Dev/i18n/de/QA/commands/recette.md +7 -8
- package/Dev/i18n/de/QA/commands/regression.md +11 -11
- package/Dev/i18n/de/QA/commands/report.md +5 -162
- package/Dev/i18n/de/QA/commands/status.md +140 -13
- package/Dev/i18n/de/QA/commands/tdd.md +1 -1
- package/Dev/i18n/de/Workflow/commands/analyze.md +5 -205
- package/Dev/i18n/de/Workflow/commands/auto-sprint.md +16 -8
- package/Dev/i18n/de/Workflow/commands/design.md +151 -209
- package/Dev/i18n/de/Workflow/commands/implement.md +310 -209
- package/Dev/i18n/de/Workflow/commands/init.md +42 -14
- package/Dev/i18n/de/Workflow/commands/plan.md +156 -169
- package/Dev/i18n/de/Workflow/commands/retro.md +1 -1
- package/Dev/i18n/de/Workflow/commands/review.md +1 -1
- package/Dev/i18n/de/Workflow/commands/start.md +115 -25
- package/Dev/i18n/de/Workflow/commands/status.md +275 -201
- package/Dev/i18n/en/Common/agents/data-analyst.md +1 -1
- package/Dev/i18n/en/Common/agents/ralph-conductor.md +1 -1
- package/Dev/i18n/en/Common/commands/daily-standup.md +5 -212
- package/Dev/i18n/en/Common/commands/getting-started.md +3 -2
- package/Dev/i18n/en/Common/commands/pre-commit-check.md +5 -201
- package/Dev/i18n/en/Common/commands/pre-merge-check.md +5 -233
- package/Dev/i18n/en/Common/commands/ralph-run.md +47 -1
- package/Dev/i18n/en/Common/commands/release-checklist.md +5 -241
- package/Dev/i18n/en/Common/commands/setup-project-context.md +5 -286
- package/Dev/i18n/en/Common/rules/12-context-management.md +1 -1
- package/Dev/i18n/en/QA/commands/fix.md +8 -8
- package/Dev/i18n/en/QA/commands/recette.md +7 -8
- package/Dev/i18n/en/QA/commands/regression.md +11 -11
- package/Dev/i18n/en/QA/commands/report.md +5 -221
- package/Dev/i18n/en/QA/commands/status.md +140 -13
- package/Dev/i18n/en/QA/commands/tdd.md +1 -1
- package/Dev/i18n/en/Workflow/commands/analyze.md +5 -204
- package/Dev/i18n/en/Workflow/commands/auto-sprint.md +16 -8
- package/Dev/i18n/en/Workflow/commands/design.md +143 -200
- package/Dev/i18n/en/Workflow/commands/implement.md +307 -206
- package/Dev/i18n/en/Workflow/commands/init.md +42 -14
- package/Dev/i18n/en/Workflow/commands/plan.md +153 -165
- package/Dev/i18n/en/Workflow/commands/retro.md +1 -1
- package/Dev/i18n/en/Workflow/commands/review.md +1 -1
- package/Dev/i18n/en/Workflow/commands/start.md +107 -17
- package/Dev/i18n/en/Workflow/commands/status.md +265 -191
- package/Dev/i18n/es/Common/agents/data-analyst.md +1 -1
- package/Dev/i18n/es/Common/agents/ralph-conductor.md +1 -1
- package/Dev/i18n/es/Common/commands/daily-standup.md +5 -212
- package/Dev/i18n/es/Common/commands/getting-started.md +3 -2
- package/Dev/i18n/es/Common/commands/pre-commit-check.md +5 -201
- package/Dev/i18n/es/Common/commands/pre-merge-check.md +5 -233
- package/Dev/i18n/es/Common/commands/ralph-run.md +47 -1
- package/Dev/i18n/es/Common/commands/release-checklist.md +5 -241
- package/Dev/i18n/es/Common/commands/setup-project-context.md +5 -286
- package/Dev/i18n/es/Common/rules/12-context-management.md +1 -1
- package/Dev/i18n/es/QA/commands/fix.md +8 -8
- package/Dev/i18n/es/QA/commands/recette.md +7 -8
- package/Dev/i18n/es/QA/commands/regression.md +11 -11
- package/Dev/i18n/es/QA/commands/report.md +5 -162
- package/Dev/i18n/es/QA/commands/status.md +140 -13
- package/Dev/i18n/es/QA/commands/tdd.md +1 -1
- package/Dev/i18n/es/Workflow/commands/analyze.md +5 -205
- package/Dev/i18n/es/Workflow/commands/auto-sprint.md +16 -8
- package/Dev/i18n/es/Workflow/commands/design.md +158 -218
- package/Dev/i18n/es/Workflow/commands/implement.md +323 -222
- package/Dev/i18n/es/Workflow/commands/init.md +42 -14
- package/Dev/i18n/es/Workflow/commands/plan.md +160 -175
- package/Dev/i18n/es/Workflow/commands/retro.md +1 -1
- package/Dev/i18n/es/Workflow/commands/review.md +1 -1
- package/Dev/i18n/es/Workflow/commands/start.md +113 -23
- package/Dev/i18n/es/Workflow/commands/status.md +284 -210
- package/Dev/i18n/fr/Common/agents/data-analyst.md +1 -1
- package/Dev/i18n/fr/Common/agents/ralph-conductor.md +1 -1
- package/Dev/i18n/fr/Common/commands/daily-standup.md +5 -212
- package/Dev/i18n/fr/Common/commands/getting-started.md +3 -2
- package/Dev/i18n/fr/Common/commands/pre-commit-check.md +5 -201
- package/Dev/i18n/fr/Common/commands/pre-merge-check.md +5 -233
- package/Dev/i18n/fr/Common/commands/ralph-run.md +47 -1
- package/Dev/i18n/fr/Common/commands/release-checklist.md +5 -241
- package/Dev/i18n/fr/Common/commands/setup-project-context.md +5 -286
- package/Dev/i18n/fr/Common/rules/12-context-management.md +1 -1
- package/Dev/i18n/fr/QA/commands/fix.md +8 -8
- package/Dev/i18n/fr/QA/commands/recette.md +7 -8
- package/Dev/i18n/fr/QA/commands/regression.md +11 -11
- package/Dev/i18n/fr/QA/commands/report.md +5 -163
- package/Dev/i18n/fr/QA/commands/status.md +140 -13
- package/Dev/i18n/fr/QA/commands/tdd.md +1 -1
- package/Dev/i18n/fr/Workflow/commands/analyze.md +5 -204
- package/Dev/i18n/fr/Workflow/commands/auto-sprint.md +16 -8
- package/Dev/i18n/fr/Workflow/commands/design.md +153 -214
- package/Dev/i18n/fr/Workflow/commands/implement.md +312 -213
- package/Dev/i18n/fr/Workflow/commands/init.md +42 -15
- package/Dev/i18n/fr/Workflow/commands/plan.md +155 -169
- package/Dev/i18n/fr/Workflow/commands/retro.md +1 -1
- package/Dev/i18n/fr/Workflow/commands/review.md +1 -1
- package/Dev/i18n/fr/Workflow/commands/start.md +109 -19
- package/Dev/i18n/fr/Workflow/commands/status.md +274 -200
- package/Dev/i18n/pt/Common/agents/data-analyst.md +1 -1
- package/Dev/i18n/pt/Common/agents/ralph-conductor.md +1 -1
- package/Dev/i18n/pt/Common/commands/daily-standup.md +5 -212
- package/Dev/i18n/pt/Common/commands/getting-started.md +3 -2
- package/Dev/i18n/pt/Common/commands/pre-commit-check.md +5 -201
- package/Dev/i18n/pt/Common/commands/pre-merge-check.md +5 -233
- package/Dev/i18n/pt/Common/commands/ralph-run.md +47 -1
- package/Dev/i18n/pt/Common/commands/release-checklist.md +5 -241
- package/Dev/i18n/pt/Common/commands/setup-project-context.md +5 -286
- package/Dev/i18n/pt/Common/rules/12-context-management.md +1 -1
- package/Dev/i18n/pt/QA/commands/fix.md +8 -8
- package/Dev/i18n/pt/QA/commands/recette.md +7 -8
- package/Dev/i18n/pt/QA/commands/regression.md +11 -11
- package/Dev/i18n/pt/QA/commands/report.md +5 -162
- package/Dev/i18n/pt/QA/commands/status.md +140 -13
- package/Dev/i18n/pt/QA/commands/tdd.md +1 -1
- package/Dev/i18n/pt/Workflow/commands/analyze.md +5 -205
- package/Dev/i18n/pt/Workflow/commands/auto-sprint.md +16 -8
- package/Dev/i18n/pt/Workflow/commands/design.md +161 -219
- package/Dev/i18n/pt/Workflow/commands/implement.md +323 -222
- package/Dev/i18n/pt/Workflow/commands/init.md +42 -14
- package/Dev/i18n/pt/Workflow/commands/plan.md +160 -172
- package/Dev/i18n/pt/Workflow/commands/retro.md +1 -1
- package/Dev/i18n/pt/Workflow/commands/review.md +1 -1
- package/Dev/i18n/pt/Workflow/commands/start.md +112 -22
- package/Dev/i18n/pt/Workflow/commands/status.md +294 -220
- package/Dev/scripts/install-common-rules.sh +7 -10
- package/Dev/scripts/prune-removed-commands.sh +22 -0
- package/Project/i18n/de/Gate/commands/check.md +392 -0
- package/Project/i18n/de/Gate/commands/report.md +5 -230
- package/Project/i18n/de/Gate/commands/validate-alignment.md +5 -119
- package/Project/i18n/de/Gate/commands/validate-backlog.md +5 -231
- package/Project/i18n/de/Gate/commands/validate-prd.md +5 -121
- package/Project/i18n/de/Gate/commands/validate-sprint.md +5 -220
- package/Project/i18n/de/Gate/commands/validate-story.md +5 -200
- package/Project/i18n/de/Gate/commands/validate-techspec.md +5 -199
- package/Project/i18n/de/Sprint/commands/auto-route.md +5 -229
- package/Project/i18n/de/Sprint/commands/dev.md +5 -443
- package/Project/i18n/de/Sprint/commands/next-story.md +5 -153
- package/Project/i18n/de/Sprint/commands/status.md +5 -173
- package/Project/i18n/de/Sprint/commands/transition.md +5 -259
- package/Project/i18n/de/agents/product-owner.md +5 -5
- package/Project/i18n/de/agents/tech-lead.md +8 -8
- package/Project/i18n/de/commands/add-epic.md +5 -88
- package/Project/i18n/de/commands/add-story.md +5 -112
- package/Project/i18n/de/commands/add-task.md +5 -127
- package/Project/i18n/de/commands/analyze-backlog.md +5 -110
- package/Project/i18n/de/commands/backlog.md +653 -0
- package/Project/i18n/de/commands/batch-status.md +5 -209
- package/Project/i18n/de/commands/board.md +5 -130
- package/Project/i18n/de/commands/burndown.md +5 -120
- package/Project/i18n/de/commands/checkpoint.md +5 -239
- package/Project/i18n/de/commands/coverage-map.md +5 -217
- package/Project/i18n/de/commands/critical-path.md +5 -123
- package/Project/i18n/de/commands/decompose-tasks.md +5 -600
- package/Project/i18n/de/commands/dependencies.md +5 -139
- package/Project/i18n/de/commands/gap-analysis.md +5 -290
- package/Project/i18n/de/commands/generate-backlog.md +5 -378
- package/Project/i18n/de/commands/generate-constitution.md +5 -223
- package/Project/i18n/de/commands/generate-prd.md +5 -210
- package/Project/i18n/de/commands/generate-tech-spec.md +5 -285
- package/Project/i18n/de/commands/list-epics.md +5 -91
- package/Project/i18n/de/commands/list-stories.md +5 -116
- package/Project/i18n/de/commands/list-tasks.md +5 -128
- package/Project/i18n/de/commands/metrics.md +5 -223
- package/Project/i18n/de/commands/migrate-backlog.md +5 -144
- package/Project/i18n/de/commands/migrate.md +158 -0
- package/Project/i18n/de/commands/move-task.md +5 -200
- package/Project/i18n/de/commands/report.md +156 -0
- package/Project/i18n/de/commands/reverse-prd.md +5 -284
- package/Project/i18n/de/commands/reverse-stories.md +5 -301
- package/Project/i18n/de/commands/reverse.md +249 -0
- package/Project/i18n/de/commands/run-epic.md +5 -187
- package/Project/i18n/de/commands/run-queue.md +5 -250
- package/Project/i18n/de/commands/run-sprint.md +5 -262
- package/Project/i18n/de/commands/scan.md +5 -267
- package/Project/i18n/de/commands/sync-backlog.md +5 -161
- package/Project/i18n/de/commands/trace.md +126 -174
- package/Project/i18n/de/commands/update-epic.md +5 -101
- package/Project/i18n/de/commands/update-stories.md +5 -190
- package/Project/i18n/de/commands/update-story.md +5 -146
- package/Project/i18n/de/scaffold/CLAUDE.md +47 -47
- package/Project/i18n/de/scaffold/project-management__README.md +7 -7
- package/Project/i18n/de/templates/board.md +22 -9
- package/Project/i18n/de/templates/epic.md +4 -4
- package/Project/i18n/de/templates/prd.md +1 -1
- package/Project/i18n/de/templates/sprint-status.md +60 -0
- package/Project/i18n/de/templates/task.md +1 -1
- package/Project/i18n/de/templates/user-story.md +8 -6
- package/Project/i18n/en/Gate/commands/check.md +392 -0
- package/Project/i18n/en/Gate/commands/report.md +5 -261
- package/Project/i18n/en/Gate/commands/validate-alignment.md +5 -119
- package/Project/i18n/en/Gate/commands/validate-backlog.md +5 -236
- package/Project/i18n/en/Gate/commands/validate-prd.md +5 -168
- package/Project/i18n/en/Gate/commands/validate-sprint.md +5 -220
- package/Project/i18n/en/Gate/commands/validate-story.md +5 -200
- package/Project/i18n/en/Gate/commands/validate-techspec.md +5 -199
- package/Project/i18n/en/Sprint/commands/auto-route.md +5 -229
- package/Project/i18n/en/Sprint/commands/dev.md +5 -441
- package/Project/i18n/en/Sprint/commands/next-story.md +5 -153
- package/Project/i18n/en/Sprint/commands/status.md +5 -214
- package/Project/i18n/en/Sprint/commands/transition.md +5 -259
- package/Project/i18n/en/agents/product-owner.md +5 -5
- package/Project/i18n/en/agents/tech-lead.md +8 -8
- package/Project/i18n/en/commands/add-epic.md +5 -88
- package/Project/i18n/en/commands/add-story.md +5 -112
- package/Project/i18n/en/commands/add-task.md +5 -127
- package/Project/i18n/en/commands/analyze-backlog.md +5 -133
- package/Project/i18n/en/commands/backlog.md +653 -0
- package/Project/i18n/en/commands/batch-status.md +5 -209
- package/Project/i18n/en/commands/board.md +5 -130
- package/Project/i18n/en/commands/burndown.md +5 -120
- package/Project/i18n/en/commands/checkpoint.md +5 -239
- package/Project/i18n/en/commands/coverage-map.md +5 -217
- package/Project/i18n/en/commands/critical-path.md +5 -123
- package/Project/i18n/en/commands/decompose-tasks.md +5 -600
- package/Project/i18n/en/commands/dependencies.md +5 -139
- package/Project/i18n/en/commands/gap-analysis.md +5 -290
- package/Project/i18n/en/commands/generate-backlog.md +5 -378
- package/Project/i18n/en/commands/generate-constitution.md +5 -223
- package/Project/i18n/en/commands/generate-prd.md +5 -210
- package/Project/i18n/en/commands/generate-tech-spec.md +5 -285
- package/Project/i18n/en/commands/list-epics.md +5 -91
- package/Project/i18n/en/commands/list-stories.md +5 -116
- package/Project/i18n/en/commands/list-tasks.md +5 -128
- package/Project/i18n/en/commands/metrics.md +5 -223
- package/Project/i18n/en/commands/migrate-backlog.md +5 -186
- package/Project/i18n/en/commands/migrate.md +158 -0
- package/Project/i18n/en/commands/move-task.md +5 -200
- package/Project/i18n/en/commands/report.md +156 -0
- package/Project/i18n/en/commands/reverse-prd.md +5 -284
- package/Project/i18n/en/commands/reverse-stories.md +5 -301
- package/Project/i18n/en/commands/reverse.md +249 -0
- package/Project/i18n/en/commands/run-epic.md +5 -187
- package/Project/i18n/en/commands/run-queue.md +5 -250
- package/Project/i18n/en/commands/run-sprint.md +5 -262
- package/Project/i18n/en/commands/scan.md +5 -267
- package/Project/i18n/en/commands/sync-backlog.md +5 -161
- package/Project/i18n/en/commands/trace.md +119 -167
- package/Project/i18n/en/commands/update-epic.md +5 -101
- package/Project/i18n/en/commands/update-stories.md +5 -190
- package/Project/i18n/en/commands/update-story.md +5 -146
- package/Project/i18n/en/scaffold/CLAUDE.md +47 -47
- package/Project/i18n/en/scaffold/project-management__README.md +7 -7
- package/Project/i18n/en/templates/board.md +22 -9
- package/Project/i18n/en/templates/epic.md +4 -4
- package/Project/i18n/en/templates/prd.md +1 -1
- package/Project/i18n/en/templates/sprint-status.md +60 -0
- package/Project/i18n/en/templates/task.md +1 -1
- package/Project/i18n/en/templates/user-story.md +7 -5
- package/Project/i18n/es/Gate/commands/check.md +392 -0
- package/Project/i18n/es/Gate/commands/report.md +5 -229
- package/Project/i18n/es/Gate/commands/validate-alignment.md +5 -119
- package/Project/i18n/es/Gate/commands/validate-backlog.md +5 -231
- package/Project/i18n/es/Gate/commands/validate-prd.md +5 -121
- package/Project/i18n/es/Gate/commands/validate-sprint.md +5 -220
- package/Project/i18n/es/Gate/commands/validate-story.md +5 -200
- package/Project/i18n/es/Gate/commands/validate-techspec.md +5 -199
- package/Project/i18n/es/Sprint/commands/auto-route.md +5 -229
- package/Project/i18n/es/Sprint/commands/dev.md +5 -441
- package/Project/i18n/es/Sprint/commands/next-story.md +5 -153
- package/Project/i18n/es/Sprint/commands/status.md +5 -172
- package/Project/i18n/es/Sprint/commands/transition.md +5 -259
- package/Project/i18n/es/agents/product-owner.md +5 -5
- package/Project/i18n/es/agents/tech-lead.md +8 -8
- package/Project/i18n/es/commands/add-epic.md +5 -88
- package/Project/i18n/es/commands/add-story.md +5 -112
- package/Project/i18n/es/commands/add-task.md +5 -127
- package/Project/i18n/es/commands/analyze-backlog.md +5 -110
- package/Project/i18n/es/commands/backlog.md +653 -0
- package/Project/i18n/es/commands/batch-status.md +5 -209
- package/Project/i18n/es/commands/board.md +5 -130
- package/Project/i18n/es/commands/burndown.md +5 -120
- package/Project/i18n/es/commands/checkpoint.md +5 -239
- package/Project/i18n/es/commands/coverage-map.md +5 -217
- package/Project/i18n/es/commands/critical-path.md +5 -123
- package/Project/i18n/es/commands/decompose-tasks.md +5 -600
- package/Project/i18n/es/commands/dependencies.md +5 -139
- package/Project/i18n/es/commands/gap-analysis.md +5 -290
- package/Project/i18n/es/commands/generate-backlog.md +5 -378
- package/Project/i18n/es/commands/generate-constitution.md +5 -223
- package/Project/i18n/es/commands/generate-prd.md +5 -210
- package/Project/i18n/es/commands/generate-tech-spec.md +5 -285
- package/Project/i18n/es/commands/list-epics.md +5 -91
- package/Project/i18n/es/commands/list-stories.md +5 -116
- package/Project/i18n/es/commands/list-tasks.md +5 -128
- package/Project/i18n/es/commands/metrics.md +5 -223
- package/Project/i18n/es/commands/migrate-backlog.md +5 -144
- package/Project/i18n/es/commands/migrate.md +158 -0
- package/Project/i18n/es/commands/move-task.md +5 -200
- package/Project/i18n/es/commands/report.md +156 -0
- package/Project/i18n/es/commands/reverse-prd.md +5 -284
- package/Project/i18n/es/commands/reverse-stories.md +5 -301
- package/Project/i18n/es/commands/reverse.md +249 -0
- package/Project/i18n/es/commands/run-epic.md +5 -187
- package/Project/i18n/es/commands/run-queue.md +5 -250
- package/Project/i18n/es/commands/run-sprint.md +5 -262
- package/Project/i18n/es/commands/scan.md +5 -267
- package/Project/i18n/es/commands/sync-backlog.md +5 -161
- package/Project/i18n/es/commands/trace.md +126 -174
- package/Project/i18n/es/commands/update-epic.md +5 -101
- package/Project/i18n/es/commands/update-stories.md +5 -190
- package/Project/i18n/es/commands/update-story.md +5 -146
- package/Project/i18n/es/scaffold/CLAUDE.md +47 -47
- package/Project/i18n/es/scaffold/project-management__README.md +7 -7
- package/Project/i18n/es/templates/board.md +22 -9
- package/Project/i18n/es/templates/epic.md +4 -4
- package/Project/i18n/es/templates/prd.md +1 -1
- package/Project/i18n/es/templates/sprint-status.md +60 -0
- package/Project/i18n/es/templates/task.md +1 -1
- package/Project/i18n/es/templates/user-story.md +8 -6
- package/Project/i18n/fr/Gate/commands/check.md +392 -0
- package/Project/i18n/fr/Gate/commands/report.md +5 -196
- package/Project/i18n/fr/Gate/commands/validate-alignment.md +5 -121
- package/Project/i18n/fr/Gate/commands/validate-backlog.md +5 -231
- package/Project/i18n/fr/Gate/commands/validate-prd.md +5 -121
- package/Project/i18n/fr/Gate/commands/validate-sprint.md +5 -220
- package/Project/i18n/fr/Gate/commands/validate-story.md +5 -200
- package/Project/i18n/fr/Gate/commands/validate-techspec.md +5 -199
- package/Project/i18n/fr/Sprint/commands/auto-route.md +5 -229
- package/Project/i18n/fr/Sprint/commands/dev.md +5 -441
- package/Project/i18n/fr/Sprint/commands/next-story.md +5 -153
- package/Project/i18n/fr/Sprint/commands/status.md +5 -172
- package/Project/i18n/fr/Sprint/commands/transition.md +5 -259
- package/Project/i18n/fr/agents/product-owner.md +5 -5
- package/Project/i18n/fr/agents/tech-lead.md +8 -8
- package/Project/i18n/fr/commands/add-epic.md +5 -88
- package/Project/i18n/fr/commands/add-story.md +5 -112
- package/Project/i18n/fr/commands/add-task.md +5 -127
- package/Project/i18n/fr/commands/analyze-backlog.md +5 -110
- package/Project/i18n/fr/commands/backlog.md +653 -0
- package/Project/i18n/fr/commands/batch-status.md +5 -209
- package/Project/i18n/fr/commands/board.md +5 -130
- package/Project/i18n/fr/commands/burndown.md +5 -120
- package/Project/i18n/fr/commands/checkpoint.md +5 -239
- package/Project/i18n/fr/commands/coverage-map.md +5 -217
- package/Project/i18n/fr/commands/critical-path.md +5 -123
- package/Project/i18n/fr/commands/decompose-tasks.md +5 -600
- package/Project/i18n/fr/commands/dependencies.md +5 -139
- package/Project/i18n/fr/commands/gap-analysis.md +5 -290
- package/Project/i18n/fr/commands/generate-backlog.md +5 -378
- package/Project/i18n/fr/commands/generate-constitution.md +5 -223
- package/Project/i18n/fr/commands/generate-prd.md +5 -210
- package/Project/i18n/fr/commands/generate-tech-spec.md +5 -285
- package/Project/i18n/fr/commands/list-epics.md +5 -91
- package/Project/i18n/fr/commands/list-stories.md +5 -116
- package/Project/i18n/fr/commands/list-tasks.md +5 -128
- package/Project/i18n/fr/commands/metrics.md +5 -223
- package/Project/i18n/fr/commands/migrate-backlog.md +5 -144
- package/Project/i18n/fr/commands/migrate.md +158 -0
- package/Project/i18n/fr/commands/move-task.md +5 -200
- package/Project/i18n/fr/commands/report.md +156 -0
- package/Project/i18n/fr/commands/reverse-prd.md +5 -284
- package/Project/i18n/fr/commands/reverse-stories.md +5 -301
- package/Project/i18n/fr/commands/reverse.md +249 -0
- package/Project/i18n/fr/commands/run-epic.md +5 -187
- package/Project/i18n/fr/commands/run-queue.md +5 -250
- package/Project/i18n/fr/commands/run-sprint.md +5 -262
- package/Project/i18n/fr/commands/scan.md +5 -267
- package/Project/i18n/fr/commands/sync-backlog.md +5 -161
- package/Project/i18n/fr/commands/trace.md +125 -173
- package/Project/i18n/fr/commands/update-epic.md +5 -101
- package/Project/i18n/fr/commands/update-stories.md +5 -190
- package/Project/i18n/fr/commands/update-story.md +5 -146
- package/Project/i18n/fr/scaffold/CLAUDE.md +47 -47
- package/Project/i18n/fr/scaffold/project-management__README.md +7 -7
- package/Project/i18n/fr/templates/board.md +22 -9
- package/Project/i18n/fr/templates/epic.md +4 -4
- package/Project/i18n/fr/templates/prd.md +1 -1
- package/Project/i18n/fr/templates/sprint-status.md +60 -0
- package/Project/i18n/fr/templates/task.md +1 -1
- package/Project/i18n/fr/templates/user-story.md +8 -6
- package/Project/i18n/pt/Gate/commands/check.md +392 -0
- package/Project/i18n/pt/Gate/commands/report.md +5 -229
- package/Project/i18n/pt/Gate/commands/validate-alignment.md +5 -120
- package/Project/i18n/pt/Gate/commands/validate-backlog.md +5 -231
- package/Project/i18n/pt/Gate/commands/validate-prd.md +5 -121
- package/Project/i18n/pt/Gate/commands/validate-sprint.md +5 -220
- package/Project/i18n/pt/Gate/commands/validate-story.md +5 -200
- package/Project/i18n/pt/Gate/commands/validate-techspec.md +5 -199
- package/Project/i18n/pt/Sprint/commands/auto-route.md +5 -229
- package/Project/i18n/pt/Sprint/commands/dev.md +5 -441
- package/Project/i18n/pt/Sprint/commands/next-story.md +5 -153
- package/Project/i18n/pt/Sprint/commands/status.md +5 -172
- package/Project/i18n/pt/Sprint/commands/transition.md +5 -259
- package/Project/i18n/pt/agents/product-owner.md +5 -5
- package/Project/i18n/pt/agents/tech-lead.md +8 -8
- package/Project/i18n/pt/commands/add-epic.md +5 -88
- package/Project/i18n/pt/commands/add-story.md +5 -112
- package/Project/i18n/pt/commands/add-task.md +5 -127
- package/Project/i18n/pt/commands/analyze-backlog.md +5 -110
- package/Project/i18n/pt/commands/backlog.md +653 -0
- package/Project/i18n/pt/commands/batch-status.md +5 -209
- package/Project/i18n/pt/commands/board.md +5 -130
- package/Project/i18n/pt/commands/burndown.md +5 -120
- package/Project/i18n/pt/commands/checkpoint.md +5 -239
- package/Project/i18n/pt/commands/coverage-map.md +5 -217
- package/Project/i18n/pt/commands/critical-path.md +5 -123
- package/Project/i18n/pt/commands/decompose-tasks.md +5 -600
- package/Project/i18n/pt/commands/dependencies.md +5 -139
- package/Project/i18n/pt/commands/gap-analysis.md +5 -290
- package/Project/i18n/pt/commands/generate-backlog.md +5 -378
- package/Project/i18n/pt/commands/generate-constitution.md +5 -223
- package/Project/i18n/pt/commands/generate-prd.md +5 -210
- package/Project/i18n/pt/commands/generate-tech-spec.md +5 -285
- package/Project/i18n/pt/commands/list-epics.md +5 -91
- package/Project/i18n/pt/commands/list-stories.md +5 -116
- package/Project/i18n/pt/commands/list-tasks.md +5 -128
- package/Project/i18n/pt/commands/metrics.md +5 -223
- package/Project/i18n/pt/commands/migrate-backlog.md +5 -144
- package/Project/i18n/pt/commands/migrate.md +158 -0
- package/Project/i18n/pt/commands/move-task.md +5 -200
- package/Project/i18n/pt/commands/report.md +156 -0
- package/Project/i18n/pt/commands/reverse-prd.md +5 -284
- package/Project/i18n/pt/commands/reverse-stories.md +5 -301
- package/Project/i18n/pt/commands/reverse.md +249 -0
- package/Project/i18n/pt/commands/run-epic.md +5 -187
- package/Project/i18n/pt/commands/run-queue.md +5 -250
- package/Project/i18n/pt/commands/run-sprint.md +5 -262
- package/Project/i18n/pt/commands/scan.md +5 -267
- package/Project/i18n/pt/commands/sync-backlog.md +5 -161
- package/Project/i18n/pt/commands/trace.md +126 -174
- package/Project/i18n/pt/commands/update-epic.md +5 -101
- package/Project/i18n/pt/commands/update-stories.md +5 -190
- package/Project/i18n/pt/commands/update-story.md +5 -146
- package/Project/i18n/pt/scaffold/CLAUDE.md +47 -47
- package/Project/i18n/pt/scaffold/project-management__README.md +7 -7
- package/Project/i18n/pt/templates/board.md +22 -9
- package/Project/i18n/pt/templates/epic.md +4 -4
- package/Project/i18n/pt/templates/prd.md +1 -1
- package/Project/i18n/pt/templates/sprint-status.md +60 -0
- package/Project/i18n/pt/templates/task.md +1 -1
- package/Project/i18n/pt/templates/user-story.md +8 -6
- package/Project/install-project-commands.sh +33 -52
- package/README.md +22 -5
- package/Tools/Ralph/README.md +9 -9
- package/bundles/cursor/.cursorrules +2 -2
- package/bundles/windsurf/.windsurfrules +2 -2
- package/cli/kanban/server/app.js +9 -4
- package/cli/kanban/server/services/repository.js +35 -8
- package/cli/kanban/server/services/sprint-cache.js +45 -1
- package/cli/kanban/shared/schemas.js +2 -0
- package/cli/lib/update.js +15 -0
- package/config/removed-commands.yaml +14 -0
- package/package.json +4 -2
- package/Dev/i18n/base/Common/commands/audit-claude-alignment.md +0 -201
- package/Dev/i18n/base/Common/commands/audit-freshness.md +0 -176
- package/Dev/i18n/de/Common/commands/add-technology.md +0 -297
- package/Dev/i18n/de/Common/commands/sub-agents-patterns.md +0 -167
- package/Dev/i18n/en/Common/commands/add-technology.md +0 -297
- package/Dev/i18n/es/Common/commands/add-technology.md +0 -297
- package/Dev/i18n/es/Common/commands/sub-agents-patterns.md +0 -200
- package/Dev/i18n/fr/Common/commands/add-technology.md +0 -297
- package/Dev/i18n/fr/Common/commands/sub-agents-patterns.md +0 -167
- package/Dev/i18n/pt/Common/commands/add-technology.md +0 -297
- package/Dev/i18n/pt/Common/commands/sub-agents-patterns.md +0 -167
|
@@ -0,0 +1,653 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Manage the backlog: add, list, edit and move EPICs, User Stories and Tasks, pick the next story, move story statuses and apply routing rules"
|
|
3
|
+
argument-hint: "<add|list|edit|move|next> <epic|story|task> [args] | move story --auto"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Backlog
|
|
7
|
+
|
|
8
|
+
Single entry point to manage the project backlog: create, list, edit and move EPICs, User Stories and Tasks.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
| Invocation | What it does | Replaces |
|
|
13
|
+
|------------|--------------|----------|
|
|
14
|
+
| `/project:backlog add epic "Name" [priority]` | Create an EPIC | `/project:backlog add epic` |
|
|
15
|
+
| `/project:backlog add story EPIC-XXX "Name" [points]` | Create a User Story in an EPIC | `/project:backlog add story` |
|
|
16
|
+
| `/project:backlog add task US-XXX "[TYPE] Description" 4h` | Create a Task in a User Story | `/project:backlog add task` |
|
|
17
|
+
| `/project:backlog list epic [status] [priority]` | List EPICs with derived status and progress | `/project:backlog list epic` |
|
|
18
|
+
| `/project:backlog list story [epic EPIC-XXX \| sprint N \| status S \| backlog]` | List User Stories | `/project:backlog list story` |
|
|
19
|
+
| `/project:backlog list task [us US-XXX \| sprint N \| type T \| status S]` | List Tasks | `/project:backlog list task` |
|
|
20
|
+
| `/project:backlog edit epic EPIC-XXX [field] [value]` | Modify an EPIC | `/project:backlog edit epic` |
|
|
21
|
+
| `/project:backlog edit story US-XXX [field] [value]` | Modify a User Story | `/project:backlog edit story` |
|
|
22
|
+
| `/project:backlog move task TASK-XXX <in-progress\|blocked\|done>` | Change a Task status | `/project:backlog move task` |
|
|
23
|
+
| `/project:backlog next story [--claim]` | Pick the next `ready-for-dev` story by priority and dependencies (`--claim` moves it to `in-progress`) | `/project:backlog next story` |
|
|
24
|
+
| `/project:backlog move story US-XXX <backlog\|ready-for-dev\|in-progress\|review\|done\|blocked\|sprint-N> ["reason"]` | Change a story status through the BMAD state machine, with gates | `/project:backlog move story` |
|
|
25
|
+
| `/project:backlog move story --auto [--dry-run]` | Evaluate the `routing.auto_transitions` rules from `.bmad/sprint-status.yaml` and apply the triggered transitions | `/project:backlog move story --auto` |
|
|
26
|
+
|
|
27
|
+
There is no `edit task` and no `move epic`: EPIC statuses are derived. Story statuses are changed with `move story` (state machine with gates); the `routing.auto_transitions` rules are also applied after every transition.
|
|
28
|
+
|
|
29
|
+
## Arguments
|
|
30
|
+
|
|
31
|
+
$ARGUMENTS: `<action> <entity> [args]`
|
|
32
|
+
|
|
33
|
+
1. First word = action: `add`, `list`, `edit`, `move` or `next`
|
|
34
|
+
2. Second word = entity: `epic`, `story` or `task` (`move` accepts `task` or `story`, `next` only `story`)
|
|
35
|
+
3. The rest is passed to the matching section below
|
|
36
|
+
4. Missing or unknown action/entity: display the Usage table and stop. `move epic`: answer that EPIC status is derived
|
|
37
|
+
|
|
38
|
+
## Shared Rules
|
|
39
|
+
|
|
40
|
+
### Source of truth for status
|
|
41
|
+
|
|
42
|
+
- **Status lives only in `.bmad/sprint-status.yaml`** (single source of truth, schema: `.claude/templates/project/sprint-status.md`). Use the exact status strings of the schema.
|
|
43
|
+
- Story: `backlog`, `ready-for-dev`, `in-progress`, `review`, `done`, `blocked`
|
|
44
|
+
- Task (`stories.<US>.tasks.status.<TASK>`): `to-do`, `in-progress`, `blocked`, `done`
|
|
45
|
+
- **Markdown files hold content only** (name, description, points, criteria, estimation, blocker text, time spent). Never write a status in an EPIC, US or task file, nor in tables inside them.
|
|
46
|
+
- **EPIC status is derived, never stored**: all stories `backlog` (or no story) = not started; all `done` = done; any `blocked` and none in progress = blocked; otherwise in progress.
|
|
47
|
+
- Boards (`board.md`) are generated views: regenerate them from `.bmad/sprint-status.yaml`, never edit by hand.
|
|
48
|
+
- If `.bmad/sprint-status.yaml` is missing, create it from the `/workflow:init` skeleton.
|
|
49
|
+
|
|
50
|
+
### Paths and templates
|
|
51
|
+
|
|
52
|
+
| Item | Path |
|
|
53
|
+
|------|------|
|
|
54
|
+
| EPICs | `project-management/backlog/epics/EPIC-{ID}-{slug}.md` |
|
|
55
|
+
| User Stories | `project-management/backlog/user-stories/US-{ID}-{slug}.md` |
|
|
56
|
+
| Tasks (US in sprint) | `project-management/sprints/sprint-{N}-{slug}/tasks/TASK-{ID}.md` |
|
|
57
|
+
| Tasks (otherwise) | `project-management/backlog/tasks/TASK-{ID}.md` |
|
|
58
|
+
| Index | `project-management/backlog/index.md` |
|
|
59
|
+
| Templates | `.claude/templates/project/{epic,user-story,task}.md` |
|
|
60
|
+
|
|
61
|
+
### Plan mode (add, edit, move)
|
|
62
|
+
|
|
63
|
+
> **Plan mode is mandatory** for every action that writes (`add`, `edit`, `move`). Before executing, Claude activates plan mode to analyze impacted code, propose an implementation plan, and wait for your validation before making any changes. `list` is read-only.
|
|
64
|
+
|
|
65
|
+
### Status icons (list)
|
|
66
|
+
|
|
67
|
+
| Icon | Meaning |
|
|
68
|
+
|------|---------|
|
|
69
|
+
| 🔴 | To Do / backlog (not started) |
|
|
70
|
+
| 🟡 | In Progress |
|
|
71
|
+
| ⏸️ | Blocked |
|
|
72
|
+
| 🟢 | Done |
|
|
73
|
+
|
|
74
|
+
## add epic
|
|
75
|
+
|
|
76
|
+
`/project:backlog add epic "EPIC Name" [priority]`
|
|
77
|
+
|
|
78
|
+
- **Name** (required), **Priority** (optional): High, Medium, Low (default: Medium)
|
|
79
|
+
|
|
80
|
+
1. **Generate ID**: read `project-management/backlog/epics/`, find the last `EPIC-XXX`, increment
|
|
81
|
+
2. **Collect** (if not provided): description, MMF (Minimum Marketable Feature), 2-3 business objectives, success criteria
|
|
82
|
+
3. **Create the file** from `.claude/templates/project/epic.md`, replacing `{ID}`, `{NOM}`, `{PRIORITE}`, `{MINIMUM_MARKETABLE_FEATURE}`, `{DESCRIPTION}`, `{DATE}` (YYYY-MM-DD), `{OBJECTIF_1}`, `{OBJECTIF_2}`, `{CRITERE_1}`, `{CRITERE_2}`. No status is written.
|
|
83
|
+
4. **Update the index**: add the EPIC to the EPICs table, update counters
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
✅ EPIC created successfully!
|
|
87
|
+
|
|
88
|
+
📋 EPIC-{ID}: {NAME}
|
|
89
|
+
Status: derived from its stories (none yet)
|
|
90
|
+
Priority: {PRIORITY}
|
|
91
|
+
File: project-management/backlog/epics/EPIC-{ID}-{slug}.md
|
|
92
|
+
|
|
93
|
+
Next steps:
|
|
94
|
+
/project:backlog add story EPIC-{ID} "User Story Name"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Example: `/project:backlog add epic "Authentication System" High` creates `project-management/backlog/epics/EPIC-001-authentication-system.md`.
|
|
98
|
+
|
|
99
|
+
Validation: name not empty, priority in High/Medium/Low, `project-management/backlog/epics/` exists, ID unique.
|
|
100
|
+
|
|
101
|
+
## add story
|
|
102
|
+
|
|
103
|
+
`/project:backlog add story EPIC-XXX "US Name" [points]`
|
|
104
|
+
|
|
105
|
+
- **EPIC-ID** (required), **Name** (required), **Points** (optional): Fibonacci (1, 2, 3, 5, 8)
|
|
106
|
+
|
|
107
|
+
1. **Validate the EPIC** exists in `project-management/backlog/epics/`; if not, display an error with the available EPICs
|
|
108
|
+
2. **Generate ID**: read `project-management/backlog/user-stories/`, find the last `US-XXX`, increment
|
|
109
|
+
3. **Collect**: persona (P-XXX or description), action, benefit, at least 2 acceptance criteria in Gherkin format, points (estimate if not provided)
|
|
110
|
+
4. **Create the file** from `.claude/templates/project/user-story.md`, replacing `{ID}`, `{NOM}`, `{EPIC_ID}`, `{SPRINT}` ("Backlog" = unassigned), `{POINTS}`, `{PERSONA}`, `{PERSONA_ID}`, `{ACTION}`, `{BENEFICE}`, `{DATE}`; add the Gherkin criteria
|
|
111
|
+
5. **Register the status** in `.bmad/sprint-status.yaml`: add `stories.US-{ID}` with `title`, `status: backlog`, `story_points`, `epic_id`, `priority`, `dependencies: []`, `tasks: { total: 0, completed: 0, list: [] }`, `history: []`
|
|
112
|
+
6. **Update the EPIC** (add the US to its User Stories table, no status column; update progress) and the **index** ("Prioritized Backlog" section, counters)
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
✅ User Story created successfully!
|
|
116
|
+
|
|
117
|
+
📖 US-{ID}: {NAME}
|
|
118
|
+
EPIC: {EPIC_ID}
|
|
119
|
+
Status: backlog (.bmad/sprint-status.yaml)
|
|
120
|
+
Points: {POINTS}
|
|
121
|
+
File: project-management/backlog/user-stories/US-{ID}-{slug}.md
|
|
122
|
+
|
|
123
|
+
Next steps:
|
|
124
|
+
/project:backlog move story US-{ID} sprint-X # Assign to sprint
|
|
125
|
+
/project:backlog add task US-{ID} "[BE] ..." 4h # Add tasks
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Example: `/project:backlog add story EPIC-001 "User login" 5`.
|
|
129
|
+
|
|
130
|
+
INVEST check: **I**ndependent, **N**egotiable, **V**aluable, **E**stimable (points provided), **S**mall (≤ 8 points, otherwise suggest splitting), **T**estable (clear acceptance criteria).
|
|
131
|
+
|
|
132
|
+
## add task
|
|
133
|
+
|
|
134
|
+
`/project:backlog add task US-XXX "[TYPE] Description" estimation`
|
|
135
|
+
|
|
136
|
+
- **US-ID** (required), **Description** with type in brackets (required), **Estimation** in hours (required, e.g. 4h, 2h, 0.5h)
|
|
137
|
+
|
|
138
|
+
| Type | Prefix | Description |
|
|
139
|
+
|------|--------|-------------|
|
|
140
|
+
| Database | `[DB]` | Entity, Migration, Repository |
|
|
141
|
+
| Backend | `[BE]` | Service, API Resource, Processor |
|
|
142
|
+
| Frontend Web | `[FE-WEB]` | Controller, Twig, Stimulus |
|
|
143
|
+
| Frontend Mobile | `[FE-MOB]` | Model, Repository, Bloc, Screen |
|
|
144
|
+
| Tests | `[TEST]` | Unit, Integration, E2E |
|
|
145
|
+
| Documentation | `[DOC]` | PHPDoc, DartDoc, README |
|
|
146
|
+
| DevOps | `[OPS]` | Docker, CI/CD |
|
|
147
|
+
| Review | `[REV]` | Code Review |
|
|
148
|
+
|
|
149
|
+
1. **Validate the US** exists in `project-management/backlog/user-stories/` and get its sprint (if any); otherwise display an error
|
|
150
|
+
2. **Validate the estimation**: minimum 0.5h, maximum 8h, ideal 2-4h; if > 8h, suggest splitting the task
|
|
151
|
+
3. **Generate ID**: find the last task ID, increment
|
|
152
|
+
4. **Create the file** from `.claude/templates/project/task.md`, replacing `{ID}`, `{DESCRIPTION}`, `{US_ID}`, `{TYPE}`, `{ESTIMATION}`, `{DATE}`, `{DESCRIPTION_DETAILLEE}`; path: sprint tasks directory if the US is in a sprint, else `project-management/backlog/tasks/`
|
|
153
|
+
5. **Register the task** in `.bmad/sprint-status.yaml`: append `TASK-{ID}` to `stories.{US_ID}.tasks.list`, set `stories.{US_ID}.tasks.status.TASK-{ID}: to-do`, update `stories.{US_ID}.tasks.total` (keep `completed` = number of `done` tasks)
|
|
154
|
+
6. **Update the US** (add the task to its Tasks table, no status column; update progress)
|
|
155
|
+
7. **Update the board** if the US is in a sprint: regenerate `board.md` from `.bmad/sprint-status.yaml` (the task appears in `to-do`) and update metrics
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
✅ Task created successfully!
|
|
159
|
+
|
|
160
|
+
🔧 TASK-{ID}: {DESCRIPTION}
|
|
161
|
+
US: {US_ID}
|
|
162
|
+
Type: {TYPE}
|
|
163
|
+
Status: to-do (.bmad/sprint-status.yaml)
|
|
164
|
+
Estimation: {ESTIMATION}h
|
|
165
|
+
File: {PATH}
|
|
166
|
+
|
|
167
|
+
Next steps:
|
|
168
|
+
/project:backlog move task TASK-{ID} in-progress # Start task
|
|
169
|
+
/workflow:status --board # View Kanban
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Examples: `/project:backlog add task US-001 "[BE] Login API endpoint" 4h`, `/project:backlog add task US-001 "[TEST] AuthService unit tests" 3h`.
|
|
173
|
+
|
|
174
|
+
Validation: type valid, estimation between 0.5h and 8h, User Story exists, ID unique.
|
|
175
|
+
|
|
176
|
+
## list epic
|
|
177
|
+
|
|
178
|
+
`/project:backlog list epic [status] [priority]`
|
|
179
|
+
|
|
180
|
+
- **Status** (derived from stories): todo, in-progress, blocked, done, all (default: all)
|
|
181
|
+
- **Priority**: high, medium, low
|
|
182
|
+
|
|
183
|
+
1. Scan `project-management/backlog/epics/`, read each `EPIC-XXX-*.md` for content metadata (name, priority)
|
|
184
|
+
2. Read the statuses of its stories from `.bmad/sprint-status.yaml`
|
|
185
|
+
3. Apply filters; for each EPIC count total USs, USs by status, and progress percentage (EPIC status derived as described in Shared Rules)
|
|
186
|
+
4. Display the table
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
📋 Project EPICs
|
|
190
|
+
|
|
191
|
+
| ID | Name | Status | Priority | US | Progress |
|
|
192
|
+
|----|-----|--------|----------|-----|-------------|
|
|
193
|
+
| EPIC-001 | Authentication | 🟡 In Progress | High | 5 | ████░░░░░░ 40% |
|
|
194
|
+
| EPIC-002 | Catalog | 🔴 To Do | Medium | 8 | ░░░░░░░░░░ 0% |
|
|
195
|
+
|
|
196
|
+
───────────────────────────────────────────────────
|
|
197
|
+
Summary: 2 EPICs | 🔴 1 To Do | 🟡 1 In Progress | 🟢 0 Done
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
With many EPICs (e.g. 12), use the compact format: one line per status group (`🔴 To Do (5): EPIC-002, EPIC-003, ...`, `🟡 In Progress (4): EPIC-001 (40%), ...`, `⏸️ Blocked`, `🟢 Done`).
|
|
201
|
+
|
|
202
|
+
Examples: `/project:backlog list epic`, `/project:backlog list epic in-progress`, `/project:backlog list epic all high`, `/project:backlog list epic blocked`.
|
|
203
|
+
|
|
204
|
+
For one EPIC's details suggest: `cat project-management/backlog/epics/EPIC-001-*.md`.
|
|
205
|
+
|
|
206
|
+
## list story
|
|
207
|
+
|
|
208
|
+
`/project:backlog list story [filter] [value]`
|
|
209
|
+
|
|
210
|
+
- `epic EPIC-XXX`: filter by EPIC | `sprint N`: filter by sprint | `status STATUS`: backlog, ready-for-dev, in-progress, review, done, blocked | `backlog`: only USs not assigned to a sprint
|
|
211
|
+
|
|
212
|
+
1. Scan `project-management/backlog/user-stories/`, read each `US-XXX-*.md` for content metadata (title, EPIC, sprint)
|
|
213
|
+
2. Read each US status, task statuses and counts from `.bmad/sprint-status.yaml`
|
|
214
|
+
3. Apply the filters; per US count total tasks, tasks by status, progress percentage
|
|
215
|
+
4. Display a table grouped by EPIC or sprint depending on context
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
📖 User Stories - EPIC-001: Authentication
|
|
219
|
+
|
|
220
|
+
| ID | Name | Sprint | Status | Points | Tasks | Progress |
|
|
221
|
+
|----|-----|--------|--------|--------|-------|-------------|
|
|
222
|
+
| US-001 | User login | Sprint 1 | 🟡 In Progress | 5 | 4/6 | ██████░░░░ 67% |
|
|
223
|
+
| US-002 | Registration | Sprint 1 | 🔴 To Do | 3 | 0/5 | ░░░░░░░░░░ 0% |
|
|
224
|
+
| US-003 | Forgot password | Backlog | 🔴 To Do | 3 | - | - |
|
|
225
|
+
|
|
226
|
+
───────────────────────────────────────────────────
|
|
227
|
+
Total: 3 US | 11 points | 🔴 2 | 🟡 1 | 🟢 0
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
- By sprint: columns `ID | EPIC | Name | Status | Points | Tasks | Progress`, footer `Sprint 1: 3 US | 13 points | Done: 5 pts (38%)`
|
|
231
|
+
- Backlog (unassigned): columns `ID | EPIC | Name | Priority | Points | Status`, footer `Backlog: 3 US | 16 points to plan`
|
|
232
|
+
|
|
233
|
+
Examples: `/project:backlog list story`, `... list story epic EPIC-001`, `... list story sprint 1`, `... list story status blocked`, `... list story backlog`.
|
|
234
|
+
|
|
235
|
+
Suggest actions: `/project:backlog move story US-XXX sprint-2` (assign to sprint), `/project:backlog move story US-XXX in-progress` (change status), `/project:backlog add task US-XXX "[BE] ..." 4h`.
|
|
236
|
+
|
|
237
|
+
## list task
|
|
238
|
+
|
|
239
|
+
`/project:backlog list task [filter] [value]`
|
|
240
|
+
|
|
241
|
+
- `us US-XXX` | `sprint N` | `type TYPE` (DB, BE, FE-WEB, FE-MOB, TEST, DOC, OPS, REV) | `status STATUS` (to-do, in-progress, blocked, done)
|
|
242
|
+
|
|
243
|
+
1. Scan `project-management/sprints/sprint-{N}-{slug}/tasks/` and `project-management/backlog/tasks/` (if it exists), read each `TASK-XXX.md` for content metadata (type, description, estimation)
|
|
244
|
+
2. Read each task status from `.bmad/sprint-status.yaml` (`stories.<US>.tasks.status.<TASK>`)
|
|
245
|
+
3. Apply filters; compute total estimated hours, completed hours, breakdown by type and by status
|
|
246
|
+
4. Display
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
🔧 Tasks - US-001: User login
|
|
250
|
+
|
|
251
|
+
| ID | Type | Description | Status | Est. | Spent |
|
|
252
|
+
|----|------|-------------|--------|------|-------|
|
|
253
|
+
| TASK-001 | [DB] | User entity | 🟢 Done | 2h | 2h |
|
|
254
|
+
| TASK-003 | [BE] | Login API endpoint | 🟡 In Progress | 4h | 2h |
|
|
255
|
+
| TASK-004 | [FE-WEB] | Auth controller | 🔴 To Do | 3h | - |
|
|
256
|
+
| TASK-005 | [FE-MOB] | Login screen | ⏸️ Blocked | 6h | - |
|
|
257
|
+
|
|
258
|
+
───────────────────────────────────────────────────
|
|
259
|
+
US-001: 4 tasks | 15h estimated | 4h completed (27%)
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
- By sprint: summary by status (`🔴 To Do (8 tasks, 24h)`, ...) and by type (bar per `[DB]`, `[BE]`, ...), footer `Sprint 1: 25 tasks | 77h estimated | 35h completed (45%)`
|
|
263
|
+
- Blocked (`status blocked`): columns `ID | US | Type | Description | Blocker`, footer `2 blocked tasks | 14h waiting`, then an `Actions:` list of how to resolve each blocker
|
|
264
|
+
|
|
265
|
+
Examples: `/project:backlog list task`, `... list task us US-001`, `... list task sprint 1`, `... list task type BE`, `... list task status blocked`.
|
|
266
|
+
|
|
267
|
+
## edit epic
|
|
268
|
+
|
|
269
|
+
`/project:backlog edit epic EPIC-XXX [field] [value]`
|
|
270
|
+
|
|
271
|
+
| Field | Description | Example |
|
|
272
|
+
|-------|-------------|---------|
|
|
273
|
+
| `name` | EPIC name | "New name" |
|
|
274
|
+
| `priority` | Priority | High, Medium, Low |
|
|
275
|
+
| `mmf` | Minimum Marketable Feature | "MMF description" |
|
|
276
|
+
| `description` | Description | "New description" |
|
|
277
|
+
|
|
278
|
+
> **Status is not editable here.** An EPIC status is derived from its stories' statuses in `.bmad/sprint-status.yaml`. To change a story status use `/project:backlog move story`; for a task status use `/project:backlog move task`.
|
|
279
|
+
|
|
280
|
+
- **Interactive mode** (ID only): display the current fields numbered (Name, Priority, MMF, Description) and ask which one to modify (`1-4`, or `q` to quit)
|
|
281
|
+
- **Direct mode** (field and value): modify the field directly
|
|
282
|
+
|
|
283
|
+
Steps: validate the EPIC exists, read the file, modify the field, update the modification date, save, update the index if necessary.
|
|
284
|
+
|
|
285
|
+
```
|
|
286
|
+
✅ EPIC updated!
|
|
287
|
+
|
|
288
|
+
📋 EPIC-001: Authentication system
|
|
289
|
+
|
|
290
|
+
Modification:
|
|
291
|
+
Priority: High → Medium
|
|
292
|
+
|
|
293
|
+
File: project-management/backlog/epics/EPIC-001-authentication-system.md
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
Examples: `/project:backlog edit epic EPIC-001`, `... edit epic EPIC-001 name "Authentication and Authorization"`, `... edit epic EPIC-001 priority Low`, `... edit epic EPIC-001 mmf "Allow SSO and 2FA"`.
|
|
297
|
+
|
|
298
|
+
Validation: field must be modifiable, priority High/Medium/Low, name not empty.
|
|
299
|
+
|
|
300
|
+
## edit story
|
|
301
|
+
|
|
302
|
+
`/project:backlog edit story US-XXX [field] [value]`
|
|
303
|
+
|
|
304
|
+
| Field | Description | Example |
|
|
305
|
+
|-------|-------------|---------|
|
|
306
|
+
| `name` | US name | "New name" |
|
|
307
|
+
| `points` | Story points | 1, 2, 3, 5, 8 |
|
|
308
|
+
| `epic` | Parent EPIC | EPIC-002 |
|
|
309
|
+
| `persona` | Related persona | P-001 |
|
|
310
|
+
| `story` | US text | "As a..." |
|
|
311
|
+
| `criteria` | Acceptance criteria | (interactive mode) |
|
|
312
|
+
|
|
313
|
+
> **Status is not editable here.** Statuses live in `.bmad/sprint-status.yaml`. To change a story status use `/project:backlog move story`; for a task status use `/project:backlog move task`.
|
|
314
|
+
|
|
315
|
+
- **Interactive mode** (ID only): display the numbered fields (Name, EPIC, Points, Persona, Story, Acceptance criteria) and ask which one to modify (`1-6`, or `q`)
|
|
316
|
+
- **Direct mode**: e.g. `/project:backlog edit story US-001 points 8`
|
|
317
|
+
- **Acceptance criteria** (interactive): list the criteria (CA-1, CA-2, ...) then ask `(a)dd, (m)odify, (d)elete, (q)uit`; a new criterion is entered in Gherkin (GIVEN / WHEN / THEN)
|
|
318
|
+
|
|
319
|
+
Steps: validate the US exists, read the file, modify the field, update the modification date, save, update the parent EPIC if changed, update the index.
|
|
320
|
+
|
|
321
|
+
```
|
|
322
|
+
✅ User Story updated!
|
|
323
|
+
|
|
324
|
+
📖 US-001: User login
|
|
325
|
+
|
|
326
|
+
Modification:
|
|
327
|
+
Points: 5 → 8
|
|
328
|
+
|
|
329
|
+
⚠️ Warning: 8 points is the maximum recommended.
|
|
330
|
+
Consider splitting this US if too complex.
|
|
331
|
+
|
|
332
|
+
File: project-management/backlog/user-stories/US-001-user-login.md
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
If the parent EPIC changes (`EPIC: EPIC-001 → EPIC-002`), report the updates: US removed from the old EPIC list, added to the new one, index updated; also update `epic_id` in `.bmad/sprint-status.yaml`.
|
|
336
|
+
|
|
337
|
+
Examples: `/project:backlog edit story US-001`, `... edit story US-001 points 3`, `... edit story US-001 epic EPIC-002`, `... edit story US-001 name "User login with SSO"`.
|
|
338
|
+
|
|
339
|
+
Validation: points Fibonacci (1, 2, 3, 5, 8), warn to split if > 8, EPIC must exist, persona must be defined in personas.md.
|
|
340
|
+
|
|
341
|
+
## move task
|
|
342
|
+
|
|
343
|
+
`/project:backlog move task TASK-XXX <destination>`
|
|
344
|
+
|
|
345
|
+
- **TASK-ID** (required); **Destination** (required): `in-progress` (start), `blocked`, `done`. For a **story** status use `/project:backlog move story`.
|
|
346
|
+
|
|
347
|
+
```
|
|
348
|
+
to-do ──→ in-progress ──→ done
|
|
349
|
+
│ │
|
|
350
|
+
│ ↓
|
|
351
|
+
└────→ blocked ←────┘
|
|
352
|
+
│
|
|
353
|
+
↓
|
|
354
|
+
in-progress
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
| From | To | Allowed |
|
|
358
|
+
|------|----|---------|
|
|
359
|
+
| to-do | in-progress | ✅ |
|
|
360
|
+
| to-do | blocked | ✅ |
|
|
361
|
+
| to-do | done | ❌ **Forbidden** |
|
|
362
|
+
| in-progress | done | ✅ |
|
|
363
|
+
| in-progress | blocked | ✅ |
|
|
364
|
+
| in-progress | to-do | ✅ (rollback) |
|
|
365
|
+
| blocked | in-progress | ✅ |
|
|
366
|
+
| done | in-progress | ⚠️ (reopening) |
|
|
367
|
+
|
|
368
|
+
Process:
|
|
369
|
+
|
|
370
|
+
1. **Validate the task**: find the task file, read its current status from `.bmad/sprint-status.yaml` (`stories.<US>.tasks.status.<TASK>`), identify the US and sprint
|
|
371
|
+
2. **Validate the transition** against the table; to-do → done is blocked and `in-progress` is suggested
|
|
372
|
+
3. **To blocked**: ask for the blocker (`What is the blocker for TASK-XXX?`)
|
|
373
|
+
4. **To done**: ask for the time spent (`Time spent on TASK-XXX? (estimation: 4h)`)
|
|
374
|
+
5. **Update the status**: write it in `.bmad/sprint-status.yaml` (`stories.<US>.tasks.status.<TASK>`), recompute `stories.<US>.tasks.completed` (= number of `done` tasks); never in the task file. In the task file only content changes: blocker text if blocked, time spent if done, modification date
|
|
375
|
+
6. **Update the board**: regenerate the sprint `board.md` from `.bmad/sprint-status.yaml` and update metrics
|
|
376
|
+
7. **Update the User Story** (task list content, progress recomputed from `.bmad/sprint-status.yaml`); if all tasks are done, suggest completing the US
|
|
377
|
+
8. **Update the index** global counters
|
|
378
|
+
|
|
379
|
+
Outputs:
|
|
380
|
+
|
|
381
|
+
```
|
|
382
|
+
✅ Task moved!
|
|
383
|
+
|
|
384
|
+
🔧 TASK-003: Login API endpoint
|
|
385
|
+
Before: to-do
|
|
386
|
+
After: in-progress
|
|
387
|
+
|
|
388
|
+
📖 US-001: User login
|
|
389
|
+
Progress: 2/6 → 3/6 (50%)
|
|
390
|
+
|
|
391
|
+
Next steps:
|
|
392
|
+
/project:backlog move task TASK-003 done # When completed
|
|
393
|
+
/project:backlog move task TASK-003 blocked # If blocked
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
On `done`, also show estimation vs actual time (`Estimation: 4h`, `Actual time: 3.5h ✓`), the US progress bar and the sprint totals (tasks done, hours completed). When all tasks of the US are done:
|
|
397
|
+
|
|
398
|
+
```
|
|
399
|
+
🎉 All tasks of US-001 completed!
|
|
400
|
+
|
|
401
|
+
Recommended next step:
|
|
402
|
+
/project:backlog move story US-001 done
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
Workflow error:
|
|
406
|
+
|
|
407
|
+
```
|
|
408
|
+
❌ Transition not allowed!
|
|
409
|
+
|
|
410
|
+
🔧 TASK-004: Auth controller
|
|
411
|
+
Current status: to-do
|
|
412
|
+
Requested transition: → done
|
|
413
|
+
|
|
414
|
+
Rule: A task must go through "In Progress" before "Done"
|
|
415
|
+
|
|
416
|
+
Correct action:
|
|
417
|
+
/project:backlog move task TASK-004 in-progress
|
|
418
|
+
# ... work on task ...
|
|
419
|
+
/project:backlog move task TASK-004 done
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
On `blocked`, show `Status: in-progress → blocked`, the blocker text and how to unblock (complete the blocking task, then `/project:backlog move task TASK-005 in-progress`).
|
|
423
|
+
|
|
424
|
+
Examples: `/project:backlog move task TASK-001 in-progress`, `... move task TASK-001 done`, `... move task TASK-001 blocked`, `... move task TASK-001 in-progress` (unblock).
|
|
425
|
+
|
|
426
|
+
Metrics updated at each move: task count by status, estimated vs actual hours, US progress, sprint progress, Kanban board.
|
|
427
|
+
|
|
428
|
+
## next story
|
|
429
|
+
|
|
430
|
+
`/project:backlog next story [--claim]`
|
|
431
|
+
|
|
432
|
+
- **--claim** (optional): automatically move the story to `in-progress`
|
|
433
|
+
|
|
434
|
+
1. **Load**: read `.bmad/sprint-status.yaml`, collect the stories with status `ready-for-dev`, sort by priority (if defined) or by ID
|
|
435
|
+
2. **Check prerequisites** for each ready story: no blocking dependencies (every `Depends on` story is `done` or `review`, otherwise show which stories block), story points estimated, tasks decomposed, acceptance criteria defined
|
|
436
|
+
3. **Select**, in this order: all dependencies resolved, no blocking dependencies, lower story ID (earlier in the backlog), lower story points (simpler first)
|
|
437
|
+
4. **Display** the story: ID and title, points, EPIC, acceptance criteria, task list, prerequisites, dependencies, notes
|
|
438
|
+
5. **Claim** (only with `--claim`): same effect as `/project:backlog move story US-XXX in-progress` (gates, history): status `in-progress`, `tdd_phase` set to `red`, `current_task` set to the first task, entry appended to `history`
|
|
439
|
+
6. **Guide**: first task to work on and TDD reminder
|
|
440
|
+
|
|
441
|
+
```
|
|
442
|
+
═══════════════════════════════════════════════════════
|
|
443
|
+
Next Story Ready for Dev
|
|
444
|
+
═══════════════════════════════════════════════════════
|
|
445
|
+
|
|
446
|
+
📖 US-012: Implement user profile page
|
|
447
|
+
Epic: EPIC-003 (User Management)
|
|
448
|
+
Points: 5
|
|
449
|
+
Priority: High
|
|
450
|
+
|
|
451
|
+
Acceptance Criteria (3):
|
|
452
|
+
□ AC1: User can view their profile information
|
|
453
|
+
□ AC2: User can edit their name and email
|
|
454
|
+
□ AC3: Changes are validated before saving
|
|
455
|
+
|
|
456
|
+
Tasks (4):
|
|
457
|
+
□ TASK-031 [BE] Create profile API endpoint
|
|
458
|
+
□ TASK-033 [FE] Create profile component
|
|
459
|
+
|
|
460
|
+
Prerequisites:
|
|
461
|
+
✅ No blocking dependencies
|
|
462
|
+
✅ Story points estimated
|
|
463
|
+
✅ Tasks decomposed
|
|
464
|
+
✅ Acceptance criteria defined
|
|
465
|
+
|
|
466
|
+
Dependencies:
|
|
467
|
+
✅ US-001 (Login Page) — done
|
|
468
|
+
|
|
469
|
+
To start working:
|
|
470
|
+
/project:backlog move story US-012 in-progress
|
|
471
|
+
Or use: /project:backlog next story --claim
|
|
472
|
+
═══════════════════════════════════════════════════════
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
When no story is ready, show the backlog status (stories in backlog needing refinement, in progress, blocked) and suggestions: refine backlog stories (`/project:migrate --stories`), help with in-progress stories, unblock a blocked story (show the `blocked_reason`), view the dependency graph (`/project:report deps`), view the sprint (`/workflow:status`) and check story readiness (`/gate:check backlog`).
|
|
476
|
+
|
|
477
|
+
After claiming a story, follow TDD: 🔴 RED (failing test for the first AC/task), 🟢 GREEN (minimum code to pass), 🔵 REFACTOR (clean up, tests stay green), repeat per task. `tdd_phase` in `.bmad/sprint-status.yaml` tracks the phase.
|
|
478
|
+
|
|
479
|
+
Examples: `/project:backlog next story`, `/project:backlog next story --claim`.
|
|
480
|
+
|
|
481
|
+
## move story
|
|
482
|
+
|
|
483
|
+
`/project:backlog move story US-XXX <status> ["reason"]`
|
|
484
|
+
|
|
485
|
+
- **US-ID** (required); **Status** (required): `backlog`, `ready-for-dev`, `in-progress`, `review`, `done`, `blocked`, or `sprint-N` (assign the story to sprint N, e.g. `sprint-2`)
|
|
486
|
+
- **reason** (required for `blocked`): stored as `blocked_reason`
|
|
487
|
+
|
|
488
|
+
```
|
|
489
|
+
backlog → ready-for-dev → in-progress → review → done
|
|
490
|
+
↑ │
|
|
491
|
+
└────────────┘ (changes requested)
|
|
492
|
+
any status → blocked → previous_status (resume)
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
| From | To | Allowed |
|
|
496
|
+
|------|----|---------|
|
|
497
|
+
| backlog | ready-for-dev | ✅ |
|
|
498
|
+
| ready-for-dev | in-progress | ✅ |
|
|
499
|
+
| in-progress | review | ✅ |
|
|
500
|
+
| review | done | ✅ |
|
|
501
|
+
| review | in-progress | ✅ (changes requested) |
|
|
502
|
+
| any | blocked | ✅ (reason required) |
|
|
503
|
+
| blocked | previous_status | ✅ (resume) |
|
|
504
|
+
| in-progress | done | ❌ **Forbidden** (go through `review`) |
|
|
505
|
+
|
|
506
|
+
Process:
|
|
507
|
+
|
|
508
|
+
1. **Validate the story**: read `.bmad/sprint-status.yaml`, find the story by ID, get its current status
|
|
509
|
+
2. **Validate the transition** against the table above; otherwise display the valid transitions from the current status
|
|
510
|
+
3. **Check the gates** of the target status; a failed gate blocks the transition and lists the required actions:
|
|
511
|
+
|
|
512
|
+
| → Target | Gate requirements |
|
|
513
|
+
|----------|-------------------|
|
|
514
|
+
| `ready-for-dev` | Acceptance criteria defined, story points estimated, tasks decomposed |
|
|
515
|
+
| `in-progress` | No blocking dependencies, developer assigned (optional) |
|
|
516
|
+
| `review` | All tasks completed, tests passing (TDD green or refactor), code pushed |
|
|
517
|
+
| `done` | Code reviewed, all AC validated, DoD checklist complete |
|
|
518
|
+
| `blocked` | `blocked_reason` provided |
|
|
519
|
+
|
|
520
|
+
4. **Execute the transition**: everything is written in `.bmad/sprint-status.yaml` (single source of truth for status, schema in `.claude/templates/project/sprint-status.md`); Markdown US/EPIC files hold content only and never get a status:
|
|
521
|
+
1. Store `previous_status` in `stories.<US>`
|
|
522
|
+
2. Update `stories.<US>.status`
|
|
523
|
+
3. Set the timestamps
|
|
524
|
+
4. Update `stories.<US>.tdd_phase` if applicable
|
|
525
|
+
5. Append an entry to `stories.<US>.history` (`timestamp`, `from`, `to`, `by`, `reason`)
|
|
526
|
+
5. **Apply the side effects**: `→ in-progress`: `tdd_phase: red`, `current_task` = first task | `→ review`: `tdd_phase: refactor`, clear `current_task` | `→ done`: clear `tdd_phase`, record the completion time | `→ blocked`: store `blocked_reason` and `previous_status`
|
|
527
|
+
6. **Apply the routing rules**: after every transition, evaluate `routing.auto_transitions` (see `move story --auto` below) so that the dependent transitions are chained
|
|
528
|
+
|
|
529
|
+
```yaml
|
|
530
|
+
history:
|
|
531
|
+
- timestamp: "2026-01-29T10:00:00Z"
|
|
532
|
+
from: "in-progress"
|
|
533
|
+
to: "review"
|
|
534
|
+
by: "manual"
|
|
535
|
+
reason: "All tasks complete"
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
Successful transition:
|
|
539
|
+
|
|
540
|
+
```
|
|
541
|
+
📖 US-005: User authentication
|
|
542
|
+
|
|
543
|
+
Status: in-progress → review ✅
|
|
544
|
+
|
|
545
|
+
Gate checks:
|
|
546
|
+
✅ All tasks completed (5/5)
|
|
547
|
+
✅ Tests passing
|
|
548
|
+
✅ Code pushed
|
|
549
|
+
|
|
550
|
+
History updated:
|
|
551
|
+
• 2026-01-29 10:00 - in-progress → review (manual)
|
|
552
|
+
• 2026-01-27 09:00 - ready-for-dev → in-progress
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
Gate failed:
|
|
556
|
+
|
|
557
|
+
```
|
|
558
|
+
📖 US-005: User authentication
|
|
559
|
+
|
|
560
|
+
Requested: in-progress → review ❌
|
|
561
|
+
|
|
562
|
+
Gate failures:
|
|
563
|
+
❌ Tasks incomplete: 3/5
|
|
564
|
+
❌ TDD phase is 'red' - tests should pass first
|
|
565
|
+
|
|
566
|
+
Required actions:
|
|
567
|
+
1. Complete remaining tasks (TASK-015, TASK-016)
|
|
568
|
+
2. Move TDD to green phase: .bmad/sprint-status.yaml → US-005: tdd_phase: green
|
|
569
|
+
|
|
570
|
+
Then retry: /project:backlog move story US-005 review
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
Invalid transition: show the current and requested statuses, the reason (`Cannot transition directly from 'in-progress' to 'done'`), the valid transitions from the current status and the state machine.
|
|
574
|
+
|
|
575
|
+
Special cases:
|
|
576
|
+
|
|
577
|
+
- **Block**: `/project:backlog move story US-003 blocked "Waiting for API credentials"` stores the reason and preserves the previous status for resume
|
|
578
|
+
- **Unblock**: `/project:backlog move story US-003 in-progress` returns to the previous status
|
|
579
|
+
- **Changes requested** (review): `/project:backlog move story US-005 in-progress`
|
|
580
|
+
- **Assign to a sprint**: `/project:backlog move story US-003 sprint-2` assigns the story to sprint 2, creates the sprint directory if necessary; the story status is preserved
|
|
581
|
+
- **Cascade to tasks**: `→ in-progress` leaves tasks in their current status (started individually); `→ done` checks that all tasks are done and warns otherwise; `→ blocked` marks all in-progress tasks as blocked
|
|
582
|
+
|
|
583
|
+
Next steps by target status: `→ in-progress`: `/workflow:implement --story US-XXX` | `→ review`: `/gate:check story` (validate the DoD) | `→ done`: `/project:backlog next story` (and `/workflow:review` when the sprint is done) | `→ blocked`: resolve the blocker, then `/project:backlog move story US-XXX in-progress`.
|
|
584
|
+
|
|
585
|
+
### move story --auto
|
|
586
|
+
|
|
587
|
+
`/project:backlog move story --auto [--dry-run]`
|
|
588
|
+
|
|
589
|
+
Evaluate the routing rules and transition the stories accordingly (no story ID). **--dry-run** previews the transitions without applying them. The same rules are also applied after every `move story` transition and, depending on the `routing.auto_transitions` settings, in the Stop hook, after a task completion and at session start.
|
|
590
|
+
|
|
591
|
+
1. **Load**: read `.bmad/sprint-status.yaml`, load `routing.auto_transitions.rules`, get all stories
|
|
592
|
+
2. **Evaluate** every rule for every story:
|
|
593
|
+
|
|
594
|
+
| Rule | `when` | From → To |
|
|
595
|
+
|------|--------|-----------|
|
|
596
|
+
| `all_tasks_complete` | `tasks.completed == tasks.total && tasks.total > 0` | `in-progress` → `review` |
|
|
597
|
+
| `review_approved` | `review.approved == true` | `review` → `done` |
|
|
598
|
+
| `blocked_detection` | `blocked_reason != null` | `*` → `blocked` |
|
|
599
|
+
| `unblocked` | `blocked_reason == null && previous_status != null` | `blocked` → `previous_status` |
|
|
600
|
+
|
|
601
|
+
3. **Check prerequisites** before auto-transitioning: gate requirements of the target status (same as `move story`), no conflicting rules, story not manually locked
|
|
602
|
+
4. **Execute** (unless `--dry-run`): log the transition, update the status, record it in `history` with `by: "auto-route"`, apply the side effects (TDD phase, etc.)
|
|
603
|
+
5. **Report**: rules evaluated, stories checked, transitions made, unchanged stories, errors or warnings
|
|
604
|
+
|
|
605
|
+
```
|
|
606
|
+
═══════════════════════════════════════════════════════
|
|
607
|
+
Auto-Route Preview (DRY RUN)
|
|
608
|
+
═══════════════════════════════════════════════════════
|
|
609
|
+
Evaluating 4 routing rules against 8 stories...
|
|
610
|
+
|
|
611
|
+
Would transition:
|
|
612
|
+
📖 US-005: User authentication
|
|
613
|
+
Rule: all_tasks_complete
|
|
614
|
+
in-progress → review
|
|
615
|
+
Reason: 5/5 tasks completed
|
|
616
|
+
|
|
617
|
+
📖 US-003: OAuth integration
|
|
618
|
+
Rule: unblocked
|
|
619
|
+
blocked → in-progress
|
|
620
|
+
Reason: blocked_reason cleared
|
|
621
|
+
|
|
622
|
+
Summary:
|
|
623
|
+
Rules evaluated: 4 | Stories checked: 8
|
|
624
|
+
Would transition: 2 | No change needed: 6
|
|
625
|
+
|
|
626
|
+
Run without --dry-run to apply transitions.
|
|
627
|
+
═══════════════════════════════════════════════════════
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
Without `--dry-run` the report lists `✅ US-005: in-progress → review` with the rule and details, then `Transitioned: N`. When nothing is triggered: `No automatic transitions needed.` followed by the stories by status.
|
|
631
|
+
|
|
632
|
+
Custom rules and triggers are configured in `.bmad/sprint-status.yaml`:
|
|
633
|
+
|
|
634
|
+
```yaml
|
|
635
|
+
routing:
|
|
636
|
+
auto_transitions:
|
|
637
|
+
enabled: true
|
|
638
|
+
run_on_session_start: false
|
|
639
|
+
run_on_task_complete: true
|
|
640
|
+
rules:
|
|
641
|
+
- name: "review_timeout"
|
|
642
|
+
description: "Flag stories in review > 2 days"
|
|
643
|
+
when: "status == 'review' && days_in_status > 2"
|
|
644
|
+
action: "flag" # flag | transition | notify
|
|
645
|
+
- name: "priority_bump"
|
|
646
|
+
description: "Notify on high priority ready stories"
|
|
647
|
+
when: "priority == 'high' && status == 'ready-for-dev'"
|
|
648
|
+
action: "notify"
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
Next steps: `/project:backlog next story` (pick the next routed story), `/workflow:implement` (start development).
|
|
652
|
+
|
|
653
|
+
Examples: `/project:backlog move story US-005 review`, `/project:backlog move story US-003 blocked "Waiting for external API"`, `/project:backlog move story --auto --dry-run`, `/project:backlog move story --auto`.
|