@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: "Gerenciar o backlog: adicionar, listar, editar e mover EPICs, User Stories e Tarefas, escolher a próxima story, alterar o status das stories e aplicar as regras de roteamento"
|
|
3
|
+
argument-hint: "<add|list|edit|move|next> <epic|story|task> [args] | move story --auto"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Backlog
|
|
7
|
+
|
|
8
|
+
Ponto de entrada único para gerenciar o backlog do projeto: criar, listar, editar e mover EPICs, User Stories e Tarefas.
|
|
9
|
+
|
|
10
|
+
## Uso
|
|
11
|
+
|
|
12
|
+
| Invocação | O que faz | Substitui |
|
|
13
|
+
|-----------|-----------|-----------|
|
|
14
|
+
| `/project:backlog add epic "Nome" [prioridade]` | Criar um EPIC | `/project:backlog add epic` |
|
|
15
|
+
| `/project:backlog add story EPIC-XXX "Nome" [pontos]` | Criar uma User Story em um EPIC | `/project:backlog add story` |
|
|
16
|
+
| `/project:backlog add task US-XXX "[TIPO] Descrição" 4h` | Criar uma Tarefa em uma User Story | `/project:backlog add task` |
|
|
17
|
+
| `/project:backlog list epic [status] [prioridade]` | Listar os EPICs com status derivado e progresso | `/project:backlog list epic` |
|
|
18
|
+
| `/project:backlog list story [epic EPIC-XXX \| sprint N \| status S \| backlog]` | Listar as User Stories | `/project:backlog list story` |
|
|
19
|
+
| `/project:backlog list task [us US-XXX \| sprint N \| type T \| status S]` | Listar as Tarefas | `/project:backlog list task` |
|
|
20
|
+
| `/project:backlog edit epic EPIC-XXX [campo] [valor]` | Modificar um EPIC | `/project:backlog edit epic` |
|
|
21
|
+
| `/project:backlog edit story US-XXX [campo] [valor]` | Modificar uma User Story | `/project:backlog edit story` |
|
|
22
|
+
| `/project:backlog move task TASK-XXX <in-progress\|blocked\|done>` | Alterar o status de uma Tarefa | `/project:backlog move task` |
|
|
23
|
+
| `/project:backlog next story [--claim]` | Escolher a próxima story `ready-for-dev` por prioridade e dependências (`--claim` a move para `in-progress`) | `/project:backlog next story` |
|
|
24
|
+
| `/project:backlog move story US-XXX <backlog\|ready-for-dev\|in-progress\|review\|done\|blocked\|sprint-N> ["motivo"]` | Alterar o status de uma story pela máquina de estados BMAD, com gates | `/project:backlog move story` |
|
|
25
|
+
| `/project:backlog move story --auto [--dry-run]` | Avaliar as regras `routing.auto_transitions` de `.bmad/sprint-status.yaml` e aplicar as transições acionadas | `/project:backlog move story --auto` |
|
|
26
|
+
|
|
27
|
+
Não existem `edit task` nem `move epic`: os status dos EPICs são derivados. Os status das stories são alterados com `move story` (máquina de estados com gates); as regras `routing.auto_transitions` também são aplicadas após cada transição.
|
|
28
|
+
|
|
29
|
+
## Argumentos
|
|
30
|
+
|
|
31
|
+
$ARGUMENTS: `<ação> <entidade> [args]`
|
|
32
|
+
|
|
33
|
+
1. Primeira palavra = ação: `add`, `list`, `edit`, `move` ou `next`
|
|
34
|
+
2. Segunda palavra = entidade: `epic`, `story` ou `task` (`move` aceita `task` ou `story`, `next` apenas `story`)
|
|
35
|
+
3. O restante é repassado à seção correspondente abaixo
|
|
36
|
+
4. Ação ou entidade ausente ou desconhecida: exibir a tabela de Uso e parar. `move epic`: responder que o status do EPIC é derivado
|
|
37
|
+
|
|
38
|
+
## Regras comuns
|
|
39
|
+
|
|
40
|
+
### Fonte da verdade do status
|
|
41
|
+
|
|
42
|
+
- **O status vive somente em `.bmad/sprint-status.yaml`** (fonte única da verdade, schema: `.claude/templates/project/sprint-status.md`). Usar as strings de status exatas do schema.
|
|
43
|
+
- Story: `backlog`, `ready-for-dev`, `in-progress`, `review`, `done`, `blocked`
|
|
44
|
+
- Tarefa (`stories.<US>.tasks.status.<TASK>`): `to-do`, `in-progress`, `blocked`, `done`
|
|
45
|
+
- **Os arquivos markdown contêm apenas conteúdo** (nome, descrição, pontos, critérios, estimativa, texto do bloqueio, tempo gasto). Nunca escrever um status em um arquivo de EPIC, US ou tarefa, nem nas tabelas que eles contêm.
|
|
46
|
+
- **O status de um EPIC é derivado, nunca armazenado**: todas as stories `backlog` (ou nenhuma story) = não iniciado; todas `done` = concluído; alguma `blocked` e nenhuma em andamento = bloqueado; caso contrário em andamento.
|
|
47
|
+
- Os boards (`board.md`) são visões geradas: regenerá-los a partir de `.bmad/sprint-status.yaml`, nunca editá-los à mão.
|
|
48
|
+
- Se `.bmad/sprint-status.yaml` não existir, criá-lo a partir do esqueleto de `/workflow:init`.
|
|
49
|
+
|
|
50
|
+
### Caminhos e templates
|
|
51
|
+
|
|
52
|
+
| Elemento | Caminho |
|
|
53
|
+
|----------|---------|
|
|
54
|
+
| EPICs | `project-management/backlog/epics/EPIC-{ID}-{slug}.md` |
|
|
55
|
+
| User Stories | `project-management/backlog/user-stories/US-{ID}-{slug}.md` |
|
|
56
|
+
| Tarefas (US em um sprint) | `project-management/sprints/sprint-{N}-{slug}/tasks/TASK-{ID}.md` |
|
|
57
|
+
| Tarefas (caso contrário) | `project-management/backlog/tasks/TASK-{ID}.md` |
|
|
58
|
+
| Índice | `project-management/backlog/index.md` |
|
|
59
|
+
| Templates | `.claude/templates/project/{epic,user-story,task}.md` |
|
|
60
|
+
|
|
61
|
+
### Modo Plano (add, edit, move)
|
|
62
|
+
|
|
63
|
+
> **O modo plano é obrigatório** para toda ação que escreve (`add`, `edit`, `move`). Antes de executar, Claude ativa o modo plano para analisar o código impactado, propor um plano de implementação e aguardar sua validação antes de realizar qualquer alteração. `list` é somente leitura.
|
|
64
|
+
|
|
65
|
+
### Ícones de status (list)
|
|
66
|
+
|
|
67
|
+
| Ícone | Significado |
|
|
68
|
+
|-------|-------------|
|
|
69
|
+
| 🔴 | A fazer / backlog (não iniciado) |
|
|
70
|
+
| 🟡 | Em andamento |
|
|
71
|
+
| ⏸️ | Bloqueado |
|
|
72
|
+
| 🟢 | Concluído |
|
|
73
|
+
|
|
74
|
+
## add epic
|
|
75
|
+
|
|
76
|
+
`/project:backlog add epic "Nome do EPIC" [prioridade]`
|
|
77
|
+
|
|
78
|
+
- **Nome** (obrigatório), **Prioridade** (opcional): High, Medium, Low (padrão: Medium)
|
|
79
|
+
|
|
80
|
+
1. **Gerar o ID**: ler `project-management/backlog/epics/`, encontrar o último `EPIC-XXX`, incrementar
|
|
81
|
+
2. **Coletar** (se não fornecidos): descrição, MMF (Minimum Marketable Feature), 2-3 objetivos de negócio, critérios de sucesso
|
|
82
|
+
3. **Criar o arquivo** a partir de `.claude/templates/project/epic.md`, substituindo `{ID}`, `{NOM}`, `{PRIORITE}`, `{MINIMUM_MARKETABLE_FEATURE}`, `{DESCRIPTION}`, `{DATE}` (AAAA-MM-DD), `{OBJECTIF_1}`, `{OBJECTIF_2}`, `{CRITERE_1}`, `{CRITERE_2}`. Nenhum status é escrito.
|
|
83
|
+
4. **Atualizar o índice**: adicionar o EPIC à tabela de EPICs, atualizar os contadores
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
✅ EPIC criado com sucesso!
|
|
87
|
+
|
|
88
|
+
📋 EPIC-{ID}: {NOME}
|
|
89
|
+
Status: derivado de suas stories (nenhuma ainda)
|
|
90
|
+
Prioridade: {PRIORIDADE}
|
|
91
|
+
Arquivo: project-management/backlog/epics/EPIC-{ID}-{slug}.md
|
|
92
|
+
|
|
93
|
+
Próximos passos:
|
|
94
|
+
/project:backlog add story EPIC-{ID} "Nome da User Story"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Exemplo: `/project:backlog add epic "Sistema de autenticação" High` cria `project-management/backlog/epics/EPIC-001-sistema-de-autenticacao.md`.
|
|
98
|
+
|
|
99
|
+
Validação: nome não vazio, prioridade entre High/Medium/Low, `project-management/backlog/epics/` existe, ID único.
|
|
100
|
+
|
|
101
|
+
## add story
|
|
102
|
+
|
|
103
|
+
`/project:backlog add story EPIC-XXX "Nome da US" [pontos]`
|
|
104
|
+
|
|
105
|
+
- **EPIC-ID** (obrigatório), **Nome** (obrigatório), **Pontos** (opcional): Fibonacci (1, 2, 3, 5, 8)
|
|
106
|
+
|
|
107
|
+
1. **Validar o EPIC**: ele deve existir em `project-management/backlog/epics/`; caso contrário, exibir um erro com os EPICs disponíveis
|
|
108
|
+
2. **Gerar o ID**: ler `project-management/backlog/user-stories/`, encontrar o último `US-XXX`, incrementar
|
|
109
|
+
3. **Coletar**: persona (P-XXX ou descrição), ação, benefício, pelo menos 2 critérios de aceitação no formato Gherkin, pontos (estimar se não fornecidos)
|
|
110
|
+
4. **Criar o arquivo** a partir de `.claude/templates/project/user-story.md`, substituindo `{ID}`, `{NOM}`, `{EPIC_ID}`, `{SPRINT}` ("Backlog" = não atribuída), `{POINTS}`, `{PERSONA}`, `{PERSONA_ID}`, `{ACTION}`, `{BENEFICE}`, `{DATE}`; adicionar os critérios Gherkin
|
|
111
|
+
5. **Registrar o status** em `.bmad/sprint-status.yaml`: adicionar `stories.US-{ID}` com `title`, `status: backlog`, `story_points`, `epic_id`, `priority`, `dependencies: []`, `tasks: { total: 0, completed: 0, list: [] }`, `history: []`
|
|
112
|
+
6. **Atualizar o EPIC** (adicionar a US à sua tabela de User Stories, sem coluna de status; atualizar o progresso) e o **índice** (seção "Backlog priorizado", contadores)
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
✅ User Story criada com sucesso!
|
|
116
|
+
|
|
117
|
+
📖 US-{ID}: {NOME}
|
|
118
|
+
EPIC: {EPIC_ID}
|
|
119
|
+
Status: backlog (.bmad/sprint-status.yaml)
|
|
120
|
+
Pontos: {PONTOS}
|
|
121
|
+
Arquivo: project-management/backlog/user-stories/US-{ID}-{slug}.md
|
|
122
|
+
|
|
123
|
+
Próximos passos:
|
|
124
|
+
/project:backlog move story US-{ID} sprint-X # Atribuir a um sprint
|
|
125
|
+
/project:backlog add task US-{ID} "[BE] ..." 4h # Adicionar tarefas
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Exemplo: `/project:backlog add story EPIC-001 "Login do usuário" 5`.
|
|
129
|
+
|
|
130
|
+
Verificação INVEST: **I**ndependente, **N**egociável, **V**aliosa, **E**stimável (pontos fornecidos), **S**mall/pequena (≤ 8 pontos, senão sugerir dividir), **T**estável (critérios de aceitação claros).
|
|
131
|
+
|
|
132
|
+
## add task
|
|
133
|
+
|
|
134
|
+
`/project:backlog add task US-XXX "[TIPO] Descrição" estimativa`
|
|
135
|
+
|
|
136
|
+
- **US-ID** (obrigatório), **Descrição** com o tipo entre colchetes (obrigatório), **Estimativa** em horas (obrigatória, ex.: 4h, 2h, 0.5h)
|
|
137
|
+
|
|
138
|
+
| Tipo | Prefixo | Descrição |
|
|
139
|
+
|------|---------|-----------|
|
|
140
|
+
| Banco de dados | `[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
|
+
| Testes | `[TEST]` | Unitários, Integração, E2E |
|
|
145
|
+
| Documentação | `[DOC]` | PHPDoc, DartDoc, README |
|
|
146
|
+
| DevOps | `[OPS]` | Docker, CI/CD |
|
|
147
|
+
| Revisão | `[REV]` | Code Review |
|
|
148
|
+
|
|
149
|
+
1. **Validar a US**: ela deve existir em `project-management/backlog/user-stories/`; obter seu sprint (se houver); caso contrário, exibir um erro
|
|
150
|
+
2. **Validar a estimativa**: mínimo 0.5h, máximo 8h, ideal 2-4h; se > 8h, sugerir dividir a tarefa
|
|
151
|
+
3. **Gerar o ID**: encontrar o último ID de tarefa, incrementar
|
|
152
|
+
4. **Criar o arquivo** a partir de `.claude/templates/project/task.md`, substituindo `{ID}`, `{DESCRIPTION}`, `{US_ID}`, `{TYPE}`, `{ESTIMATION}`, `{DATE}`, `{DESCRIPTION_DETAILLEE}`; caminho: diretório de tarefas do sprint se a US estiver em um sprint, senão `project-management/backlog/tasks/`
|
|
153
|
+
5. **Registrar a tarefa** em `.bmad/sprint-status.yaml`: adicionar `TASK-{ID}` a `stories.{US_ID}.tasks.list`, definir `stories.{US_ID}.tasks.status.TASK-{ID}: to-do`, atualizar `stories.{US_ID}.tasks.total` (manter `completed` = número de tarefas `done`)
|
|
154
|
+
6. **Atualizar a US** (adicionar a tarefa à sua tabela de tarefas, sem coluna de status; atualizar o progresso)
|
|
155
|
+
7. **Atualizar o board** se a US estiver em um sprint: regenerar `board.md` a partir de `.bmad/sprint-status.yaml` (a tarefa aparece em `to-do`) e atualizar as métricas
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
✅ Tarefa criada com sucesso!
|
|
159
|
+
|
|
160
|
+
🔧 TASK-{ID}: {DESCRIÇÃO}
|
|
161
|
+
US: {US_ID}
|
|
162
|
+
Tipo: {TIPO}
|
|
163
|
+
Status: to-do (.bmad/sprint-status.yaml)
|
|
164
|
+
Estimativa: {ESTIMATIVA}h
|
|
165
|
+
Arquivo: {CAMINHO}
|
|
166
|
+
|
|
167
|
+
Próximos passos:
|
|
168
|
+
/project:backlog move task TASK-{ID} in-progress # Iniciar a tarefa
|
|
169
|
+
/workflow:status --board # Ver o Kanban
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Exemplos: `/project:backlog add task US-001 "[BE] Endpoint da API de login" 4h`, `/project:backlog add task US-001 "[TEST] Testes unitários do AuthService" 3h`.
|
|
173
|
+
|
|
174
|
+
Validação: tipo válido, estimativa entre 0.5h e 8h, a User Story existe, ID único.
|
|
175
|
+
|
|
176
|
+
## list epic
|
|
177
|
+
|
|
178
|
+
`/project:backlog list epic [status] [prioridade]`
|
|
179
|
+
|
|
180
|
+
- **Status** (derivado das stories): todo, in-progress, blocked, done, all (padrão: all)
|
|
181
|
+
- **Prioridade**: high, medium, low
|
|
182
|
+
|
|
183
|
+
1. Percorrer `project-management/backlog/epics/`, ler cada `EPIC-XXX-*.md` para os metadados de conteúdo (nome, prioridade)
|
|
184
|
+
2. Ler os status de suas stories em `.bmad/sprint-status.yaml`
|
|
185
|
+
3. Aplicar os filtros; para cada EPIC contar o total de US, as US por status e o percentual de progresso (status do EPIC derivado conforme descrito nas Regras comuns)
|
|
186
|
+
4. Exibir a tabela
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
📋 EPICs do projeto
|
|
190
|
+
|
|
191
|
+
| ID | Nome | Status | Prioridade | US | Progresso |
|
|
192
|
+
|----|------|--------|------------|-----|-----------|
|
|
193
|
+
| EPIC-001 | Autenticação | 🟡 Em andamento | High | 5 | ████░░░░░░ 40% |
|
|
194
|
+
| EPIC-002 | Catálogo | 🔴 A fazer | Medium | 8 | ░░░░░░░░░░ 0% |
|
|
195
|
+
|
|
196
|
+
───────────────────────────────────────────────────
|
|
197
|
+
Resumo: 2 EPICs | 🔴 1 A fazer | 🟡 1 Em andamento | 🟢 0 Concluído
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Com muitos EPICs (ex.: 12), usar o formato compacto: uma linha por grupo de status (`🔴 A fazer (5): EPIC-002, EPIC-003, ...`, `🟡 Em andamento (4): EPIC-001 (40%), ...`, `⏸️ Bloqueado`, `🟢 Concluído`).
|
|
201
|
+
|
|
202
|
+
Exemplos: `/project:backlog list epic`, `/project:backlog list epic in-progress`, `/project:backlog list epic all high`, `/project:backlog list epic blocked`.
|
|
203
|
+
|
|
204
|
+
Para o detalhe de um EPIC, sugerir: `cat project-management/backlog/epics/EPIC-001-*.md`.
|
|
205
|
+
|
|
206
|
+
## list story
|
|
207
|
+
|
|
208
|
+
`/project:backlog list story [filtro] [valor]`
|
|
209
|
+
|
|
210
|
+
- `epic EPIC-XXX`: filtrar por EPIC | `sprint N`: filtrar por sprint | `status STATUS`: backlog, ready-for-dev, in-progress, review, done, blocked | `backlog`: somente as US não atribuídas a um sprint
|
|
211
|
+
|
|
212
|
+
1. Percorrer `project-management/backlog/user-stories/`, ler cada `US-XXX-*.md` para os metadados de conteúdo (título, EPIC, sprint)
|
|
213
|
+
2. Ler o status de cada US, os status e as contagens de tarefas em `.bmad/sprint-status.yaml`
|
|
214
|
+
3. Aplicar os filtros; por US contar o total de tarefas, as tarefas por status e o percentual de progresso
|
|
215
|
+
4. Exibir uma tabela agrupada por EPIC ou por sprint conforme o contexto
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
📖 User Stories - EPIC-001: Autenticação
|
|
219
|
+
|
|
220
|
+
| ID | Nome | Sprint | Status | Pontos | Tarefas | Progresso |
|
|
221
|
+
|----|------|--------|--------|--------|---------|-----------|
|
|
222
|
+
| US-001 | Login do usuário | Sprint 1 | 🟡 Em andamento | 5 | 4/6 | ██████░░░░ 67% |
|
|
223
|
+
| US-002 | Cadastro | Sprint 1 | 🔴 A fazer | 3 | 0/5 | ░░░░░░░░░░ 0% |
|
|
224
|
+
| US-003 | Esqueci a senha | Backlog | 🔴 A fazer | 3 | - | - |
|
|
225
|
+
|
|
226
|
+
───────────────────────────────────────────────────
|
|
227
|
+
Total: 3 US | 11 pontos | 🔴 2 | 🟡 1 | 🟢 0
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
- Por sprint: colunas `ID | EPIC | Nome | Status | Pontos | Tarefas | Progresso`, rodapé `Sprint 1: 3 US | 13 pontos | Concluído: 5 pts (38%)`
|
|
231
|
+
- Backlog (não atribuídas): colunas `ID | EPIC | Nome | Prioridade | Pontos | Status`, rodapé `Backlog: 3 US | 16 pontos a planejar`
|
|
232
|
+
|
|
233
|
+
Exemplos: `/project:backlog list story`, `... list story epic EPIC-001`, `... list story sprint 1`, `... list story status blocked`, `... list story backlog`.
|
|
234
|
+
|
|
235
|
+
Ações sugeridas: `/project:backlog move story US-XXX sprint-2` (atribuir a um sprint), `/project:backlog move story US-XXX in-progress` (alterar o status), `/project:backlog add task US-XXX "[BE] ..." 4h`.
|
|
236
|
+
|
|
237
|
+
## list task
|
|
238
|
+
|
|
239
|
+
`/project:backlog list task [filtro] [valor]`
|
|
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. Percorrer `project-management/sprints/sprint-{N}-{slug}/tasks/` e `project-management/backlog/tasks/` (se existir), ler cada `TASK-XXX.md` para os metadados de conteúdo (tipo, descrição, estimativa)
|
|
244
|
+
2. Ler o status de cada tarefa em `.bmad/sprint-status.yaml` (`stories.<US>.tasks.status.<TASK>`)
|
|
245
|
+
3. Aplicar os filtros; calcular o total de horas estimadas, as horas concluídas, a divisão por tipo e por status
|
|
246
|
+
4. Exibir
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
🔧 Tarefas - US-001: Login do usuário
|
|
250
|
+
|
|
251
|
+
| ID | Tipo | Descrição | Status | Est. | Gasto |
|
|
252
|
+
|----|------|-----------|--------|------|-------|
|
|
253
|
+
| TASK-001 | [DB] | Entidade User | 🟢 Concluído | 2h | 2h |
|
|
254
|
+
| TASK-003 | [BE] | Endpoint da API de login | 🟡 Em andamento | 4h | 2h |
|
|
255
|
+
| TASK-004 | [FE-WEB] | Controller de auth | 🔴 A fazer | 3h | - |
|
|
256
|
+
| TASK-005 | [FE-MOB] | Tela de login | ⏸️ Bloqueado | 6h | - |
|
|
257
|
+
|
|
258
|
+
───────────────────────────────────────────────────
|
|
259
|
+
US-001: 4 tarefas | 15h estimadas | 4h concluídas (27%)
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
- Por sprint: resumo por status (`🔴 A fazer (8 tarefas, 24h)`, ...) e por tipo (uma barra por `[DB]`, `[BE]`, ...), rodapé `Sprint 1: 25 tarefas | 77h estimadas | 35h concluídas (45%)`
|
|
263
|
+
- Bloqueadas (`status blocked`): colunas `ID | US | Tipo | Descrição | Bloqueio`, rodapé `2 tarefas bloqueadas | 14h em espera`, depois uma lista `Ações:` indicando como resolver cada bloqueio
|
|
264
|
+
|
|
265
|
+
Exemplos: `/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 [campo] [valor]`
|
|
270
|
+
|
|
271
|
+
| Campo | Descrição | Exemplo |
|
|
272
|
+
|-------|-----------|---------|
|
|
273
|
+
| `name` | Nome do EPIC | "Novo nome" |
|
|
274
|
+
| `priority` | Prioridade | High, Medium, Low |
|
|
275
|
+
| `mmf` | Minimum Marketable Feature | "Descrição do MMF" |
|
|
276
|
+
| `description` | Descrição | "Nova descrição" |
|
|
277
|
+
|
|
278
|
+
> **O status não é editável aqui.** O status de um EPIC é derivado dos status de suas stories em `.bmad/sprint-status.yaml`. Para alterar o status de uma story use `/project:backlog move story`; para o de uma tarefa, `/project:backlog move task`.
|
|
279
|
+
|
|
280
|
+
- **Modo interativo** (somente o ID): exibir os campos atuais numerados (Nome, Prioridade, MMF, Descrição) e perguntar qual modificar (`1-4`, ou `q` para sair)
|
|
281
|
+
- **Modo direto** (campo e valor): modificar diretamente o campo
|
|
282
|
+
|
|
283
|
+
Etapas: validar que o EPIC existe, ler o arquivo, modificar o campo, atualizar a data de modificação, salvar, atualizar o índice se necessário.
|
|
284
|
+
|
|
285
|
+
```
|
|
286
|
+
✅ EPIC atualizado!
|
|
287
|
+
|
|
288
|
+
📋 EPIC-001: Sistema de autenticação
|
|
289
|
+
|
|
290
|
+
Modificação:
|
|
291
|
+
Prioridade: High → Medium
|
|
292
|
+
|
|
293
|
+
Arquivo: project-management/backlog/epics/EPIC-001-sistema-de-autenticacao.md
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
Exemplos: `/project:backlog edit epic EPIC-001`, `... edit epic EPIC-001 name "Autenticação e autorização"`, `... edit epic EPIC-001 priority Low`, `... edit epic EPIC-001 mmf "Permitir SSO e 2FA"`.
|
|
297
|
+
|
|
298
|
+
Validação: o campo deve ser modificável, prioridade High/Medium/Low, nome não vazio.
|
|
299
|
+
|
|
300
|
+
## edit story
|
|
301
|
+
|
|
302
|
+
`/project:backlog edit story US-XXX [campo] [valor]`
|
|
303
|
+
|
|
304
|
+
| Campo | Descrição | Exemplo |
|
|
305
|
+
|-------|-----------|---------|
|
|
306
|
+
| `name` | Nome da US | "Novo nome" |
|
|
307
|
+
| `points` | Story points | 1, 2, 3, 5, 8 |
|
|
308
|
+
| `epic` | EPIC pai | EPIC-002 |
|
|
309
|
+
| `persona` | Persona associada | P-001 |
|
|
310
|
+
| `story` | Texto da US | "Como um..." |
|
|
311
|
+
| `criteria` | Critérios de aceitação | (modo interativo) |
|
|
312
|
+
|
|
313
|
+
> **O status não é editável aqui.** Os status vivem em `.bmad/sprint-status.yaml`. Para alterar o status de uma story use `/project:backlog move story`; para o de uma tarefa, `/project:backlog move task`.
|
|
314
|
+
|
|
315
|
+
- **Modo interativo** (somente o ID): exibir os campos numerados (Nome, EPIC, Pontos, Persona, Story, Critérios de aceitação) e perguntar qual modificar (`1-6`, ou `q`)
|
|
316
|
+
- **Modo direto**: por ex. `/project:backlog edit story US-001 points 8`
|
|
317
|
+
- **Critérios de aceitação** (interativo): listar os critérios (CA-1, CA-2, ...) e perguntar `(a)dicionar, (m)odificar, (e)xcluir, (s)air`; um novo critério é informado em Gherkin (GIVEN / WHEN / THEN)
|
|
318
|
+
|
|
319
|
+
Etapas: validar que a US existe, ler o arquivo, modificar o campo, atualizar a data de modificação, salvar, atualizar o EPIC pai se mudou, atualizar o índice.
|
|
320
|
+
|
|
321
|
+
```
|
|
322
|
+
✅ User Story atualizada!
|
|
323
|
+
|
|
324
|
+
📖 US-001: Login do usuário
|
|
325
|
+
|
|
326
|
+
Modificação:
|
|
327
|
+
Pontos: 5 → 8
|
|
328
|
+
|
|
329
|
+
⚠️ Atenção: 8 pontos é o máximo recomendado.
|
|
330
|
+
Considere dividir esta US se estiver complexa demais.
|
|
331
|
+
|
|
332
|
+
Arquivo: project-management/backlog/user-stories/US-001-login-do-usuario.md
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
Se o EPIC pai mudar (`EPIC: EPIC-001 → EPIC-002`), indicar as atualizações: US removida da lista do EPIC anterior, adicionada à do novo, índice atualizado; atualizar também `epic_id` em `.bmad/sprint-status.yaml`.
|
|
336
|
+
|
|
337
|
+
Exemplos: `/project:backlog edit story US-001`, `... edit story US-001 points 3`, `... edit story US-001 epic EPIC-002`, `... edit story US-001 name "Login do usuário com SSO"`.
|
|
338
|
+
|
|
339
|
+
Validação: pontos Fibonacci (1, 2, 3, 5, 8), avisar para dividir se > 8, o EPIC deve existir, a persona deve estar definida em personas.md.
|
|
340
|
+
|
|
341
|
+
## move task
|
|
342
|
+
|
|
343
|
+
`/project:backlog move task TASK-XXX <destino>`
|
|
344
|
+
|
|
345
|
+
- **TASK-ID** (obrigatório); **Destino** (obrigatório): `in-progress` (iniciar), `blocked`, `done`. Para o status de uma **story** 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
|
+
| De | Para | Permitido |
|
|
358
|
+
|----|------|-----------|
|
|
359
|
+
| to-do | in-progress | ✅ |
|
|
360
|
+
| to-do | blocked | ✅ |
|
|
361
|
+
| to-do | done | ❌ **Proibido** |
|
|
362
|
+
| in-progress | done | ✅ |
|
|
363
|
+
| in-progress | blocked | ✅ |
|
|
364
|
+
| in-progress | to-do | ✅ (rollback) |
|
|
365
|
+
| blocked | in-progress | ✅ |
|
|
366
|
+
| done | in-progress | ⚠️ (reabertura) |
|
|
367
|
+
|
|
368
|
+
Processo:
|
|
369
|
+
|
|
370
|
+
1. **Validar a tarefa**: encontrar o arquivo da tarefa, ler seu status atual em `.bmad/sprint-status.yaml` (`stories.<US>.tasks.status.<TASK>`), identificar a US e o sprint
|
|
371
|
+
2. **Validar a transição** com a tabela; to-do → done é bloqueado e `in-progress` é sugerido
|
|
372
|
+
3. **Para blocked**: perguntar o bloqueio (`Qual é o bloqueio de TASK-XXX?`)
|
|
373
|
+
4. **Para done**: perguntar o tempo gasto (`Tempo gasto em TASK-XXX? (estimativa: 4h)`)
|
|
374
|
+
5. **Atualizar o status**: escrevê-lo em `.bmad/sprint-status.yaml` (`stories.<US>.tasks.status.<TASK>`), recalcular `stories.<US>.tasks.completed` (= número de tarefas `done`); nunca no arquivo da tarefa. No arquivo da tarefa muda apenas o conteúdo: texto do bloqueio se blocked, tempo gasto se done, data de modificação
|
|
375
|
+
6. **Atualizar o board**: regenerar o `board.md` do sprint a partir de `.bmad/sprint-status.yaml` e atualizar as métricas
|
|
376
|
+
7. **Atualizar a User Story** (conteúdo da lista de tarefas, progresso recalculado a partir de `.bmad/sprint-status.yaml`); se todas as tarefas estiverem done, sugerir concluir a US
|
|
377
|
+
8. **Atualizar o índice** (contadores globais)
|
|
378
|
+
|
|
379
|
+
Saídas:
|
|
380
|
+
|
|
381
|
+
```
|
|
382
|
+
✅ Tarefa movida!
|
|
383
|
+
|
|
384
|
+
🔧 TASK-003: Endpoint da API de login
|
|
385
|
+
Antes: to-do
|
|
386
|
+
Depois: in-progress
|
|
387
|
+
|
|
388
|
+
📖 US-001: Login do usuário
|
|
389
|
+
Progresso: 2/6 → 3/6 (50%)
|
|
390
|
+
|
|
391
|
+
Próximos passos:
|
|
392
|
+
/project:backlog move task TASK-003 done # Ao concluir
|
|
393
|
+
/project:backlog move task TASK-003 blocked # Se bloqueada
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
Para `done`, exibir também a estimativa versus o tempo real (`Estimativa: 4h`, `Tempo real: 3.5h ✓`), a barra de progresso da US e os totais do sprint (tarefas concluídas, horas realizadas). Quando todas as tarefas da US estiverem done:
|
|
397
|
+
|
|
398
|
+
```
|
|
399
|
+
🎉 Todas as tarefas de US-001 concluídas!
|
|
400
|
+
|
|
401
|
+
Próximo passo recomendado:
|
|
402
|
+
/project:backlog move story US-001 done
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
Erro de workflow:
|
|
406
|
+
|
|
407
|
+
```
|
|
408
|
+
❌ Transição não permitida!
|
|
409
|
+
|
|
410
|
+
🔧 TASK-004: Controller de auth
|
|
411
|
+
Status atual: to-do
|
|
412
|
+
Transição solicitada: → done
|
|
413
|
+
|
|
414
|
+
Regra: Uma tarefa deve passar por "In Progress" antes de "Done"
|
|
415
|
+
|
|
416
|
+
Ação correta:
|
|
417
|
+
/project:backlog move task TASK-004 in-progress
|
|
418
|
+
# ... trabalhar na tarefa ...
|
|
419
|
+
/project:backlog move task TASK-004 done
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
Para `blocked`, exibir `Status: in-progress → blocked`, o texto do bloqueio e como desbloquear (concluir a tarefa que bloqueia e depois `/project:backlog move task TASK-005 in-progress`).
|
|
423
|
+
|
|
424
|
+
Exemplos: `/project:backlog move task TASK-001 in-progress`, `... move task TASK-001 done`, `... move task TASK-001 blocked`, `... move task TASK-001 in-progress` (desbloquear).
|
|
425
|
+
|
|
426
|
+
Métricas atualizadas a cada movimentação: número de tarefas por status, horas estimadas vs reais, progresso da US, progresso do sprint, board Kanban.
|
|
427
|
+
|
|
428
|
+
## next story
|
|
429
|
+
|
|
430
|
+
`/project:backlog next story [--claim]`
|
|
431
|
+
|
|
432
|
+
- **--claim** (opcional): move automaticamente a story para `in-progress`
|
|
433
|
+
|
|
434
|
+
1. **Carregar**: ler `.bmad/sprint-status.yaml`, coletar as stories com status `ready-for-dev`, ordená-las por prioridade (se definida) ou por ID
|
|
435
|
+
2. **Verificar os pré-requisitos** de cada story pronta: sem dependências bloqueantes (todas as stories `Depends on` estão em `done` ou `review`; caso contrário, indicar quais bloqueiam), pontos de story estimados, tarefas decompostas, critérios de aceitação definidos
|
|
436
|
+
3. **Selecionar**, nesta ordem: todas as dependências resolvidas, sem dependências bloqueantes, menor ID de story (mais cedo no backlog), menos pontos de story (as mais simples primeiro)
|
|
437
|
+
4. **Exibir** a story: ID e título, pontos, EPIC, critérios de aceitação, lista de tarefas, pré-requisitos, dependências, notas
|
|
438
|
+
5. **Reservar** (somente com `--claim`): mesmo efeito de `/project:backlog move story US-XXX in-progress` (gates, histórico): status `in-progress`, `tdd_phase` em `red`, `current_task` na primeira tarefa, entrada adicionada a `history`
|
|
439
|
+
6. **Orientar**: primeira tarefa a trabalhar e lembrete de TDD
|
|
440
|
+
|
|
441
|
+
```
|
|
442
|
+
═══════════════════════════════════════════════════════
|
|
443
|
+
Próxima story pronta para desenvolvimento
|
|
444
|
+
═══════════════════════════════════════════════════════
|
|
445
|
+
|
|
446
|
+
📖 US-012: Implementar a página de perfil do usuário
|
|
447
|
+
Epic: EPIC-003 (Gestão de usuários)
|
|
448
|
+
Pontos: 5
|
|
449
|
+
Prioridade: High
|
|
450
|
+
|
|
451
|
+
Critérios de aceitação (3):
|
|
452
|
+
□ AC1: O usuário pode ver as informações do seu perfil
|
|
453
|
+
□ AC2: O usuário pode editar seu nome e seu email
|
|
454
|
+
□ AC3: As alterações são validadas antes de salvar
|
|
455
|
+
|
|
456
|
+
Tarefas (4):
|
|
457
|
+
□ TASK-031 [BE] Criar o endpoint de API do perfil
|
|
458
|
+
□ TASK-033 [FE] Criar o componente de perfil
|
|
459
|
+
|
|
460
|
+
Pré-requisitos:
|
|
461
|
+
✅ Sem dependências bloqueantes
|
|
462
|
+
✅ Pontos de story estimados
|
|
463
|
+
✅ Tarefas decompostas
|
|
464
|
+
✅ Critérios de aceitação definidos
|
|
465
|
+
|
|
466
|
+
Dependências:
|
|
467
|
+
✅ US-001 (Página de login) — done
|
|
468
|
+
|
|
469
|
+
Para começar:
|
|
470
|
+
/project:backlog move story US-012 in-progress
|
|
471
|
+
Ou usar: /project:backlog next story --claim
|
|
472
|
+
═══════════════════════════════════════════════════════
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
Quando nenhuma story está pronta, exibir o estado do backlog (stories no backlog a refinar, em andamento, bloqueadas) e sugestões: refinar as stories do backlog (`/project:migrate --stories`), ajudar nas stories em andamento, desbloquear uma story bloqueada (exibir seu `blocked_reason`), ver o grafo de dependências (`/project:report deps`), ver o sprint (`/workflow:status`) e verificar a prontidão das stories (`/gate:check backlog`).
|
|
476
|
+
|
|
477
|
+
Depois de reservar uma story, seguir o TDD: 🔴 RED (teste que falha para o primeiro AC/tarefa), 🟢 GREEN (código mínimo para passar), 🔵 REFACTOR (limpar, os testes continuam verdes), e repetir para cada tarefa. `tdd_phase` em `.bmad/sprint-status.yaml` acompanha a fase.
|
|
478
|
+
|
|
479
|
+
Exemplos: `/project:backlog next story`, `/project:backlog next story --claim`.
|
|
480
|
+
|
|
481
|
+
## move story
|
|
482
|
+
|
|
483
|
+
`/project:backlog move story US-XXX <status> ["motivo"]`
|
|
484
|
+
|
|
485
|
+
- **US-ID** (obrigatório); **Status** (obrigatório): `backlog`, `ready-for-dev`, `in-progress`, `review`, `done`, `blocked`, ou `sprint-N` (atribui a story ao sprint N, p. ex. `sprint-2`)
|
|
486
|
+
- **motivo** (obrigatório para `blocked`): armazenado em `blocked_reason`
|
|
487
|
+
|
|
488
|
+
```
|
|
489
|
+
backlog → ready-for-dev → in-progress → review → done
|
|
490
|
+
↑ │
|
|
491
|
+
└────────────┘ (alterações solicitadas)
|
|
492
|
+
qualquer status → blocked → previous_status (retomar)
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
| De | Para | Permitido |
|
|
496
|
+
|----|------|-----------|
|
|
497
|
+
| backlog | ready-for-dev | ✅ |
|
|
498
|
+
| ready-for-dev | in-progress | ✅ |
|
|
499
|
+
| in-progress | review | ✅ |
|
|
500
|
+
| review | done | ✅ |
|
|
501
|
+
| review | in-progress | ✅ (alterações solicitadas) |
|
|
502
|
+
| qualquer | blocked | ✅ (motivo obrigatório) |
|
|
503
|
+
| blocked | previous_status | ✅ (retomar) |
|
|
504
|
+
| in-progress | done | ❌ **Proibido** (passar por `review`) |
|
|
505
|
+
|
|
506
|
+
Processo:
|
|
507
|
+
|
|
508
|
+
1. **Validar a story**: ler `.bmad/sprint-status.yaml`, encontrar a story pelo ID, obter seu status atual
|
|
509
|
+
2. **Validar a transição** conforme a tabela acima; caso contrário, exibir as transições válidas a partir do status atual
|
|
510
|
+
3. **Verificar as gates** do status de destino; uma gate com falha bloqueia a transição e lista as ações necessárias:
|
|
511
|
+
|
|
512
|
+
| → Destino | Exigências da gate |
|
|
513
|
+
|-----------|--------------------|
|
|
514
|
+
| `ready-for-dev` | Critérios de aceitação definidos, pontos de story estimados, tarefas decompostas |
|
|
515
|
+
| `in-progress` | Sem dependências bloqueantes, desenvolvedor atribuído (opcional) |
|
|
516
|
+
| `review` | Todas as tarefas concluídas, testes verdes (TDD green ou refactor), código enviado |
|
|
517
|
+
| `done` | Código revisado, todos os AC validados, checklist DoD completa |
|
|
518
|
+
| `blocked` | `blocked_reason` informado |
|
|
519
|
+
|
|
520
|
+
4. **Executar a transição**: tudo é escrito em `.bmad/sprint-status.yaml` (fonte única de verdade do status, esquema em `.claude/templates/project/sprint-status.md`); os arquivos Markdown de US/EPIC contêm apenas conteúdo e nunca recebem um status:
|
|
521
|
+
1. Armazenar `previous_status` em `stories.<US>`
|
|
522
|
+
2. Atualizar `stories.<US>.status`
|
|
523
|
+
3. Definir os timestamps
|
|
524
|
+
4. Atualizar `stories.<US>.tdd_phase` se aplicável
|
|
525
|
+
5. Adicionar uma entrada a `stories.<US>.history` (`timestamp`, `from`, `to`, `by`, `reason`)
|
|
526
|
+
5. **Aplicar os efeitos colaterais**: `→ in-progress`: `tdd_phase: red`, `current_task` = primeira tarefa | `→ review`: `tdd_phase: refactor`, limpar `current_task` | `→ done`: limpar `tdd_phase`, registrar a hora de conclusão | `→ blocked`: armazenar `blocked_reason` e `previous_status`
|
|
527
|
+
6. **Aplicar as regras de roteamento**: após cada transição, avaliar `routing.auto_transitions` (ver `move story --auto` abaixo) para encadear as transições dependentes
|
|
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
|
+
Transição bem-sucedida:
|
|
539
|
+
|
|
540
|
+
```
|
|
541
|
+
📖 US-005: Autenticação de usuário
|
|
542
|
+
|
|
543
|
+
Status: in-progress → review ✅
|
|
544
|
+
|
|
545
|
+
Verificação das gates:
|
|
546
|
+
✅ Todas as tarefas concluídas (5/5)
|
|
547
|
+
✅ Testes verdes
|
|
548
|
+
✅ Código enviado
|
|
549
|
+
|
|
550
|
+
Histórico atualizado:
|
|
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 com falha:
|
|
556
|
+
|
|
557
|
+
```
|
|
558
|
+
📖 US-005: Autenticação de usuário
|
|
559
|
+
|
|
560
|
+
Solicitado: in-progress → review ❌
|
|
561
|
+
|
|
562
|
+
Gates com falha:
|
|
563
|
+
❌ Tarefas incompletas: 3/5
|
|
564
|
+
❌ A fase TDD é 'red' - os testes precisam passar primeiro
|
|
565
|
+
|
|
566
|
+
Ações necessárias:
|
|
567
|
+
1. Concluir as tarefas restantes (TASK-015, TASK-016)
|
|
568
|
+
2. Passar o TDD para a fase green: .bmad/sprint-status.yaml → US-005: tdd_phase: green
|
|
569
|
+
|
|
570
|
+
Depois tentar novamente: /project:backlog move story US-005 review
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
Transição inválida: exibir o status atual e o solicitado, o motivo (`Não é possível passar diretamente de 'in-progress' para 'done'`), as transições válidas a partir do status atual e a máquina de estados.
|
|
574
|
+
|
|
575
|
+
Casos particulares:
|
|
576
|
+
|
|
577
|
+
- **Bloquear**: `/project:backlog move story US-003 blocked "Aguardando credenciais da API"` armazena o motivo e preserva o status anterior para retomada
|
|
578
|
+
- **Desbloquear**: `/project:backlog move story US-003 in-progress` volta ao status anterior
|
|
579
|
+
- **Alterações solicitadas** (review): `/project:backlog move story US-005 in-progress`
|
|
580
|
+
- **Atribuir a um sprint**: `/project:backlog move story US-003 sprint-2` atribui a story ao sprint 2, cria o diretório do sprint se necessário; o status da story é preservado
|
|
581
|
+
- **Cascata para as tarefas**: `→ in-progress` mantém as tarefas no status atual (iniciadas individualmente); `→ done` verifica se todas as tarefas estão `done` e avisa caso contrário; `→ blocked` marca como `blocked` todas as tarefas em andamento
|
|
582
|
+
|
|
583
|
+
Próximos passos conforme o status de destino: `→ in-progress`: `/workflow:implement --story US-XXX` | `→ review`: `/gate:check story` (validar a DoD) | `→ done`: `/project:backlog next story` (e `/workflow:review` quando o sprint terminar) | `→ blocked`: resolver o bloqueio e depois `/project:backlog move story US-XXX in-progress`.
|
|
584
|
+
|
|
585
|
+
### move story --auto
|
|
586
|
+
|
|
587
|
+
`/project:backlog move story --auto [--dry-run]`
|
|
588
|
+
|
|
589
|
+
Avalia as regras de roteamento e faz as stories transitarem de acordo (sem ID de story). **--dry-run** pré-visualiza as transições sem aplicá-las. As mesmas regras também são aplicadas após cada transição `move story` e, conforme as configurações de `routing.auto_transitions`, no hook Stop, após a conclusão de uma tarefa e ao iniciar a sessão.
|
|
590
|
+
|
|
591
|
+
1. **Carregar**: ler `.bmad/sprint-status.yaml`, carregar `routing.auto_transitions.rules`, obter todas as stories
|
|
592
|
+
2. **Avaliar** cada regra para cada story:
|
|
593
|
+
|
|
594
|
+
| Regra | `when` | De → Para |
|
|
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. **Verificar os pré-requisitos** antes da transição automática: exigências de gate do status de destino (como em `move story`), nenhuma regra em conflito, story não bloqueada manualmente
|
|
602
|
+
4. **Executar** (exceto com `--dry-run`): registrar a transição, atualizar o status, anotá-la em `history` com `by: "auto-route"`, aplicar os efeitos colaterais (fase TDD, etc.)
|
|
603
|
+
5. **Relatar**: regras avaliadas, stories verificadas, transições realizadas, stories inalteradas, erros ou avisos
|
|
604
|
+
|
|
605
|
+
```
|
|
606
|
+
═══════════════════════════════════════════════════════
|
|
607
|
+
Prévia do roteamento automático (DRY RUN)
|
|
608
|
+
═══════════════════════════════════════════════════════
|
|
609
|
+
Avaliando 4 regras de roteamento em 8 stories...
|
|
610
|
+
|
|
611
|
+
Transições previstas:
|
|
612
|
+
📖 US-005: Autenticação de usuário
|
|
613
|
+
Regra: all_tasks_complete
|
|
614
|
+
in-progress → review
|
|
615
|
+
Motivo: 5/5 tarefas concluídas
|
|
616
|
+
|
|
617
|
+
📖 US-003: Integração OAuth
|
|
618
|
+
Regra: unblocked
|
|
619
|
+
blocked → in-progress
|
|
620
|
+
Motivo: blocked_reason limpo
|
|
621
|
+
|
|
622
|
+
Resumo:
|
|
623
|
+
Regras avaliadas: 4 | Stories verificadas: 8
|
|
624
|
+
Transições previstas: 2 | Sem alteração: 6
|
|
625
|
+
|
|
626
|
+
Executar sem --dry-run para aplicar as transições.
|
|
627
|
+
═══════════════════════════════════════════════════════
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
Sem `--dry-run`, o relatório lista `✅ US-005: in-progress → review` com a regra e os detalhes, depois `Transições realizadas: N`. Quando nada é acionado: `Nenhuma transição automática necessária.` seguido das stories por status.
|
|
631
|
+
|
|
632
|
+
As regras personalizadas e os gatilhos são configurados em `.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: "Sinalizar as stories em review há mais de 2 dias"
|
|
643
|
+
when: "status == 'review' && days_in_status > 2"
|
|
644
|
+
action: "flag" # flag | transition | notify
|
|
645
|
+
- name: "priority_bump"
|
|
646
|
+
description: "Notificar as stories prontas de alta prioridade"
|
|
647
|
+
when: "priority == 'high' && status == 'ready-for-dev'"
|
|
648
|
+
action: "notify"
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
Próximos passos: `/project:backlog next story` (escolher a próxima story roteada), `/workflow:implement` (iniciar o desenvolvimento).
|
|
652
|
+
|
|
653
|
+
Exemplos: `/project:backlog move story US-005 review`, `/project:backlog move story US-003 blocked "Aguardando uma API externa"`, `/project:backlog move story --auto --dry-run`, `/project:backlog move story --auto`.
|