agileflow 3.4.3 → 4.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +238 -473
- package/README.md +22 -114
- package/bin/agileflow.js +15 -0
- package/bin/hooks/pre-bash.js +35 -0
- package/bin/hooks/pre-compact.js +34 -0
- package/bin/hooks/pre-edit.js +32 -0
- package/bin/hooks/pre-write.js +32 -0
- package/bin/hooks/session-start.js +42 -0
- package/bin/hooks/stop.js +34 -0
- package/content/plugins/ads/plugin.yaml +14 -0
- package/content/plugins/audit/plugin.yaml +14 -0
- package/content/plugins/core/hooks/babysit-mentor-injector.js +55 -0
- package/content/plugins/core/hooks/context-loader.js +169 -0
- package/content/plugins/core/hooks/damage-control-bash.js +78 -0
- package/content/plugins/core/hooks/damage-control-edit.js +76 -0
- package/content/plugins/core/hooks/damage-control-patterns.yaml +100 -0
- package/content/plugins/core/hooks/damage-control-write.js +72 -0
- package/content/plugins/core/hooks/pre-compact-state.js +90 -0
- package/content/plugins/core/hooks/session-welcome.js +19 -0
- package/content/plugins/core/plugin.yaml +82 -0
- package/content/plugins/core/skills/agileflow-adr/SKILL.md +179 -0
- package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +144 -0
- package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +179 -0
- package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +132 -0
- package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +200 -0
- package/content/plugins/council/plugin.yaml +14 -0
- package/content/plugins/seo/plugin.yaml +14 -0
- package/package.json +29 -49
- package/src/cli/commands/doctor.js +159 -0
- package/src/cli/commands/hook.js +80 -0
- package/src/cli/commands/setup.js +292 -0
- package/src/cli/commands/status.js +47 -0
- package/src/cli/commands/update.js +83 -0
- package/src/cli/index.js +73 -0
- package/src/cli/wizard/behaviors-picker.js +108 -0
- package/src/cli/wizard/ide-picker.js +57 -0
- package/src/cli/wizard/personalization.js +64 -0
- package/src/cli/wizard/plugin-picker.js +106 -0
- package/src/lib/hash.js +41 -0
- package/src/runtime/config/defaults.js +61 -0
- package/src/runtime/config/loader.js +117 -0
- package/src/runtime/config/schema.json +99 -0
- package/src/runtime/config/writer.js +55 -0
- package/src/runtime/hooks/aggregator.js +157 -0
- package/src/runtime/hooks/chain.js +93 -0
- package/src/runtime/hooks/logger.js +68 -0
- package/src/runtime/hooks/manifest-loader.js +228 -0
- package/src/runtime/hooks/orchestrator.js +322 -0
- package/src/runtime/ide/capabilities.js +111 -0
- package/src/runtime/ide/claude-code-settings.js +234 -0
- package/src/runtime/ide/claude-code-skills.js +202 -0
- package/src/runtime/installer/file-index.js +112 -0
- package/src/runtime/installer/install.js +329 -0
- package/src/runtime/installer/stash.js +61 -0
- package/src/runtime/installer/sync-engine.js +205 -0
- package/src/runtime/plugins/registry.js +132 -0
- package/src/runtime/plugins/resolver.js +138 -0
- package/src/runtime/plugins/validator.js +196 -0
- package/src/runtime/skills/validator.js +335 -0
- package/lib/README.md +0 -178
- package/lib/api-routes.js +0 -625
- package/lib/api-server.js +0 -278
- package/lib/cache-provider.js +0 -155
- package/lib/codebase-indexer.js +0 -819
- package/lib/colors.generated.js +0 -117
- package/lib/colors.js +0 -341
- package/lib/consent.js +0 -232
- package/lib/content-sanitizer.js +0 -464
- package/lib/correlation.js +0 -277
- package/lib/drivers/claude-driver.ts +0 -312
- package/lib/drivers/codex-driver.ts +0 -464
- package/lib/drivers/driver-manager.ts +0 -159
- package/lib/drivers/gemini-driver.ts +0 -498
- package/lib/drivers/index.ts +0 -17
- package/lib/error-codes.js +0 -590
- package/lib/errors.js +0 -670
- package/lib/feature-flags.js +0 -171
- package/lib/feedback.js +0 -595
- package/lib/file-cache.js +0 -541
- package/lib/flag-detection.js +0 -344
- package/lib/format-error.js +0 -156
- package/lib/gate-runner.js +0 -282
- package/lib/generator-factory.js +0 -333
- package/lib/git-operations.js +0 -266
- package/lib/lazy-require.js +0 -59
- package/lib/lock-file.js +0 -144
- package/lib/logger.js +0 -106
- package/lib/merge-operations.js +0 -1006
- package/lib/path-resolver.js +0 -544
- package/lib/path-utils.js +0 -49
- package/lib/paths.js +0 -291
- package/lib/placeholder-registry.js +0 -822
- package/lib/process-executor.js +0 -214
- package/lib/progress.js +0 -334
- package/lib/protocol/driver.ts +0 -354
- package/lib/protocol/index.ts +0 -12
- package/lib/protocol/ir.ts +0 -271
- package/lib/registry-cache.js +0 -80
- package/lib/registry-di.js +0 -358
- package/lib/result-schema.js +0 -363
- package/lib/result.js +0 -210
- package/lib/session-display.js +0 -331
- package/lib/session-operations.js +0 -611
- package/lib/session-registry.js +0 -484
- package/lib/session-state-machine.js +0 -465
- package/lib/session-switching.js +0 -191
- package/lib/skill-loader.js +0 -213
- package/lib/smart-json-file.js +0 -682
- package/lib/state-machine.js +0 -286
- package/lib/table-formatter.js +0 -519
- package/lib/template-loader.js +0 -143
- package/lib/transient-status.js +0 -374
- package/lib/ui-manager.js +0 -612
- package/lib/validate-args.js +0 -213
- package/lib/validate-commands.js +0 -308
- package/lib/validate-names.js +0 -143
- package/lib/validate-paths.js +0 -434
- package/lib/validate.js +0 -134
- package/lib/worktree-operations.js +0 -201
- package/lib/yaml-utils.js +0 -164
- package/scripts/README.md +0 -267
- package/scripts/af +0 -34
- package/scripts/agent-loop.js +0 -879
- package/scripts/agileflow-configure.js +0 -368
- package/scripts/agileflow-statusline.sh +0 -857
- package/scripts/agileflow-welcome.js +0 -2246
- package/scripts/api-server-runner.js +0 -177
- package/scripts/archive-completed-stories.sh +0 -308
- package/scripts/auto-self-improve.js +0 -326
- package/scripts/automation-run-due.js +0 -128
- package/scripts/babysit-clear-restore.js +0 -154
- package/scripts/babysit-context-restore.js +0 -89
- package/scripts/backfill-ideation-status.js +0 -128
- package/scripts/batch-pmap-loop.js +0 -551
- package/scripts/check-sessions.js +0 -116
- package/scripts/check-update.js +0 -282
- package/scripts/ci-summary.js +0 -294
- package/scripts/claude-smart.sh +0 -85
- package/scripts/claude-tmux.sh +0 -737
- package/scripts/claude-watchdog.sh +0 -225
- package/scripts/clear-active-command.js +0 -48
- package/scripts/compress-status.sh +0 -116
- package/scripts/context-loader.js +0 -310
- package/scripts/damage-control/bash-tool-damage-control.js +0 -22
- package/scripts/damage-control/edit-tool-damage-control.js +0 -19
- package/scripts/damage-control/patterns.yaml +0 -227
- package/scripts/damage-control/write-tool-damage-control.js +0 -19
- package/scripts/damage-control-bash.js +0 -51
- package/scripts/damage-control-edit.js +0 -48
- package/scripts/damage-control-multi-agent.js +0 -231
- package/scripts/damage-control-write.js +0 -48
- package/scripts/dependency-check.js +0 -311
- package/scripts/document-repl.js +0 -793
- package/scripts/expertise-metrics.sh +0 -264
- package/scripts/generate-all.sh +0 -77
- package/scripts/generate-colors.js +0 -314
- package/scripts/generators/agent-registry.js +0 -183
- package/scripts/generators/command-registry.js +0 -166
- package/scripts/generators/index.js +0 -85
- package/scripts/generators/inject-babysit.js +0 -191
- package/scripts/generators/inject-help.js +0 -125
- package/scripts/generators/inject-readme.js +0 -166
- package/scripts/generators/skill-registry.js +0 -188
- package/scripts/get-env.js +0 -225
- package/scripts/init.sh +0 -76
- package/scripts/lib/README-portable-tasks.md +0 -424
- package/scripts/lib/ac-test-matcher.js +0 -452
- package/scripts/lib/audit-cleanup.js +0 -250
- package/scripts/lib/audit-registry.js +0 -340
- package/scripts/lib/automation-registry.js +0 -544
- package/scripts/lib/automation-runner.js +0 -476
- package/scripts/lib/browser-qa-evidence.js +0 -409
- package/scripts/lib/browser-qa-status.js +0 -192
- package/scripts/lib/bus-utils.js +0 -473
- package/scripts/lib/colors.generated.sh +0 -82
- package/scripts/lib/colors.sh +0 -46
- package/scripts/lib/command-prereqs.js +0 -280
- package/scripts/lib/concurrency-limiter.js +0 -511
- package/scripts/lib/configure-detect.js +0 -596
- package/scripts/lib/configure-features.js +0 -1927
- package/scripts/lib/configure-repair.js +0 -327
- package/scripts/lib/configure-utils.js +0 -114
- package/scripts/lib/context-formatter.js +0 -1158
- package/scripts/lib/context-loader.js +0 -840
- package/scripts/lib/counter.js +0 -103
- package/scripts/lib/damage-control-utils.js +0 -619
- package/scripts/lib/feature-catalog.js +0 -332
- package/scripts/lib/file-lock.js +0 -392
- package/scripts/lib/file-tracking.js +0 -735
- package/scripts/lib/frontmatter-parser.js +0 -133
- package/scripts/lib/gate-enforcer.js +0 -295
- package/scripts/lib/hook-metrics.js +0 -324
- package/scripts/lib/ideation-index.js +0 -1205
- package/scripts/lib/json-utils.sh +0 -162
- package/scripts/lib/lifecycle-detector.js +0 -125
- package/scripts/lib/model-profiles.js +0 -118
- package/scripts/lib/portable-tasks-cli.js +0 -274
- package/scripts/lib/portable-tasks.js +0 -479
- package/scripts/lib/process-cleanup.js +0 -527
- package/scripts/lib/quality-gates.js +0 -788
- package/scripts/lib/scale-detector.js +0 -396
- package/scripts/lib/sessionRegistry.js +0 -678
- package/scripts/lib/signal-detectors.js +0 -867
- package/scripts/lib/skill-catalog.js +0 -557
- package/scripts/lib/skill-recommender.js +0 -311
- package/scripts/lib/state-migrator.js +0 -353
- package/scripts/lib/status-task-bridge.js +0 -522
- package/scripts/lib/status-writer.js +0 -255
- package/scripts/lib/story-claiming.js +0 -704
- package/scripts/lib/story-state-machine.js +0 -437
- package/scripts/lib/sync-ideation-status.js +0 -291
- package/scripts/lib/task-registry-cache.js +0 -490
- package/scripts/lib/task-registry.js +0 -1191
- package/scripts/lib/task-sync.js +0 -230
- package/scripts/lib/tdd-phase-manager.js +0 -455
- package/scripts/lib/team-events.js +0 -510
- package/scripts/lib/tmux-audit-monitor.js +0 -612
- package/scripts/lib/tmux-group-colors.js +0 -113
- package/scripts/lib/tool-registry.yaml +0 -241
- package/scripts/lib/tool-shed.js +0 -441
- package/scripts/lib/validation-registry.js +0 -177
- package/scripts/messaging-bridge.js +0 -561
- package/scripts/migrate-ideation-index.js +0 -553
- package/scripts/native-team-observer.js +0 -219
- package/scripts/obtain-context.js +0 -272
- package/scripts/pre-push-check.sh +0 -46
- package/scripts/precompact-context.sh +0 -306
- package/scripts/query-codebase.js +0 -543
- package/scripts/ralph-loop.js +0 -1278
- package/scripts/resume-session.sh +0 -121
- package/scripts/screenshot-verifier.js +0 -215
- package/scripts/session-boundary.js +0 -138
- package/scripts/session-coordinator.sh +0 -232
- package/scripts/session-manager.js +0 -546
- package/scripts/smart-detect.js +0 -449
- package/scripts/spawn-audit-sessions.js +0 -877
- package/scripts/spawn-parallel.js +0 -751
- package/scripts/strip-ai-attribution.js +0 -63
- package/scripts/task-completed-gate.js +0 -237
- package/scripts/team-manager.js +0 -596
- package/scripts/team-status-display.js +0 -200
- package/scripts/teammate-idle-gate.js +0 -237
- package/scripts/test-session-boundary.js +0 -80
- package/scripts/tmux-close-windows.sh +0 -180
- package/scripts/tmux-restore-window.sh +0 -67
- package/scripts/tmux-save-closed-window.sh +0 -35
- package/scripts/tui/App.js +0 -151
- package/scripts/tui/Dashboard.js +0 -277
- package/scripts/tui/blessed/data/watcher.js +0 -180
- package/scripts/tui/blessed/index.js +0 -244
- package/scripts/tui/blessed/panels/output.js +0 -101
- package/scripts/tui/blessed/panels/sessions.js +0 -150
- package/scripts/tui/blessed/panels/trace.js +0 -97
- package/scripts/tui/blessed/ui/help.js +0 -77
- package/scripts/tui/blessed/ui/screen.js +0 -52
- package/scripts/tui/blessed/ui/statusbar.js +0 -47
- package/scripts/tui/blessed/ui/tabbar.js +0 -99
- package/scripts/tui/index.js +0 -70
- package/scripts/tui/lib/crashRecovery.js +0 -304
- package/scripts/tui/lib/eventStream.js +0 -309
- package/scripts/tui/lib/keyboard.js +0 -261
- package/scripts/tui/lib/loopControl.js +0 -371
- package/scripts/tui/panels/OutputPanel.js +0 -240
- package/scripts/tui/panels/SessionPanel.js +0 -170
- package/scripts/tui/panels/TracePanel.js +0 -298
- package/scripts/tui/simple-tui.js +0 -510
- package/scripts/validate-expertise.sh +0 -263
- package/scripts/validate-tokens.sh +0 -73
- package/scripts/validators/README.md +0 -143
- package/scripts/validators/component-validator.js +0 -239
- package/scripts/validators/json-schema-validator.js +0 -186
- package/scripts/validators/markdown-validator.js +0 -152
- package/scripts/validators/migration-validator.js +0 -129
- package/scripts/validators/security-validator.js +0 -380
- package/scripts/validators/story-format-validator.js +0 -197
- package/scripts/validators/test-result-validator.js +0 -114
- package/scripts/validators/workflow-validator.js +0 -247
- package/scripts/welcome-deferred.js +0 -437
- package/scripts/worktree-create.sh +0 -111
- package/src/core/agents/a11y-analyzer-aria.md +0 -155
- package/src/core/agents/a11y-analyzer-forms.md +0 -162
- package/src/core/agents/a11y-analyzer-keyboard.md +0 -175
- package/src/core/agents/a11y-analyzer-semantic.md +0 -153
- package/src/core/agents/a11y-analyzer-visual.md +0 -158
- package/src/core/agents/a11y-consensus.md +0 -248
- package/src/core/agents/accessibility.md +0 -515
- package/src/core/agents/adr-writer.md +0 -463
- package/src/core/agents/ads-audit-budget.md +0 -181
- package/src/core/agents/ads-audit-compliance.md +0 -169
- package/src/core/agents/ads-audit-creative.md +0 -164
- package/src/core/agents/ads-audit-google.md +0 -226
- package/src/core/agents/ads-audit-meta.md +0 -183
- package/src/core/agents/ads-audit-tracking.md +0 -197
- package/src/core/agents/ads-consensus.md +0 -396
- package/src/core/agents/ads-generate.md +0 -145
- package/src/core/agents/ads-performance-tracker.md +0 -197
- package/src/core/agents/analytics.md +0 -617
- package/src/core/agents/api-quality-analyzer-conventions.md +0 -148
- package/src/core/agents/api-quality-analyzer-docs.md +0 -176
- package/src/core/agents/api-quality-analyzer-errors.md +0 -183
- package/src/core/agents/api-quality-analyzer-pagination.md +0 -171
- package/src/core/agents/api-quality-analyzer-versioning.md +0 -143
- package/src/core/agents/api-quality-consensus.md +0 -214
- package/src/core/agents/api-validator.md +0 -183
- package/src/core/agents/api.md +0 -665
- package/src/core/agents/arch-analyzer-circular.md +0 -148
- package/src/core/agents/arch-analyzer-complexity.md +0 -171
- package/src/core/agents/arch-analyzer-coupling.md +0 -146
- package/src/core/agents/arch-analyzer-layering.md +0 -151
- package/src/core/agents/arch-analyzer-patterns.md +0 -162
- package/src/core/agents/arch-consensus.md +0 -227
- package/src/core/agents/brainstorm-analyzer-features.md +0 -169
- package/src/core/agents/brainstorm-analyzer-growth.md +0 -161
- package/src/core/agents/brainstorm-analyzer-integration.md +0 -172
- package/src/core/agents/brainstorm-analyzer-market.md +0 -147
- package/src/core/agents/brainstorm-analyzer-ux.md +0 -167
- package/src/core/agents/brainstorm-consensus.md +0 -237
- package/src/core/agents/browser-qa.md +0 -328
- package/src/core/agents/ci.md +0 -511
- package/src/core/agents/code-reviewer.md +0 -288
- package/src/core/agents/codebase-query.md +0 -266
- package/src/core/agents/completeness-analyzer-api.md +0 -190
- package/src/core/agents/completeness-analyzer-conditional.md +0 -201
- package/src/core/agents/completeness-analyzer-handlers.md +0 -159
- package/src/core/agents/completeness-analyzer-imports.md +0 -159
- package/src/core/agents/completeness-analyzer-routes.md +0 -182
- package/src/core/agents/completeness-analyzer-state.md +0 -188
- package/src/core/agents/completeness-analyzer-stubs.md +0 -198
- package/src/core/agents/completeness-consensus.md +0 -286
- package/src/core/agents/compliance.md +0 -509
- package/src/core/agents/council-advocate.md +0 -206
- package/src/core/agents/council-analyst.md +0 -252
- package/src/core/agents/council-optimist.md +0 -170
- package/src/core/agents/database.md +0 -601
- package/src/core/agents/datamigration.md +0 -699
- package/src/core/agents/design.md +0 -525
- package/src/core/agents/devops.md +0 -720
- package/src/core/agents/documentation.md +0 -504
- package/src/core/agents/epic-planner.md +0 -480
- package/src/core/agents/error-analyzer.md +0 -201
- package/src/core/agents/integrations.md +0 -603
- package/src/core/agents/legal-analyzer-a11y.md +0 -110
- package/src/core/agents/legal-analyzer-ai.md +0 -117
- package/src/core/agents/legal-analyzer-consumer.md +0 -108
- package/src/core/agents/legal-analyzer-content.md +0 -113
- package/src/core/agents/legal-analyzer-international.md +0 -115
- package/src/core/agents/legal-analyzer-licensing.md +0 -115
- package/src/core/agents/legal-analyzer-privacy.md +0 -108
- package/src/core/agents/legal-analyzer-security.md +0 -112
- package/src/core/agents/legal-analyzer-terms.md +0 -111
- package/src/core/agents/legal-consensus.md +0 -242
- package/src/core/agents/logic-analyzer-edge.md +0 -170
- package/src/core/agents/logic-analyzer-flow.md +0 -253
- package/src/core/agents/logic-analyzer-invariant.md +0 -206
- package/src/core/agents/logic-analyzer-race.md +0 -266
- package/src/core/agents/logic-analyzer-type.md +0 -217
- package/src/core/agents/logic-consensus.md +0 -253
- package/src/core/agents/mentor.md +0 -654
- package/src/core/agents/mobile.md +0 -501
- package/src/core/agents/monitoring.md +0 -537
- package/src/core/agents/multi-expert.md +0 -311
- package/src/core/agents/orchestrator.md +0 -749
- package/src/core/agents/perf-analyzer-assets.md +0 -174
- package/src/core/agents/perf-analyzer-bundle.md +0 -165
- package/src/core/agents/perf-analyzer-caching.md +0 -160
- package/src/core/agents/perf-analyzer-compute.md +0 -165
- package/src/core/agents/perf-analyzer-memory.md +0 -182
- package/src/core/agents/perf-analyzer-network.md +0 -157
- package/src/core/agents/perf-analyzer-queries.md +0 -155
- package/src/core/agents/perf-analyzer-rendering.md +0 -156
- package/src/core/agents/perf-consensus.md +0 -280
- package/src/core/agents/performance.md +0 -492
- package/src/core/agents/product.md +0 -535
- package/src/core/agents/qa.md +0 -765
- package/src/core/agents/readme-updater.md +0 -579
- package/src/core/agents/refactor.md +0 -558
- package/src/core/agents/research.md +0 -453
- package/src/core/agents/rlm-subcore.md +0 -207
- package/src/core/agents/schema-validator.md +0 -454
- package/src/core/agents/security-analyzer-api.md +0 -199
- package/src/core/agents/security-analyzer-auth.md +0 -160
- package/src/core/agents/security-analyzer-authz.md +0 -168
- package/src/core/agents/security-analyzer-deps.md +0 -147
- package/src/core/agents/security-analyzer-infra.md +0 -176
- package/src/core/agents/security-analyzer-injection.md +0 -148
- package/src/core/agents/security-analyzer-input.md +0 -191
- package/src/core/agents/security-analyzer-secrets.md +0 -175
- package/src/core/agents/security-consensus.md +0 -276
- package/src/core/agents/security.md +0 -486
- package/src/core/agents/seo-analyzer-content.md +0 -167
- package/src/core/agents/seo-analyzer-images.md +0 -187
- package/src/core/agents/seo-analyzer-performance.md +0 -206
- package/src/core/agents/seo-analyzer-schema.md +0 -176
- package/src/core/agents/seo-analyzer-sitemap.md +0 -172
- package/src/core/agents/seo-analyzer-technical.md +0 -144
- package/src/core/agents/seo-consensus.md +0 -289
- package/src/core/agents/team-coordinator.md +0 -333
- package/src/core/agents/team-lead.md +0 -171
- package/src/core/agents/test-analyzer-assertions.md +0 -181
- package/src/core/agents/test-analyzer-coverage.md +0 -183
- package/src/core/agents/test-analyzer-fragility.md +0 -185
- package/src/core/agents/test-analyzer-integration.md +0 -155
- package/src/core/agents/test-analyzer-maintenance.md +0 -173
- package/src/core/agents/test-analyzer-mocking.md +0 -178
- package/src/core/agents/test-analyzer-patterns.md +0 -189
- package/src/core/agents/test-analyzer-structure.md +0 -177
- package/src/core/agents/test-consensus.md +0 -294
- package/src/core/agents/testing.md +0 -527
- package/src/core/agents/ui-validator.md +0 -331
- package/src/core/agents/ui.md +0 -1227
- package/src/core/commands/adr/list.md +0 -191
- package/src/core/commands/adr/update.md +0 -258
- package/src/core/commands/adr/view.md +0 -274
- package/src/core/commands/adr.md +0 -394
- package/src/core/commands/ads/audit.md +0 -453
- package/src/core/commands/ads/budget.md +0 -97
- package/src/core/commands/ads/competitor.md +0 -112
- package/src/core/commands/ads/creative.md +0 -85
- package/src/core/commands/ads/generate.md +0 -238
- package/src/core/commands/ads/google.md +0 -112
- package/src/core/commands/ads/health.md +0 -327
- package/src/core/commands/ads/landing.md +0 -119
- package/src/core/commands/ads/linkedin.md +0 -112
- package/src/core/commands/ads/meta.md +0 -91
- package/src/core/commands/ads/microsoft.md +0 -115
- package/src/core/commands/ads/plan.md +0 -321
- package/src/core/commands/ads/test-plan.md +0 -317
- package/src/core/commands/ads/tiktok.md +0 -129
- package/src/core/commands/ads/track.md +0 -288
- package/src/core/commands/ads/youtube.md +0 -124
- package/src/core/commands/ads.md +0 -140
- package/src/core/commands/agent.md +0 -256
- package/src/core/commands/api.md +0 -267
- package/src/core/commands/assign.md +0 -369
- package/src/core/commands/audit.md +0 -531
- package/src/core/commands/auto.md +0 -556
- package/src/core/commands/automate.md +0 -415
- package/src/core/commands/babysit.md +0 -643
- package/src/core/commands/baseline.md +0 -743
- package/src/core/commands/batch.md +0 -551
- package/src/core/commands/blockers.md +0 -602
- package/src/core/commands/board.md +0 -509
- package/src/core/commands/browser-qa.md +0 -240
- package/src/core/commands/changelog.md +0 -582
- package/src/core/commands/choose.md +0 -430
- package/src/core/commands/ci.md +0 -330
- package/src/core/commands/code/accessibility.md +0 -363
- package/src/core/commands/code/api.md +0 -313
- package/src/core/commands/code/architecture.md +0 -313
- package/src/core/commands/code/completeness.md +0 -519
- package/src/core/commands/code/legal.md +0 -509
- package/src/core/commands/code/logic.md +0 -432
- package/src/core/commands/code/performance.md +0 -506
- package/src/core/commands/code/security.md +0 -509
- package/src/core/commands/code/test.md +0 -505
- package/src/core/commands/compress.md +0 -408
- package/src/core/commands/configure.md +0 -1159
- package/src/core/commands/context/export.md +0 -296
- package/src/core/commands/context/full.md +0 -353
- package/src/core/commands/context/note.md +0 -380
- package/src/core/commands/council.md +0 -592
- package/src/core/commands/debt.md +0 -491
- package/src/core/commands/deploy.md +0 -864
- package/src/core/commands/deps.md +0 -728
- package/src/core/commands/diagnose.md +0 -404
- package/src/core/commands/docs.md +0 -469
- package/src/core/commands/epic/edit.md +0 -213
- package/src/core/commands/epic/list.md +0 -190
- package/src/core/commands/epic/view.md +0 -267
- package/src/core/commands/epic.md +0 -477
- package/src/core/commands/export.md +0 -238
- package/src/core/commands/feedback.md +0 -603
- package/src/core/commands/handoff.md +0 -386
- package/src/core/commands/help.md +0 -194
- package/src/core/commands/ideate/brief.md +0 -363
- package/src/core/commands/ideate/discover.md +0 -399
- package/src/core/commands/ideate/features.md +0 -497
- package/src/core/commands/ideate/history.md +0 -403
- package/src/core/commands/ideate/new.md +0 -900
- package/src/core/commands/impact.md +0 -407
- package/src/core/commands/install.md +0 -529
- package/src/core/commands/learn/explain.md +0 -118
- package/src/core/commands/learn/glossary.md +0 -135
- package/src/core/commands/learn/patterns.md +0 -138
- package/src/core/commands/learn/tour.md +0 -126
- package/src/core/commands/maintain.md +0 -558
- package/src/core/commands/metrics.md +0 -844
- package/src/core/commands/migrate/codemods.md +0 -151
- package/src/core/commands/migrate/plan.md +0 -131
- package/src/core/commands/migrate/scan.md +0 -114
- package/src/core/commands/migrate/validate.md +0 -119
- package/src/core/commands/multi-expert.md +0 -447
- package/src/core/commands/packages.md +0 -535
- package/src/core/commands/pr.md +0 -337
- package/src/core/commands/readme-sync.md +0 -329
- package/src/core/commands/research/analyze.md +0 -798
- package/src/core/commands/research/ask.md +0 -864
- package/src/core/commands/research/import.md +0 -1025
- package/src/core/commands/research/list.md +0 -273
- package/src/core/commands/research/synthesize.md +0 -928
- package/src/core/commands/research/view.md +0 -323
- package/src/core/commands/retro.md +0 -795
- package/src/core/commands/review.md +0 -694
- package/src/core/commands/rlm.md +0 -446
- package/src/core/commands/roadmap/analyze.md +0 -400
- package/src/core/commands/rpi.md +0 -633
- package/src/core/commands/seo/audit.md +0 -444
- package/src/core/commands/seo/competitor.md +0 -174
- package/src/core/commands/seo/content.md +0 -107
- package/src/core/commands/seo/geo.md +0 -229
- package/src/core/commands/seo/hreflang.md +0 -140
- package/src/core/commands/seo/images.md +0 -96
- package/src/core/commands/seo/page.md +0 -198
- package/src/core/commands/seo/plan.md +0 -163
- package/src/core/commands/seo/programmatic.md +0 -131
- package/src/core/commands/seo/references/cwv-thresholds.md +0 -64
- package/src/core/commands/seo/references/eeat-framework.md +0 -110
- package/src/core/commands/seo/references/quality-gates.md +0 -91
- package/src/core/commands/seo/references/schema-types.md +0 -102
- package/src/core/commands/seo/schema.md +0 -183
- package/src/core/commands/seo/sitemap.md +0 -97
- package/src/core/commands/seo/technical.md +0 -100
- package/src/core/commands/seo.md +0 -107
- package/src/core/commands/session/cleanup.md +0 -452
- package/src/core/commands/session/end.md +0 -865
- package/src/core/commands/session/history.md +0 -293
- package/src/core/commands/session/init.md +0 -210
- package/src/core/commands/session/new.md +0 -827
- package/src/core/commands/session/resume.md +0 -291
- package/src/core/commands/session/spawn.md +0 -205
- package/src/core/commands/session/status.md +0 -274
- package/src/core/commands/skill/list.md +0 -139
- package/src/core/commands/skill/recommend.md +0 -216
- package/src/core/commands/sprint.md +0 -714
- package/src/core/commands/status/undo.md +0 -191
- package/src/core/commands/status.md +0 -423
- package/src/core/commands/story/edit.md +0 -204
- package/src/core/commands/story/list.md +0 -199
- package/src/core/commands/story/view.md +0 -312
- package/src/core/commands/story-validate.md +0 -491
- package/src/core/commands/story.md +0 -465
- package/src/core/commands/tdd-next.md +0 -238
- package/src/core/commands/tdd.md +0 -211
- package/src/core/commands/team/guide.md +0 -688
- package/src/core/commands/team/list.md +0 -59
- package/src/core/commands/team/start.md +0 -130
- package/src/core/commands/team/status.md +0 -66
- package/src/core/commands/team/stop.md +0 -78
- package/src/core/commands/template.md +0 -644
- package/src/core/commands/tests.md +0 -731
- package/src/core/commands/update.md +0 -591
- package/src/core/commands/validate-expertise.md +0 -305
- package/src/core/commands/velocity.md +0 -630
- package/src/core/commands/verify.md +0 -534
- package/src/core/commands/whats-new.md +0 -201
- package/src/core/commands/workflow.md +0 -449
- package/src/core/council/sessions/.gitkeep +0 -0
- package/src/core/council/shared_reasoning.template.md +0 -106
- package/src/core/experts/README.md +0 -236
- package/src/core/experts/_core-expertise.yaml +0 -105
- package/src/core/experts/accessibility/expertise.yaml +0 -115
- package/src/core/experts/accessibility/question.md +0 -41
- package/src/core/experts/accessibility/self-improve.md +0 -45
- package/src/core/experts/accessibility/workflow.md +0 -59
- package/src/core/experts/adr-writer/expertise.yaml +0 -138
- package/src/core/experts/adr-writer/question.md +0 -56
- package/src/core/experts/adr-writer/self-improve.md +0 -106
- package/src/core/experts/adr-writer/workflow.md +0 -184
- package/src/core/experts/analytics/expertise.yaml +0 -119
- package/src/core/experts/analytics/question.md +0 -74
- package/src/core/experts/analytics/self-improve.md +0 -163
- package/src/core/experts/analytics/workflow.md +0 -272
- package/src/core/experts/api/expertise.yaml +0 -124
- package/src/core/experts/api/question.md +0 -74
- package/src/core/experts/api/self-improve.md +0 -122
- package/src/core/experts/api/workflow.md +0 -248
- package/src/core/experts/ci/expertise.yaml +0 -106
- package/src/core/experts/ci/question.md +0 -69
- package/src/core/experts/ci/self-improve.md +0 -100
- package/src/core/experts/ci/workflow.md +0 -145
- package/src/core/experts/codebase-query/expertise.yaml +0 -121
- package/src/core/experts/codebase-query/question.md +0 -73
- package/src/core/experts/codebase-query/self-improve.md +0 -105
- package/src/core/experts/compliance/expertise.yaml +0 -101
- package/src/core/experts/compliance/question.md +0 -56
- package/src/core/experts/compliance/self-improve.md +0 -106
- package/src/core/experts/compliance/workflow.md +0 -184
- package/src/core/experts/database/expertise.yaml +0 -109
- package/src/core/experts/database/question.md +0 -74
- package/src/core/experts/database/self-improve.md +0 -121
- package/src/core/experts/database/workflow.md +0 -234
- package/src/core/experts/datamigration/expertise.yaml +0 -141
- package/src/core/experts/datamigration/question.md +0 -56
- package/src/core/experts/datamigration/self-improve.md +0 -106
- package/src/core/experts/datamigration/workflow.md +0 -184
- package/src/core/experts/design/expertise.yaml +0 -116
- package/src/core/experts/design/question.md +0 -56
- package/src/core/experts/design/self-improve.md +0 -106
- package/src/core/experts/design/workflow.md +0 -184
- package/src/core/experts/devops/expertise.yaml +0 -116
- package/src/core/experts/devops/question.md +0 -68
- package/src/core/experts/devops/self-improve.md +0 -102
- package/src/core/experts/devops/workflow.md +0 -142
- package/src/core/experts/documentation/expertise.yaml +0 -126
- package/src/core/experts/documentation/question.md +0 -41
- package/src/core/experts/documentation/self-improve.md +0 -45
- package/src/core/experts/documentation/workflow.md +0 -55
- package/src/core/experts/epic-planner/expertise.yaml +0 -144
- package/src/core/experts/epic-planner/question.md +0 -56
- package/src/core/experts/epic-planner/self-improve.md +0 -106
- package/src/core/experts/epic-planner/workflow.md +0 -184
- package/src/core/experts/integrations/expertise.yaml +0 -113
- package/src/core/experts/integrations/question.md +0 -74
- package/src/core/experts/integrations/self-improve.md +0 -151
- package/src/core/experts/integrations/workflow.md +0 -246
- package/src/core/experts/mentor/expertise.yaml +0 -125
- package/src/core/experts/mentor/question.md +0 -56
- package/src/core/experts/mentor/self-improve.md +0 -106
- package/src/core/experts/mentor/workflow.md +0 -184
- package/src/core/experts/mobile/expertise.yaml +0 -136
- package/src/core/experts/mobile/question.md +0 -72
- package/src/core/experts/mobile/self-improve.md +0 -140
- package/src/core/experts/mobile/workflow.md +0 -240
- package/src/core/experts/monitoring/expertise.yaml +0 -132
- package/src/core/experts/monitoring/question.md +0 -76
- package/src/core/experts/monitoring/self-improve.md +0 -150
- package/src/core/experts/monitoring/workflow.md +0 -264
- package/src/core/experts/performance/expertise.yaml +0 -68
- package/src/core/experts/performance/question.md +0 -41
- package/src/core/experts/performance/self-improve.md +0 -45
- package/src/core/experts/performance/workflow.md +0 -61
- package/src/core/experts/product/expertise.yaml +0 -143
- package/src/core/experts/product/question.md +0 -56
- package/src/core/experts/product/self-improve.md +0 -106
- package/src/core/experts/product/workflow.md +0 -184
- package/src/core/experts/qa/expertise.yaml +0 -110
- package/src/core/experts/qa/question.md +0 -56
- package/src/core/experts/qa/self-improve.md +0 -106
- package/src/core/experts/qa/workflow.md +0 -184
- package/src/core/experts/readme-updater/expertise.yaml +0 -141
- package/src/core/experts/readme-updater/question.md +0 -56
- package/src/core/experts/readme-updater/self-improve.md +0 -106
- package/src/core/experts/readme-updater/workflow.md +0 -184
- package/src/core/experts/refactor/expertise.yaml +0 -135
- package/src/core/experts/refactor/question.md +0 -41
- package/src/core/experts/refactor/self-improve.md +0 -45
- package/src/core/experts/refactor/workflow.md +0 -57
- package/src/core/experts/research/expertise.yaml +0 -143
- package/src/core/experts/research/question.md +0 -56
- package/src/core/experts/research/self-improve.md +0 -106
- package/src/core/experts/research/workflow.md +0 -184
- package/src/core/experts/security/expertise.yaml +0 -117
- package/src/core/experts/security/question.md +0 -77
- package/src/core/experts/security/self-improve.md +0 -102
- package/src/core/experts/security/workflow.md +0 -152
- package/src/core/experts/templates/expertise-template.yaml +0 -67
- package/src/core/experts/templates/question-template.md +0 -56
- package/src/core/experts/templates/self-improve-template.md +0 -106
- package/src/core/experts/templates/workflow-template.md +0 -184
- package/src/core/experts/testing/expertise.yaml +0 -112
- package/src/core/experts/testing/question.md +0 -68
- package/src/core/experts/testing/self-improve.md +0 -102
- package/src/core/experts/testing/workflow.md +0 -143
- package/src/core/experts/ui/expertise.yaml +0 -133
- package/src/core/experts/ui/question.md +0 -74
- package/src/core/experts/ui/self-improve.md +0 -122
- package/src/core/experts/ui/workflow.md +0 -262
- package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +0 -424
- package/src/core/knowledge/ads/ad-optimization-logic.md +0 -590
- package/src/core/knowledge/ads/ad-technical-specifications.md +0 -385
- package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +0 -506
- package/src/core/knowledge/ads/paid-advertising-research-2026.md +0 -445
- package/src/core/profiles/COMPARISON.md +0 -170
- package/src/core/profiles/README.md +0 -178
- package/src/core/profiles/claude-code.yaml +0 -111
- package/src/core/profiles/codex.yaml +0 -103
- package/src/core/profiles/cursor.yaml +0 -134
- package/src/core/profiles/examples.js +0 -250
- package/src/core/profiles/loader.js +0 -235
- package/src/core/profiles/windsurf.yaml +0 -159
- package/src/core/skills/_learnings/README.md +0 -91
- package/src/core/skills/_learnings/_template.yaml +0 -106
- package/src/core/skills/_learnings/code-review.yaml +0 -118
- package/src/core/skills/_learnings/commit.yaml +0 -69
- package/src/core/skills/_learnings/story-writer.yaml +0 -71
- package/src/core/teams/backend.json +0 -41
- package/src/core/teams/builder-validator.json +0 -51
- package/src/core/teams/code-review.json +0 -41
- package/src/core/teams/frontend.json +0 -41
- package/src/core/teams/fullstack.json +0 -41
- package/src/core/teams/logic-audit.json +0 -53
- package/src/core/teams/perf-audit.json +0 -71
- package/src/core/teams/qa.json +0 -41
- package/src/core/teams/security-audit.json +0 -71
- package/src/core/teams/solo.json +0 -35
- package/src/core/teams/test-audit.json +0 -71
- package/src/core/templates/CONTEXT.md.example +0 -49
- package/src/core/templates/README-template.md +0 -16
- package/src/core/templates/adr-template.md +0 -28
- package/src/core/templates/agent-coordination-pattern.md +0 -38
- package/src/core/templates/agent-profile-template.md +0 -51
- package/src/core/templates/agileflow-metadata.json +0 -150
- package/src/core/templates/browser-qa-spec.yaml +0 -94
- package/src/core/templates/ci-workflow.yml +0 -74
- package/src/core/templates/claude-settings.advanced.example.json +0 -75
- package/src/core/templates/claude-settings.example.json +0 -26
- package/src/core/templates/command-documentation.md +0 -187
- package/src/core/templates/command-prerequisites.yaml +0 -169
- package/src/core/templates/comms-note-template.md +0 -24
- package/src/core/templates/damage-control-patterns.yaml +0 -243
- package/src/core/templates/environment.json +0 -18
- package/src/core/templates/epic-template.md +0 -27
- package/src/core/templates/plan-template.md +0 -125
- package/src/core/templates/preserve-rules-common.md +0 -107
- package/src/core/templates/preserve-rules.json +0 -42
- package/src/core/templates/proactive-action-spec.md +0 -29
- package/src/core/templates/product-brief.md +0 -136
- package/src/core/templates/quality-gate-priorities.md +0 -34
- package/src/core/templates/research-template.md +0 -44
- package/src/core/templates/session-harness-protocol.md +0 -128
- package/src/core/templates/session-state.json +0 -56
- package/src/core/templates/story-lifecycle.md +0 -213
- package/src/core/templates/story-template.md +0 -92
- package/src/core/templates/tdd-test-template.js +0 -241
- package/src/core/templates/worktrees-guide.md +0 -231
- package/tools/agileflow-npx.js +0 -52
- package/tools/cli/agileflow-cli.js +0 -72
- package/tools/cli/commands/config.js +0 -285
- package/tools/cli/commands/doctor.js +0 -496
- package/tools/cli/commands/list.js +0 -385
- package/tools/cli/commands/session.js +0 -1176
- package/tools/cli/commands/setup.js +0 -255
- package/tools/cli/commands/status.js +0 -101
- package/tools/cli/commands/tui.js +0 -56
- package/tools/cli/commands/uninstall.js +0 -155
- package/tools/cli/commands/update.js +0 -299
- package/tools/cli/installers/core/installer.js +0 -892
- package/tools/cli/installers/ide/_base-ide.js +0 -518
- package/tools/cli/installers/ide/_interface.js +0 -238
- package/tools/cli/installers/ide/claude-code.js +0 -432
- package/tools/cli/installers/ide/codex.js +0 -426
- package/tools/cli/installers/ide/cursor.js +0 -217
- package/tools/cli/installers/ide/manager.js +0 -222
- package/tools/cli/installers/ide/windsurf.js +0 -282
- package/tools/cli/lib/command-context.js +0 -382
- package/tools/cli/lib/config-manager.js +0 -446
- package/tools/cli/lib/content-injector.js +0 -969
- package/tools/cli/lib/content-transformer.js +0 -496
- package/tools/cli/lib/docs-setup.js +0 -464
- package/tools/cli/lib/error-handler.js +0 -165
- package/tools/cli/lib/ide-error-factory.js +0 -421
- package/tools/cli/lib/ide-errors.js +0 -367
- package/tools/cli/lib/ide-generator.js +0 -357
- package/tools/cli/lib/ide-health-monitor.js +0 -364
- package/tools/cli/lib/ide-registry.js +0 -297
- package/tools/cli/lib/npm-utils.js +0 -103
- package/tools/cli/lib/self-update.js +0 -148
- package/tools/cli/lib/ui.js +0 -211
- package/tools/cli/lib/utils.js +0 -87
- package/tools/cli/lib/validation-middleware.js +0 -491
- package/tools/cli/lib/version-checker.js +0 -95
- package/tools/postinstall.js +0 -190
|
@@ -1,465 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Create a user story with acceptance criteria
|
|
3
|
-
phase: pre-story
|
|
4
|
-
argument-hint: "EPIC=<EP-ID> STORY=<US-ID> TITLE=<text> OWNER=<id> [ESTIMATE=<pts>] [AC=<list>] [TDD=true]"
|
|
5
|
-
compact_context:
|
|
6
|
-
priority: high
|
|
7
|
-
preserve_rules:
|
|
8
|
-
- "ACTIVE COMMAND: /agileflow:story-new - Story creator with acceptance criteria"
|
|
9
|
-
- "{{RULES:task_tracking}}"
|
|
10
|
-
- "{{RULES:file_preview}}"
|
|
11
|
-
- "{{RULES:json_operations}}"
|
|
12
|
-
- "{{RULES:user_confirmation}}"
|
|
13
|
-
- "MUST create test stub in docs/07-testing/test-cases/<STORY>.md referencing AC"
|
|
14
|
-
- "AC format: Given/When/Then bullets (user story format)"
|
|
15
|
-
- "TDD=true: Generate framework-specific test code BEFORE implementation"
|
|
16
|
-
- "TDD=true: Parse Given/When/Then into describe/it blocks (Jest) or test functions (pytest)"
|
|
17
|
-
- "TDD=true: All tests start as .skip or @pytest.mark.skip (pending)"
|
|
18
|
-
- "TDD=true: Add tdd_mode:true and test_file fields to status.json entry"
|
|
19
|
-
state_fields:
|
|
20
|
-
- story_id
|
|
21
|
-
- epic_id
|
|
22
|
-
- owner
|
|
23
|
-
- estimate
|
|
24
|
-
- ac_count
|
|
25
|
-
- tdd_mode
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
# story-new
|
|
29
|
-
|
|
30
|
-
Create a new user story with acceptance criteria and test stubs.
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## STEP 0: Gather Context
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
node .agileflow/scripts/obtain-context.js story
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
<!-- COMPACT_SUMMARY_START -->
|
|
43
|
-
|
|
44
|
-
## ⚠️ COMPACT SUMMARY - /agileflow:story-new IS ACTIVE
|
|
45
|
-
|
|
46
|
-
**CRITICAL**: You are the Story Creator. This command creates user stories with acceptance criteria. Follow every rule.
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
### 🚨 RULE #1: ALWAYS Create TaskCreate/TaskUpdate Task List FIRST
|
|
51
|
-
|
|
52
|
-
Create a task list IMMEDIATELY (7 steps if TDD=true, 6 steps otherwise):
|
|
53
|
-
```xml
|
|
54
|
-
<invoke name="TaskCreate/TaskUpdate">
|
|
55
|
-
<parameter name="content">1. Parse inputs (EPIC, STORY, TITLE, OWNER, ESTIMATE, AC)
|
|
56
|
-
2. Create story file from template
|
|
57
|
-
3. Create test case stub
|
|
58
|
-
4. Merge into status.json
|
|
59
|
-
5. Append assign event to bus log
|
|
60
|
-
6. Show preview and confirm</parameter>
|
|
61
|
-
<parameter name="status">in-progress</parameter>
|
|
62
|
-
</invoke>
|
|
63
|
-
```
|
|
64
|
-
Mark each step complete as you finish it.
|
|
65
|
-
|
|
66
|
-
### 🚨 RULE #2: NEVER Create Files Without Preview + Confirmation
|
|
67
|
-
|
|
68
|
-
**Workflow** (ALWAYS follow this order):
|
|
69
|
-
1. Parse and validate all inputs (EPIC, STORY, TITLE, OWNER, ESTIMATE, AC, DEPENDENCIES)
|
|
70
|
-
2. Create story file from template with frontmatter
|
|
71
|
-
3. Create test stub file linking to acceptance criteria
|
|
72
|
-
4. Prepare status.json merge (story entry with epic, estimate, deps)
|
|
73
|
-
5. Prepare bus/log.jsonl append
|
|
74
|
-
6. Show unified DIFF preview (story + test + status.json + bus log)
|
|
75
|
-
7. Ask user YES/NO/CANCEL confirmation
|
|
76
|
-
8. Only on YES: Execute all writes
|
|
77
|
-
|
|
78
|
-
### 🚨 RULE #3: ACCEPTANCE CRITERIA Format
|
|
79
|
-
|
|
80
|
-
AC must be Given/When/Then bullets:
|
|
81
|
-
```
|
|
82
|
-
Given: [initial context]
|
|
83
|
-
When: [user action]
|
|
84
|
-
Then: [expected result]
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Example:
|
|
88
|
-
```
|
|
89
|
-
Given user is on login page
|
|
90
|
-
When user enters valid credentials
|
|
91
|
-
Then user sees dashboard
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### 🚨 RULE #4: TEST STUB REFERENCING
|
|
95
|
-
|
|
96
|
-
Test stub MUST reference AC:
|
|
97
|
-
- Create docs/07-testing/test-cases/<STORY>.md
|
|
98
|
-
- Include link to story file
|
|
99
|
-
- Map each test to an AC bullet
|
|
100
|
-
- Use BDD format (describe, test cases for each AC)
|
|
101
|
-
|
|
102
|
-
### 🚨 RULE #5: TDD MODE (Smart Defaults)
|
|
103
|
-
|
|
104
|
-
**Smart TDD defaults based on OWNER:**
|
|
105
|
-
| Owner | Default | Rationale |
|
|
106
|
-
|-------|---------|-----------|
|
|
107
|
-
| AG-API, AG-UI, AG-DATABASE | TDD=true | Code-focused, tests critical |
|
|
108
|
-
| AG-TESTING, AG-SECURITY, AG-PERFORMANCE | TDD=true | Quality-focused |
|
|
109
|
-
| AG-DOCUMENTATION, AG-RESEARCH, AG-PRODUCT | TDD=false | Non-code work |
|
|
110
|
-
| AG-DEVOPS, AG-CI | TDD=false | Infrastructure, config |
|
|
111
|
-
| Other/Custom | TDD=false | Explicit opt-in |
|
|
112
|
-
|
|
113
|
-
**Override:** User can always specify `TDD=true` or `TDD=false` explicitly.
|
|
114
|
-
|
|
115
|
-
When TDD mode is active, generate framework-specific test code:
|
|
116
|
-
|
|
117
|
-
**Workflow:**
|
|
118
|
-
1. Detect test framework from `environment.json` or `package.json`
|
|
119
|
-
2. Parse AC into Given/When/Then structure
|
|
120
|
-
3. Generate test file using `tdd-test-template.js`
|
|
121
|
-
4. Create test in `__tests__/<STORY>.test.ts` (Jest) or `tests/test_<STORY>.py` (pytest)
|
|
122
|
-
5. All tests start as `.skip` (pending)
|
|
123
|
-
6. Add `tdd_mode: true` and `test_file` to status.json entry
|
|
124
|
-
7. Add TDD badge to story file
|
|
125
|
-
|
|
126
|
-
**Test File Location:**
|
|
127
|
-
- Jest/Vitest: `__tests__/<STORY_ID>.test.ts`
|
|
128
|
-
- pytest: `tests/test_<STORY_ID>.py`
|
|
129
|
-
- Go: `<package>/<STORY_ID>_test.go`
|
|
130
|
-
|
|
131
|
-
**Status.json Entry (TDD mode):**
|
|
132
|
-
```json
|
|
133
|
-
{
|
|
134
|
-
"tdd_mode": true,
|
|
135
|
-
"test_file": "__tests__/US-0042.test.ts",
|
|
136
|
-
"test_status": "not_run"
|
|
137
|
-
}
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### 🚨 RULE #6: NEVER Use echo/cat > For JSON Operations
|
|
141
|
-
|
|
142
|
-
**ALWAYS use**:
|
|
143
|
-
- Edit tool for small changes
|
|
144
|
-
- jq for complex merges
|
|
145
|
-
- Validate after every write
|
|
146
|
-
|
|
147
|
-
---
|
|
148
|
-
|
|
149
|
-
## Key Files & Formats
|
|
150
|
-
|
|
151
|
-
**Input Parameters**:
|
|
152
|
-
```
|
|
153
|
-
EPIC=<EP-ID> # e.g., EP-0001 (required)
|
|
154
|
-
STORY=<US-ID> # e.g., US-0007 (required)
|
|
155
|
-
TITLE=<text> # Story title (required)
|
|
156
|
-
OWNER=<id> # Agent or person name (required)
|
|
157
|
-
ESTIMATE=<time> # e.g., 0.5d, 2h (optional, default: 1d)
|
|
158
|
-
AC=<bullets> # Given/When/Then format (optional)
|
|
159
|
-
DEPENDENCIES=[<list>] # Dependent story IDs (optional)
|
|
160
|
-
TDD=true|false # TDD mode (smart default: true for code owners, false for docs/research)
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
**Output Files Created**:
|
|
164
|
-
| File | Purpose | Template |
|
|
165
|
-
|------|---------|----------|
|
|
166
|
-
| docs/06-stories/EP-<ID>/US-<ID>-<slug>.md | Story with AC | story-template.md |
|
|
167
|
-
| docs/07-testing/test-cases/US-<ID>.md | Test stub | BDD format |
|
|
168
|
-
| __tests__/US-<ID>.test.ts | TDD test code (if TDD=true) | tdd-test-template.js |
|
|
169
|
-
| docs/09-agents/status.json | Story entry | jq merge |
|
|
170
|
-
| docs/09-agents/bus/log.jsonl | Assign event | JSONL line |
|
|
171
|
-
|
|
172
|
-
**Story Entry in status.json**:
|
|
173
|
-
```json
|
|
174
|
-
"US-0042": {
|
|
175
|
-
"id": "US-0042",
|
|
176
|
-
"epic": "EP-0010",
|
|
177
|
-
"owner": "AG-UI",
|
|
178
|
-
"status": "ready",
|
|
179
|
-
"estimate": "1d",
|
|
180
|
-
"deps": ["US-0041"],
|
|
181
|
-
"summary": "Login form with validation",
|
|
182
|
-
"created": "ISO-date",
|
|
183
|
-
"updated": "ISO-date"
|
|
184
|
-
}
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
**Append to bus/log.jsonl**:
|
|
188
|
-
```json
|
|
189
|
-
{"ts":"ISO","type":"assign","from":"SYSTEM","to":"<owner>","story":"<US-ID>","text":"Story created"}
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## Anti-Patterns & Correct Usage
|
|
195
|
-
|
|
196
|
-
❌ **DON'T**:
|
|
197
|
-
- Ask user to "type" AC (use structured Given/When/Then)
|
|
198
|
-
- Create files without showing preview
|
|
199
|
-
- Create story without test stub
|
|
200
|
-
- Overwrite status.json (always merge)
|
|
201
|
-
- Skip JSON validation after edits
|
|
202
|
-
- Forget to link story to epic in status.json
|
|
203
|
-
|
|
204
|
-
✅ **DO**:
|
|
205
|
-
- Use Given/When/Then format for AC
|
|
206
|
-
- Show file previews before confirming
|
|
207
|
-
- Create test stub with BDD structure
|
|
208
|
-
- Merge entries into status.json (preserve data)
|
|
209
|
-
- Validate JSON after every modification
|
|
210
|
-
- Link story to epic in status.json entry
|
|
211
|
-
|
|
212
|
-
---
|
|
213
|
-
|
|
214
|
-
## Confirmation Flow
|
|
215
|
-
|
|
216
|
-
1. **Show preview box** with all files being created
|
|
217
|
-
- Story file path and content
|
|
218
|
-
- Test stub file path and structure
|
|
219
|
-
- status.json changes (diff format)
|
|
220
|
-
- bus/log.jsonl append line
|
|
221
|
-
|
|
222
|
-
2. **Ask confirmation**:
|
|
223
|
-
```xml
|
|
224
|
-
<invoke name="AskUserQuestion">
|
|
225
|
-
<parameter name="questions">[{
|
|
226
|
-
"question": "Create story US-0042: Login Form?",
|
|
227
|
-
"header": "Confirm Story Creation",
|
|
228
|
-
"multiSelect": false,
|
|
229
|
-
"options": [
|
|
230
|
-
{"label": "Yes, create", "description": "Write all files"},
|
|
231
|
-
{"label": "No, edit", "description": "Modify details"},
|
|
232
|
-
{"label": "Cancel", "description": "Don't create"}
|
|
233
|
-
]
|
|
234
|
-
}]</parameter>
|
|
235
|
-
</invoke>
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
3. **On YES**: Execute all writes
|
|
239
|
-
4. **On NO/CANCEL**: Abort without changes
|
|
240
|
-
|
|
241
|
-
---
|
|
242
|
-
|
|
243
|
-
## REMEMBER AFTER COMPACTION
|
|
244
|
-
|
|
245
|
-
- Creates story file + test stub + status.json entry + bus log event
|
|
246
|
-
- ALWAYS validate AC format (Given/When/Then)
|
|
247
|
-
- ALWAYS create test stub referencing AC
|
|
248
|
-
- ALWAYS preview before confirming (prevents mistakes)
|
|
249
|
-
- ALWAYS validate JSON after merge (prevents corruption)
|
|
250
|
-
- Use TaskCreate/TaskUpdate for step tracking (6 steps, or 7 if TDD=true)
|
|
251
|
-
- Files: story file, test file, status.json, bus/log.jsonl
|
|
252
|
-
- **TDD=true**: Also create framework-specific test code in `__tests__/` with pending tests
|
|
253
|
-
|
|
254
|
-
<!-- COMPACT_SUMMARY_END -->
|
|
255
|
-
|
|
256
|
-
## Prompt
|
|
257
|
-
|
|
258
|
-
ROLE: Story Creator
|
|
259
|
-
|
|
260
|
-
🔴 **AskUserQuestion Format**: NEVER ask users to "type" anything. Use proper options:
|
|
261
|
-
```xml
|
|
262
|
-
<invoke name="AskUserQuestion">
|
|
263
|
-
<parameter name="questions">[{
|
|
264
|
-
"question": "Create this story?",
|
|
265
|
-
"header": "Confirm",
|
|
266
|
-
"multiSelect": false,
|
|
267
|
-
"options": [
|
|
268
|
-
{"label": "Yes, create it", "description": "Create story file and test stub"},
|
|
269
|
-
{"label": "Edit first", "description": "Modify details before creating"}
|
|
270
|
-
]
|
|
271
|
-
}]</parameter>
|
|
272
|
-
</invoke>
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
TODO LIST TRACKING
|
|
276
|
-
**CRITICAL**: Immediately create a todo list using TaskCreate/TaskUpdate tool to track story creation:
|
|
277
|
-
```
|
|
278
|
-
1. Parse inputs (EPIC, STORY, TITLE, OWNER, ESTIMATE, DEPENDENCIES, AC)
|
|
279
|
-
2. Create docs/06-stories/<EPIC>/<STORY>-<slug>.md from template
|
|
280
|
-
3. Create docs/07-testing/test-cases/<STORY>.md stub
|
|
281
|
-
4. Merge into docs/09-agents/status.json
|
|
282
|
-
5. Append assign line to bus/log.jsonl
|
|
283
|
-
6. Show preview and confirm with AskUserQuestion
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
Mark each step complete as you finish it. This ensures nothing is forgotten.
|
|
287
|
-
|
|
288
|
-
INPUTS
|
|
289
|
-
EPIC=<EP-ID> STORY=<US-ID> TITLE=<title>
|
|
290
|
-
OWNER=<name or agent id> ESTIMATE=<e.g., 0.5d>
|
|
291
|
-
DEPENDENCIES=[US-000X,...] (optional)
|
|
292
|
-
AC=<Given/When/Then bullets>
|
|
293
|
-
|
|
294
|
-
TEMPLATE
|
|
295
|
-
Use the following template structure:
|
|
296
|
-
@packages/cli/src/core/templates/story-template.md
|
|
297
|
-
|
|
298
|
-
ACTIONS
|
|
299
|
-
1) Create docs/06-stories/<EPIC>/<STORY>-<slug>.md from story-template.md with frontmatter & AC.
|
|
300
|
-
2) Create docs/07-testing/test-cases/<STORY>.md (stub referencing AC).
|
|
301
|
-
3) Merge into docs/09-agents/status.json; append "assign" line to bus/log.jsonl.
|
|
302
|
-
|
|
303
|
-
**Show diff-first, then confirm with AskUserQuestion**:
|
|
304
|
-
```xml
|
|
305
|
-
<invoke name="AskUserQuestion">
|
|
306
|
-
<parameter name="questions">[{
|
|
307
|
-
"question": "Create story <STORY>: <TITLE> with these files?",
|
|
308
|
-
"header": "Create story",
|
|
309
|
-
"multiSelect": false,
|
|
310
|
-
"options": [
|
|
311
|
-
{
|
|
312
|
-
"label": "Yes, create story",
|
|
313
|
-
"description": "Write story file, test stub, and update status.json (Recommended)"
|
|
314
|
-
},
|
|
315
|
-
{
|
|
316
|
-
"label": "No, revise first",
|
|
317
|
-
"description": "I want to modify the content before creating"
|
|
318
|
-
},
|
|
319
|
-
{
|
|
320
|
-
"label": "Cancel",
|
|
321
|
-
"description": "Don't create this story"
|
|
322
|
-
}
|
|
323
|
-
]
|
|
324
|
-
}]</parameter>
|
|
325
|
-
</invoke>
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
---
|
|
329
|
-
|
|
330
|
-
## POST-CREATION ACTIONS
|
|
331
|
-
|
|
332
|
-
After successfully creating the story, offer next steps:
|
|
333
|
-
|
|
334
|
-
```xml
|
|
335
|
-
<invoke name="AskUserQuestion">
|
|
336
|
-
<parameter name="questions">[{
|
|
337
|
-
"question": "Story <STORY> created! What would you like to do next?",
|
|
338
|
-
"header": "Next Steps",
|
|
339
|
-
"multiSelect": false,
|
|
340
|
-
"options": [
|
|
341
|
-
{"label": "Start working on it now (Recommended)", "description": "Mark as in_progress and begin implementation"},
|
|
342
|
-
{"label": "Validate story completeness", "description": "Check AC and dependencies before starting"},
|
|
343
|
-
{"label": "Create another story", "description": "Add more stories to this epic"},
|
|
344
|
-
{"label": "View all stories", "description": "See story list with /agileflow:story:list"}
|
|
345
|
-
]
|
|
346
|
-
}]</parameter>
|
|
347
|
-
</invoke>
|
|
348
|
-
```
|
|
349
|
-
|
|
350
|
-
**If "Start working on it now"**:
|
|
351
|
-
1. Run `/agileflow:status <STORY> STATUS=in_progress`
|
|
352
|
-
2. Then ask: "Enter plan mode to explore implementation approach?"
|
|
353
|
-
- If yes: `EnterPlanMode` and run `obtain-context.js`
|
|
354
|
-
|
|
355
|
-
**If "Validate story completeness"**:
|
|
356
|
-
- Run `/agileflow:story-validate STORY=<STORY>`
|
|
357
|
-
|
|
358
|
-
**If "Create another story"**:
|
|
359
|
-
- Re-run `/agileflow:story EPIC=<same epic>`
|
|
360
|
-
|
|
361
|
-
**If "View all stories"**:
|
|
362
|
-
- Run `/agileflow:story:list EPIC=<epic>`
|
|
363
|
-
|
|
364
|
-
---
|
|
365
|
-
|
|
366
|
-
## Related Commands
|
|
367
|
-
|
|
368
|
-
- `/agileflow:story:list` - View all stories with filters
|
|
369
|
-
- `/agileflow:story:view` - View story details with contextual actions
|
|
370
|
-
- `/agileflow:story-validate` - Validate story completeness
|
|
371
|
-
- `/agileflow:status` - Update story status
|
|
372
|
-
- `/agileflow:epic` - Create parent epic
|
|
373
|
-
|
|
374
|
-
---
|
|
375
|
-
|
|
376
|
-
## Expected Output
|
|
377
|
-
|
|
378
|
-
### Successful Story Creation
|
|
379
|
-
|
|
380
|
-
```
|
|
381
|
-
📝 Creating Story: US-0042
|
|
382
|
-
|
|
383
|
-
Epic: EP-0010
|
|
384
|
-
Title: Login Form with Validation
|
|
385
|
-
Owner: AG-UI
|
|
386
|
-
Estimate: 2h
|
|
387
|
-
TDD Mode: true (smart default for AG-UI)
|
|
388
|
-
|
|
389
|
-
Files to create:
|
|
390
|
-
───────────────────────────
|
|
391
|
-
1. docs/06-stories/EP-0010/US-0042-login-form-validation.md
|
|
392
|
-
- Story file with 3 acceptance criteria
|
|
393
|
-
|
|
394
|
-
2. docs/07-testing/test-cases/US-0042.md
|
|
395
|
-
- Test stub referencing AC
|
|
396
|
-
|
|
397
|
-
3. __tests__/US-0042.test.ts (TDD mode)
|
|
398
|
-
- 3 pending test cases from AC
|
|
399
|
-
|
|
400
|
-
4. docs/09-agents/status.json (merge)
|
|
401
|
-
+ "US-0042": {
|
|
402
|
-
+ "id": "US-0042",
|
|
403
|
-
+ "epic": "EP-0010",
|
|
404
|
-
+ "owner": "AG-UI",
|
|
405
|
-
+ "status": "ready",
|
|
406
|
-
+ "estimate": "2h",
|
|
407
|
-
+ "tdd_mode": true,
|
|
408
|
-
+ "test_file": "__tests__/US-0042.test.ts"
|
|
409
|
-
+ }
|
|
410
|
-
|
|
411
|
-
5. docs/09-agents/bus/log.jsonl (append)
|
|
412
|
-
+ {"ts":"...","type":"assign","from":"SYSTEM","to":"AG-UI","story":"US-0042"}
|
|
413
|
-
|
|
414
|
-
[AskUserQuestion: "Create story US-0042: Login Form with Validation?"]
|
|
415
|
-
|
|
416
|
-
✅ Story US-0042 created successfully!
|
|
417
|
-
✅ Test stub created: docs/07-testing/test-cases/US-0042.md
|
|
418
|
-
✅ TDD tests created: __tests__/US-0042.test.ts (3 pending)
|
|
419
|
-
✅ Bus message sent: assign → AG-UI
|
|
420
|
-
|
|
421
|
-
[AskUserQuestion: "What would you like to do next?"]
|
|
422
|
-
```
|
|
423
|
-
|
|
424
|
-
### Story with Dependencies
|
|
425
|
-
|
|
426
|
-
```
|
|
427
|
-
📝 Creating Story: US-0043
|
|
428
|
-
|
|
429
|
-
Dependencies: US-0042 (Login Form)
|
|
430
|
-
|
|
431
|
-
⚠️ Dependency Status:
|
|
432
|
-
• US-0042: ready (not yet done)
|
|
433
|
-
|
|
434
|
-
[AskUserQuestion: "Create story with pending dependency?"]
|
|
435
|
-
- Yes, create anyway (dependency will block)
|
|
436
|
-
- No, wait for US-0042
|
|
437
|
-
|
|
438
|
-
✅ Story US-0043 created
|
|
439
|
-
⚠️ Status set to 'blocked' (waiting on US-0042)
|
|
440
|
-
```
|
|
441
|
-
|
|
442
|
-
### Validation Error
|
|
443
|
-
|
|
444
|
-
```
|
|
445
|
-
❌ Invalid Input
|
|
446
|
-
|
|
447
|
-
Missing required parameters:
|
|
448
|
-
• EPIC - Parent epic ID (e.g., EP-0010)
|
|
449
|
-
• TITLE - Story title
|
|
450
|
-
|
|
451
|
-
Usage:
|
|
452
|
-
/agileflow:story EPIC=EP-0010 STORY=US-0042 TITLE="Login Form" OWNER=AG-UI
|
|
453
|
-
```
|
|
454
|
-
|
|
455
|
-
### TDD Mode Detection
|
|
456
|
-
|
|
457
|
-
```
|
|
458
|
-
📝 Story Creation
|
|
459
|
-
|
|
460
|
-
Owner: AG-DOCUMENTATION
|
|
461
|
-
TDD Mode: false (smart default - documentation work)
|
|
462
|
-
|
|
463
|
-
ℹ️ To enable TDD mode, add TDD=true to the command:
|
|
464
|
-
/agileflow:story ... TDD=true
|
|
465
|
-
```
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Advance TDD phase (RED→GREEN→REFACTOR→COMPLETE)
|
|
3
|
-
argument-hint: "[<US-ID>]"
|
|
4
|
-
compact_context:
|
|
5
|
-
priority: high
|
|
6
|
-
preserve_rules:
|
|
7
|
-
- "TDD phase gate: RED→GREEN requires test_status=failing"
|
|
8
|
-
- "TDD phase gate: GREEN→REFACTOR requires test_status=passing"
|
|
9
|
-
- "TDD phase gate: REFACTOR→COMPLETE requires test_status=passing"
|
|
10
|
-
- "Always run /agileflow:verify before attempting phase advance"
|
|
11
|
-
- "Show clear phase transition banner with new phase instructions"
|
|
12
|
-
state_fields:
|
|
13
|
-
- tdd_phase
|
|
14
|
-
- test_status
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# /agileflow:tdd-next - Advance TDD Phase
|
|
18
|
-
|
|
19
|
-
Advance to the next TDD phase with gate validation.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## STEP 0: Gather Context
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
node .agileflow/scripts/obtain-context.js tdd-next
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
<!-- COMPACT_SUMMARY_START -->
|
|
32
|
-
|
|
33
|
-
## Compact Summary
|
|
34
|
-
|
|
35
|
-
**Role**: TDD Phase Gate Controller
|
|
36
|
-
|
|
37
|
-
**Critical Rules**:
|
|
38
|
-
1. Read current `tdd_phase` and `test_status` from status.json
|
|
39
|
-
2. Validate transition conditions (failing/passing tests)
|
|
40
|
-
3. Block advancement if conditions not met
|
|
41
|
-
4. Update `tdd_phase` in status.json on success
|
|
42
|
-
5. Display new phase instructions
|
|
43
|
-
|
|
44
|
-
**Transitions**:
|
|
45
|
-
- RED → GREEN: `test_status` must be `"failing"`
|
|
46
|
-
- GREEN → REFACTOR: `test_status` must be `"passing"`
|
|
47
|
-
- REFACTOR → RED (new cycle): `test_status` must be `"passing"`
|
|
48
|
-
- REFACTOR → COMPLETE: `test_status` must be `"passing"`
|
|
49
|
-
|
|
50
|
-
<!-- COMPACT_SUMMARY_END -->
|
|
51
|
-
|
|
52
|
-
## Prompt
|
|
53
|
-
|
|
54
|
-
ROLE: TDD Phase Gate Controller
|
|
55
|
-
|
|
56
|
-
INPUTS
|
|
57
|
-
STORY=<US-ID> Optional - defaults to current in_progress story with active tdd_phase
|
|
58
|
-
|
|
59
|
-
ACTIONS
|
|
60
|
-
1) Load story and current TDD phase from status.json
|
|
61
|
-
2) Determine target phase based on current phase
|
|
62
|
-
3) Validate gate conditions (test_status)
|
|
63
|
-
4) If gate passes: advance phase, show new instructions
|
|
64
|
-
5) If gate fails: show blocking message with remedy
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## Usage
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
/agileflow:tdd-next # Advance current TDD story
|
|
72
|
-
/agileflow:tdd-next US-0042 # Advance specific story
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Workflow
|
|
76
|
-
|
|
77
|
-
### 1. Find Active TDD Story
|
|
78
|
-
|
|
79
|
-
Read `docs/09-agents/status.json`. Find the story:
|
|
80
|
-
- If STORY specified, use that
|
|
81
|
-
- Otherwise, find the story with an active `tdd_phase` (not complete/cancelled)
|
|
82
|
-
- If multiple active, ask user to specify
|
|
83
|
-
|
|
84
|
-
### 2. Determine Target Phase
|
|
85
|
-
|
|
86
|
-
Based on current phase, determine what to advance to:
|
|
87
|
-
|
|
88
|
-
| Current | Default Next | Alternative |
|
|
89
|
-
|---------|-------------|-------------|
|
|
90
|
-
| RED | GREEN | cancel |
|
|
91
|
-
| GREEN | REFACTOR | cancel |
|
|
92
|
-
| REFACTOR | COMPLETE | RED (new cycle), cancel |
|
|
93
|
-
|
|
94
|
-
For REFACTOR, ask the user:
|
|
95
|
-
```json
|
|
96
|
-
[
|
|
97
|
-
{"label": "Complete TDD (Recommended)", "description": "All tests pass, code is clean - ready for review"},
|
|
98
|
-
{"label": "Start new RED→GREEN cycle", "description": "More features to add with TDD discipline"},
|
|
99
|
-
{"label": "Cancel TDD", "description": "Exit TDD workflow, keep changes"}
|
|
100
|
-
]
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### 3. Validate Gate Conditions
|
|
104
|
-
|
|
105
|
-
Check `test_status` in the story against transition requirements:
|
|
106
|
-
|
|
107
|
-
**RED → GREEN** (needs `test_status: "failing"`):
|
|
108
|
-
```
|
|
109
|
-
Current: 🔴 RED phase
|
|
110
|
-
Target: 🟢 GREEN phase
|
|
111
|
-
Gate: test_status must be "failing"
|
|
112
|
-
Status: test_status = "failing" ✅
|
|
113
|
-
|
|
114
|
-
Advancing to GREEN phase...
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
**Gate BLOCKED example:**
|
|
118
|
-
```
|
|
119
|
-
Current: 🔴 RED phase
|
|
120
|
-
Target: 🟢 GREEN phase
|
|
121
|
-
Gate: test_status must be "failing"
|
|
122
|
-
Status: test_status = "passing" ❌
|
|
123
|
-
|
|
124
|
-
🚫 Cannot advance: Tests must FAIL before moving to GREEN.
|
|
125
|
-
|
|
126
|
-
This means either:
|
|
127
|
-
1. You haven't written tests yet (write failing tests first)
|
|
128
|
-
2. Your tests pass because they don't test real behavior
|
|
129
|
-
3. The implementation already exists
|
|
130
|
-
|
|
131
|
-
Action: Write tests that verify behavior not yet implemented.
|
|
132
|
-
Then run /agileflow:verify to confirm they fail.
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
**No test_status at all:**
|
|
136
|
-
```
|
|
137
|
-
🚫 Cannot advance: No test results found.
|
|
138
|
-
|
|
139
|
-
Run /agileflow:verify first to execute tests and record status.
|
|
140
|
-
Then try /agileflow:tdd-next again.
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
### 4. Advance Phase
|
|
144
|
-
|
|
145
|
-
On success, update status.json:
|
|
146
|
-
```json
|
|
147
|
-
{
|
|
148
|
-
"tdd_phase": "green",
|
|
149
|
-
"tdd_last_transition": "2026-02-25T..."
|
|
150
|
-
}
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### 5. Display New Phase Banner
|
|
154
|
-
|
|
155
|
-
```
|
|
156
|
-
🟢 TDD GREEN PHASE - US-0042: [Story Title]
|
|
157
|
-
══════════════════════════════════════════
|
|
158
|
-
|
|
159
|
-
RED → GREEN transition complete! ✅
|
|
160
|
-
|
|
161
|
-
Write MINIMAL code to make tests pass. Rules:
|
|
162
|
-
• Write the simplest implementation that passes tests
|
|
163
|
-
• Do NOT refactor yet - ugly code is fine
|
|
164
|
-
• Do NOT add features beyond what tests require
|
|
165
|
-
• Do NOT modify test files (except removing .skip())
|
|
166
|
-
• Run tests frequently
|
|
167
|
-
|
|
168
|
-
Next steps:
|
|
169
|
-
1. Implement code to pass the failing tests
|
|
170
|
-
2. Run /agileflow:verify to confirm tests PASS
|
|
171
|
-
3. Run /agileflow:tdd-next to advance to REFACTOR
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
### 6. AskUserQuestion
|
|
175
|
-
|
|
176
|
-
After showing the transition result:
|
|
177
|
-
|
|
178
|
-
**Successful advance to GREEN:**
|
|
179
|
-
```json
|
|
180
|
-
[
|
|
181
|
-
{"label": "Start implementing to pass tests (Recommended)", "description": "Write minimal code - tests define the requirements"},
|
|
182
|
-
{"label": "Review the failing tests first", "description": "Read test files to understand requirements"},
|
|
183
|
-
{"label": "Cancel TDD mode", "description": "Exit TDD workflow, keep test files"}
|
|
184
|
-
]
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
**Successful advance to REFACTOR:**
|
|
188
|
-
```json
|
|
189
|
-
[
|
|
190
|
-
{"label": "Start refactoring (Recommended)", "description": "Tests pass - clean up the code while keeping them green"},
|
|
191
|
-
{"label": "Run logic audit on implementation", "description": "Check for edge cases before refactoring"},
|
|
192
|
-
{"label": "Skip refactor, complete TDD", "description": "Code is clean enough - finish TDD cycle"}
|
|
193
|
-
]
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
**Successful COMPLETE:**
|
|
197
|
-
```json
|
|
198
|
-
[
|
|
199
|
-
{"label": "Run code review (Recommended)", "description": "TDD complete - review before committing"},
|
|
200
|
-
{"label": "Commit changes", "description": "All tests pass, TDD cycle done"},
|
|
201
|
-
{"label": "Start new TDD cycle", "description": "More features to implement for this story"}
|
|
202
|
-
]
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
**Gate blocked:**
|
|
206
|
-
```json
|
|
207
|
-
[
|
|
208
|
-
{"label": "Run /agileflow:verify (Recommended)", "description": "Execute tests to update test_status"},
|
|
209
|
-
{"label": "Review test files", "description": "Check if tests are correctly written"},
|
|
210
|
-
{"label": "Cancel TDD mode", "description": "Exit TDD workflow"}
|
|
211
|
-
]
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
## Error Handling
|
|
215
|
-
|
|
216
|
-
### No Active TDD Story
|
|
217
|
-
```
|
|
218
|
-
❌ No active TDD workflow found.
|
|
219
|
-
|
|
220
|
-
Start TDD with: /agileflow:tdd US-0042
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
### Multiple Active TDD Stories
|
|
224
|
-
```
|
|
225
|
-
⚠️ Multiple active TDD stories found:
|
|
226
|
-
🔴 US-0042: Add auth middleware (RED phase)
|
|
227
|
-
🟢 US-0043: User settings API (GREEN phase)
|
|
228
|
-
|
|
229
|
-
Specify which story: /agileflow:tdd-next US-0042
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
---
|
|
233
|
-
|
|
234
|
-
## Related Commands
|
|
235
|
-
|
|
236
|
-
- `/agileflow:tdd` - Start TDD workflow
|
|
237
|
-
- `/agileflow:verify` - Run tests and update test_status
|
|
238
|
-
- `/agileflow:babysit` - Main implementation workflow
|