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,469 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Synchronize documentation with code changes
|
|
3
|
-
phase: post-impl
|
|
4
|
-
argument-hint: "[BRANCH=<name>] [BASE=<branch>] [AUTO_CREATE=true|false]"
|
|
5
|
-
compact_context:
|
|
6
|
-
priority: high
|
|
7
|
-
preserve_rules:
|
|
8
|
-
- "Compare BRANCH against BASE using git diff"
|
|
9
|
-
- "Categorize changes: API, UI, services, config, database"
|
|
10
|
-
- "Generate gap report: missing, outdated, up-to-date docs"
|
|
11
|
-
- "NEVER delete docs without explicit approval"
|
|
12
|
-
- "{{RULES:file_preview}}"
|
|
13
|
-
- "PRESERVE custom content - use managed section markers"
|
|
14
|
-
- "INFER docs from TypeScript types, JSDoc, OpenAPI, tests"
|
|
15
|
-
- "Optional AUTO_CREATE mode auto-generates all missing docs"
|
|
16
|
-
state_fields:
|
|
17
|
-
- branch_name
|
|
18
|
-
- base_branch
|
|
19
|
-
- auto_create_flag
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
# docs-sync
|
|
23
|
-
|
|
24
|
-
Synchronize documentation with codebase changes.
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## STEP 0: Gather Context
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
node .agileflow/scripts/obtain-context.js docs
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
<!-- COMPACT_SUMMARY_START -->
|
|
37
|
-
|
|
38
|
-
## ⚠️ COMPACT SUMMARY - /agileflow:docs-sync IS ACTIVE
|
|
39
|
-
|
|
40
|
-
**CRITICAL**: You are detecting code changes and synchronizing documentation. Goal: prevent documentation drift.
|
|
41
|
-
|
|
42
|
-
**ROLE**: Documentation Synchronizer
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
### 🚨 RULE #1: COMPARE BRANCHES AND DETECT CHANGES
|
|
47
|
-
|
|
48
|
-
Use git diff to compare BRANCH against BASE:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
git diff <BASE>...<BRANCH> --name-status
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Categorize changes:
|
|
55
|
-
- **API endpoints**: src/api/, src/routes/, src/controllers/
|
|
56
|
-
- **UI components**: src/components/, src/pages/
|
|
57
|
-
- **Services**: src/services/, src/utils/
|
|
58
|
-
- **Config**: *.config.js, *.yml, .env.example
|
|
59
|
-
- **Database**: migrations/, schema/
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
### 🚨 RULE #2: MAP TO EXPECTED DOCUMENTATION
|
|
64
|
-
|
|
65
|
-
For each changed file, map to expected docs:
|
|
66
|
-
|
|
67
|
-
| Code Change | Expected Doc Location | Gap Status |
|
|
68
|
-
|-------------|----------------------|-----------|
|
|
69
|
-
| New API endpoint | docs/04-architecture/api.md | Check section exists |
|
|
70
|
-
| New UI component | docs/04-architecture/components.md | Check section exists |
|
|
71
|
-
| New service/utility | docs/04-architecture/services.md | Check section exists |
|
|
72
|
-
| Config change | docs/02-practices/configuration.md | Check referenced |
|
|
73
|
-
| Database migration | docs/04-architecture/database.md | Check documented |
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
### 🚨 RULE #3: GENERATE GAP REPORT
|
|
78
|
-
|
|
79
|
-
Always create gap report showing status for each change:
|
|
80
|
-
|
|
81
|
-
```markdown
|
|
82
|
-
# Documentation Sync Report
|
|
83
|
-
**Branch**: feature/auth | **Base**: main | **Generated**: 2025-12-22T10:30Z
|
|
84
|
-
|
|
85
|
-
## Missing Documentation (3)
|
|
86
|
-
- ❌ POST /api/auth/login (src/api/auth/login.ts)
|
|
87
|
-
- ❌ LoginForm component (src/components/LoginForm.tsx)
|
|
88
|
-
- ❌ JWT_SECRET env var (.env.example)
|
|
89
|
-
|
|
90
|
-
## Outdated Documentation (1)
|
|
91
|
-
- 📄 Mentions /api/v1/login (removed in this branch)
|
|
92
|
-
|
|
93
|
-
## Up-to-Date (2)
|
|
94
|
-
- ✅ UserAvatar component documented
|
|
95
|
-
- ✅ Database schema up-to-date
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
### 🚨 RULE #4: NEVER DELETE WITHOUT APPROVAL
|
|
101
|
-
|
|
102
|
-
**CRITICAL**: When docs are removed or changed:
|
|
103
|
-
1. Show diff to user
|
|
104
|
-
2. Ask explicit approval: "Delete this section? (YES/NO)"
|
|
105
|
-
3. Only delete if user approves
|
|
106
|
-
|
|
107
|
-
❌ WRONG: Remove outdated docs without asking
|
|
108
|
-
✅ RIGHT: Show diff, ask approval, delete only if approved
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
### 🚨 RULE #5: DIFF-FIRST, YES/NO PATTERN
|
|
113
|
-
|
|
114
|
-
**ALWAYS follow this pattern:**
|
|
115
|
-
|
|
116
|
-
1. Generate all proposed changes in memory (don't write)
|
|
117
|
-
2. Show diff/preview to user
|
|
118
|
-
3. Ask: "Create missing documentation? (YES/NO)"
|
|
119
|
-
4. Only write files if user says YES
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
### 🚨 RULE #6: SMART INFERENCE
|
|
124
|
-
|
|
125
|
-
Infer documentation from code sources:
|
|
126
|
-
|
|
127
|
-
**From TypeScript**:
|
|
128
|
-
```typescript
|
|
129
|
-
// Code:
|
|
130
|
-
export interface User {
|
|
131
|
-
id: string;
|
|
132
|
-
email: string;
|
|
133
|
-
name: string;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// Generated doc:
|
|
137
|
-
## User Interface
|
|
138
|
-
- id (string) - Unique user identifier
|
|
139
|
-
- email (string) - User email address
|
|
140
|
-
- name (string) - User full name
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
**From JSDoc**:
|
|
144
|
-
```typescript
|
|
145
|
-
/**
|
|
146
|
-
* Authenticates user with email and password
|
|
147
|
-
* @returns JWT token and user profile
|
|
148
|
-
*/
|
|
149
|
-
export async function login(email: string, password: string)
|
|
150
|
-
|
|
151
|
-
// Generated doc:
|
|
152
|
-
POST /api/auth/login
|
|
153
|
-
Authenticates user with email and password.
|
|
154
|
-
Returns JWT token and user profile.
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
### ANTI-PATTERNS (DON'T DO THESE)
|
|
160
|
-
|
|
161
|
-
❌ Delete docs without approval
|
|
162
|
-
❌ Skip diff-first pattern
|
|
163
|
-
❌ Overwrite manually written sections
|
|
164
|
-
❌ Create vague doc stubs ("TODO: Add details")
|
|
165
|
-
❌ Ignore outdated documentation
|
|
166
|
-
❌ Skip gap report
|
|
167
|
-
|
|
168
|
-
### DO THESE INSTEAD
|
|
169
|
-
|
|
170
|
-
✅ Always ask before deleting
|
|
171
|
-
✅ Show diffs for user approval
|
|
172
|
-
✅ Preserve custom content
|
|
173
|
-
✅ Generate complete doc stubs from code
|
|
174
|
-
✅ Flag outdated docs clearly
|
|
175
|
-
✅ Create comprehensive gap report
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
### WORKFLOW
|
|
180
|
-
|
|
181
|
-
1. **Get Diff**: Compare BRANCH vs BASE with git diff
|
|
182
|
-
2. **Categorize**: Group changes by type (API, UI, services, etc.)
|
|
183
|
-
3. **Map**: For each change, identify expected doc location
|
|
184
|
-
4. **Analyze**: Check if docs exist, are current, or are missing
|
|
185
|
-
5. **Report**: Generate gap report with status indicators
|
|
186
|
-
6. **Preview**: Show all proposed changes to user
|
|
187
|
-
7. **Ask**: "Create missing documentation? (YES/NO)"
|
|
188
|
-
8. **Create**: Only if user approves - generate stubs from code
|
|
189
|
-
9. **Commit**: If AUTO_CREATE=yes, commit with message "docs: sync with codebase changes"
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
### TOOL USAGE EXAMPLES
|
|
194
|
-
|
|
195
|
-
**TaskCreate/TaskUpdate** (to track sync process):
|
|
196
|
-
```xml
|
|
197
|
-
<invoke name="TaskCreate/TaskUpdate">
|
|
198
|
-
<parameter name="content">1. Get git diff between BASE and BRANCH
|
|
199
|
-
2. Categorize changes (API, UI, services, config, DB)
|
|
200
|
-
3. Map to expected documentation locations
|
|
201
|
-
4. Analyze gaps (missing, outdated, current)
|
|
202
|
-
5. Generate gap report
|
|
203
|
-
6. Preview proposed changes
|
|
204
|
-
7. Get user approval
|
|
205
|
-
8. Create docs if approved</parameter>
|
|
206
|
-
<parameter name="status">in-progress</parameter>
|
|
207
|
-
</invoke>
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
**AskUserQuestion** (for approval):
|
|
211
|
-
```xml
|
|
212
|
-
<invoke name="AskUserQuestion">
|
|
213
|
-
<parameter name="questions">[{
|
|
214
|
-
"question": "Create missing documentation for detected code changes?",
|
|
215
|
-
"header": "Documentation Sync",
|
|
216
|
-
"multiSelect": false,
|
|
217
|
-
"options": [
|
|
218
|
-
{"label": "Create all missing docs", "description": "Auto-generate stubs from code"},
|
|
219
|
-
{"label": "Review each one first", "description": "Preview changes before creating"},
|
|
220
|
-
{"label": "Skip documentation", "description": "Don't create docs now"}
|
|
221
|
-
]
|
|
222
|
-
}]</parameter>
|
|
223
|
-
</invoke>
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
|
|
228
|
-
### REMEMBER AFTER COMPACTION
|
|
229
|
-
|
|
230
|
-
- `/agileflow:docs-sync` IS ACTIVE
|
|
231
|
-
- Compare BRANCH vs BASE with git diff
|
|
232
|
-
- Categorize changes (API, UI, services, etc.)
|
|
233
|
-
- Generate gap report (missing, outdated, current)
|
|
234
|
-
- Never delete docs without approval
|
|
235
|
-
- Use diff-first, YES/NO pattern
|
|
236
|
-
- Infer docs from code (TypeScript, JSDoc, tests)
|
|
237
|
-
- Optional AUTO_CREATE auto-generates all missing docs
|
|
238
|
-
|
|
239
|
-
<!-- COMPACT_SUMMARY_END -->
|
|
240
|
-
|
|
241
|
-
---
|
|
242
|
-
|
|
243
|
-
## Prompt
|
|
244
|
-
|
|
245
|
-
ROLE: Documentation Synchronizer
|
|
246
|
-
|
|
247
|
-
OBJECTIVE
|
|
248
|
-
Detect code changes and ensure corresponding documentation is created or updated.
|
|
249
|
-
|
|
250
|
-
INPUTS (optional)
|
|
251
|
-
- BRANCH=<branch name> (default: current branch)
|
|
252
|
-
- BASE=<base branch> (default: main/master)
|
|
253
|
-
- AUTO_CREATE=yes|no (default: no, ask first)
|
|
254
|
-
|
|
255
|
-
DETECTION WORKFLOW
|
|
256
|
-
1. Get git diff between BASE and BRANCH:
|
|
257
|
-
```bash
|
|
258
|
-
git diff <BASE>...<BRANCH> --name-status
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
2. Categorize changes:
|
|
262
|
-
- **New API endpoints**: src/api/, src/routes/, src/controllers/
|
|
263
|
-
- **New UI components**: src/components/, src/pages/
|
|
264
|
-
- **New utilities/services**: src/services/, src/utils/
|
|
265
|
-
- **Config changes**: *.config.js, *.yml, .env.example
|
|
266
|
-
- **Database changes**: migrations/, schema/
|
|
267
|
-
|
|
268
|
-
3. Map to expected docs:
|
|
269
|
-
- API endpoints → docs/04-architecture/api.md or OpenAPI spec
|
|
270
|
-
- UI components → docs/04-architecture/components.md or Storybook
|
|
271
|
-
- Services → docs/04-architecture/services.md
|
|
272
|
-
- Config → docs/02-practices/configuration.md
|
|
273
|
-
- Migrations → docs/04-architecture/database.md
|
|
274
|
-
|
|
275
|
-
ANALYSIS
|
|
276
|
-
For each changed file:
|
|
277
|
-
```
|
|
278
|
-
File: src/api/auth/login.ts (ADDED)
|
|
279
|
-
Expected doc: docs/04-architecture/api.md
|
|
280
|
-
Section: Authentication Endpoints
|
|
281
|
-
Status: ❌ MISSING (section exists but endpoint not documented)
|
|
282
|
-
|
|
283
|
-
Suggestion:
|
|
284
|
-
## POST /api/auth/login
|
|
285
|
-
**Added**: <date>
|
|
286
|
-
**Story**: <US_ID if found in commit>
|
|
287
|
-
|
|
288
|
-
Request:
|
|
289
|
-
\`\`\`json
|
|
290
|
-
{ "email": "string", "password": "string" }
|
|
291
|
-
\`\`\`
|
|
292
|
-
|
|
293
|
-
Response:
|
|
294
|
-
\`\`\`json
|
|
295
|
-
{ "token": "string", "user": {...} }
|
|
296
|
-
\`\`\`
|
|
297
|
-
|
|
298
|
-
Authentication: None (public endpoint)
|
|
299
|
-
Rate limit: 5 requests/minute
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
GAP REPORT
|
|
303
|
-
```markdown
|
|
304
|
-
# Documentation Sync Report
|
|
305
|
-
|
|
306
|
-
**Branch**: <BRANCH>
|
|
307
|
-
**Base**: <BASE>
|
|
308
|
-
**Generated**: <ISO timestamp>
|
|
309
|
-
|
|
310
|
-
## Missing Documentation
|
|
311
|
-
|
|
312
|
-
### API Endpoints (3)
|
|
313
|
-
- ❌ POST /api/auth/login (src/api/auth/login.ts)
|
|
314
|
-
- ❌ GET /api/users/:id (src/api/users/get.ts)
|
|
315
|
-
- ❌ DELETE /api/sessions (src/api/sessions/delete.ts)
|
|
316
|
-
|
|
317
|
-
### UI Components (2)
|
|
318
|
-
- ❌ LoginForm (src/components/LoginForm.tsx)
|
|
319
|
-
- ⚠️ UserProfile (src/components/UserProfile.tsx) - stub exists, needs details
|
|
320
|
-
|
|
321
|
-
### Configuration (1)
|
|
322
|
-
- ❌ New env var: JWT_SECRET (.env.example)
|
|
323
|
-
|
|
324
|
-
## Outdated Documentation
|
|
325
|
-
|
|
326
|
-
### Deprecated
|
|
327
|
-
- 📄 docs/04-architecture/api.md mentions /api/v1/login (removed in this branch)
|
|
328
|
-
|
|
329
|
-
## Up-to-Date
|
|
330
|
-
- ✅ UserAvatar component documented
|
|
331
|
-
- ✅ Database schema up-to-date
|
|
332
|
-
```
|
|
333
|
-
|
|
334
|
-
ACTIONS (after user review)
|
|
335
|
-
1. For missing docs:
|
|
336
|
-
- Generate stub documentation with placeholders
|
|
337
|
-
- Preview (diff-first)
|
|
338
|
-
- Ask: "Create missing documentation? (YES/NO)"
|
|
339
|
-
|
|
340
|
-
2. For outdated docs:
|
|
341
|
-
- Suggest removals or updates
|
|
342
|
-
- Preview changes
|
|
343
|
-
- Ask: "Update outdated sections? (YES/NO)"
|
|
344
|
-
|
|
345
|
-
3. If AUTO_CREATE=yes:
|
|
346
|
-
- Create all missing docs automatically
|
|
347
|
-
- Mark sections with "TODO: Add details" for manual review
|
|
348
|
-
- Commit: "docs: sync with codebase changes"
|
|
349
|
-
|
|
350
|
-
SMART INFERENCE
|
|
351
|
-
Try to infer documentation from:
|
|
352
|
-
- TypeScript types/interfaces
|
|
353
|
-
- JSDoc comments
|
|
354
|
-
- OpenAPI decorators
|
|
355
|
-
- Function signatures
|
|
356
|
-
- Test files (use as examples)
|
|
357
|
-
|
|
358
|
-
Example:
|
|
359
|
-
```typescript
|
|
360
|
-
// Code: src/api/auth/login.ts
|
|
361
|
-
/**
|
|
362
|
-
* Authenticates user with email and password
|
|
363
|
-
* @returns JWT token and user profile
|
|
364
|
-
*/
|
|
365
|
-
export async function login(req: Request, res: Response) {
|
|
366
|
-
const { email, password } = req.body;
|
|
367
|
-
// ...
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
// Generated doc:
|
|
371
|
-
## POST /api/auth/login
|
|
372
|
-
Authenticates user with email and password.
|
|
373
|
-
Returns JWT token and user profile.
|
|
374
|
-
```
|
|
375
|
-
|
|
376
|
-
INTEGRATION
|
|
377
|
-
- Create story if significant doc gaps found: "US-XXXX: Update documentation for <feature>"
|
|
378
|
-
- Append to docs/09-agents/bus/log.jsonl: {"type":"docs-sync","missing":3,"outdated":1}
|
|
379
|
-
- Optionally add to PR checklist: "- [ ] Documentation updated"
|
|
380
|
-
|
|
381
|
-
CI INTEGRATION
|
|
382
|
-
Suggest adding to PR checks:
|
|
383
|
-
```yaml
|
|
384
|
-
- name: Check docs sync
|
|
385
|
-
run: npx claude-code /agileflow:docs-sync BRANCH=${{ github.head_ref }}
|
|
386
|
-
# Fail if critical docs missing (e.g., public API endpoints)
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
RULES
|
|
390
|
-
- Never delete docs without explicit approval
|
|
391
|
-
- Preserve custom content (don't overwrite manually written sections)
|
|
392
|
-
- Use managed section markers: <!-- MANAGED:api-endpoints --> ... <!-- /MANAGED -->
|
|
393
|
-
- Link docs to source files for traceability
|
|
394
|
-
- Diff-first, YES/NO for all changes
|
|
395
|
-
|
|
396
|
-
OUTPUT
|
|
397
|
-
- Gap report (markdown)
|
|
398
|
-
- List of actions to take
|
|
399
|
-
- Optional: PR with doc updates (if approved)
|
|
400
|
-
|
|
401
|
-
---
|
|
402
|
-
|
|
403
|
-
## Expected Output
|
|
404
|
-
|
|
405
|
-
### Success - Gap Analysis
|
|
406
|
-
|
|
407
|
-
```
|
|
408
|
-
📚 Documentation Gap Analysis
|
|
409
|
-
══════════════════════════════════════════════════════════════
|
|
410
|
-
|
|
411
|
-
Scanning codebase...
|
|
412
|
-
✓ Found 45 exported functions
|
|
413
|
-
✓ Found 12 API endpoints
|
|
414
|
-
✓ Found 8 React components
|
|
415
|
-
|
|
416
|
-
📊 Coverage Report:
|
|
417
|
-
┌────────────────────┬────────────┬────────────┬───────────┐
|
|
418
|
-
│ Category │ Documented │ Total │ Coverage │
|
|
419
|
-
├────────────────────┼────────────┼────────────┼───────────┤
|
|
420
|
-
│ API Endpoints │ 10 │ 12 │ 83% 🟡 │
|
|
421
|
-
│ Public Functions │ 38 │ 45 │ 84% 🟡 │
|
|
422
|
-
│ React Components │ 8 │ 8 │ 100% 🟢 │
|
|
423
|
-
│ README files │ 5 │ 8 │ 63% 🔴 │
|
|
424
|
-
└────────────────────┴────────────┴────────────┴───────────┘
|
|
425
|
-
|
|
426
|
-
🔴 Missing Documentation:
|
|
427
|
-
1. POST /api/orders/bulk - No JSDoc or OpenAPI spec
|
|
428
|
-
2. POST /api/webhooks/stripe - No JSDoc or OpenAPI spec
|
|
429
|
-
3. docs/06-stories/README.md - Folder missing README
|
|
430
|
-
4. docs/07-testing/README.md - Folder missing README
|
|
431
|
-
|
|
432
|
-
Generate missing docs? [Y/n]
|
|
433
|
-
```
|
|
434
|
-
|
|
435
|
-
### Success - Docs Updated
|
|
436
|
-
|
|
437
|
-
```
|
|
438
|
-
📚 Documentation Update
|
|
439
|
-
══════════════════════════════════════════════════════════════
|
|
440
|
-
|
|
441
|
-
✓ Updated docs/api/orders.md (added bulk endpoint)
|
|
442
|
-
✓ Created docs/06-stories/README.md
|
|
443
|
-
✓ Created docs/07-testing/README.md
|
|
444
|
-
✓ Regenerated docs/api/openapi.yaml
|
|
445
|
-
|
|
446
|
-
4 files updated.
|
|
447
|
-
Coverage: 63% → 88% (+25%)
|
|
448
|
-
```
|
|
449
|
-
|
|
450
|
-
### Error - Source Not Found
|
|
451
|
-
|
|
452
|
-
```
|
|
453
|
-
❌ Error: Source directory not found
|
|
454
|
-
|
|
455
|
-
Path: src/api/
|
|
456
|
-
|
|
457
|
-
Please verify project structure or specify source:
|
|
458
|
-
/agileflow:docs SOURCE=lib/
|
|
459
|
-
```
|
|
460
|
-
|
|
461
|
-
---
|
|
462
|
-
|
|
463
|
-
## Related Commands
|
|
464
|
-
|
|
465
|
-
- `/agileflow:readme-sync` - Sync folder README with contents
|
|
466
|
-
- `/agileflow:changelog` - Generate changelog from commits
|
|
467
|
-
- `/agileflow:update` - Generate stakeholder progress report
|
|
468
|
-
- `/agileflow:template` - Manage custom templates
|
|
469
|
-
- `/agileflow:pr` - Generate pull request from story
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Edit an existing epic's fields (title, owner, goal, status)
|
|
3
|
-
argument-hint: "EPIC=<EP-ID> [TITLE=<text>] [OWNER=<id>] [GOAL=<text>] [STATUS=<status>]"
|
|
4
|
-
compact_context:
|
|
5
|
-
priority: high
|
|
6
|
-
preserve_rules:
|
|
7
|
-
- "ACTIVE COMMAND: /agileflow:epic:edit - Edit epic fields with diff-preview-confirm"
|
|
8
|
-
- "{{RULES:json_operations}}"
|
|
9
|
-
- "{{RULES:user_confirmation}}"
|
|
10
|
-
- "{{RULES:file_preview}}"
|
|
11
|
-
- "MUST read current epic from status.json BEFORE proposing changes"
|
|
12
|
-
- "MUST show diff of old vs new values"
|
|
13
|
-
- "MUST confirm with AskUserQuestion before writing"
|
|
14
|
-
- "MUST log edit event to bus/log.jsonl"
|
|
15
|
-
- "MUST update epic file in docs/05-epics/ if it exists"
|
|
16
|
-
state_fields:
|
|
17
|
-
- epic_id
|
|
18
|
-
- fields_changed
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
# /agileflow:epic:edit
|
|
22
|
-
|
|
23
|
-
Edit an existing epic's metadata fields with diff preview and confirmation.
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## STEP 0: Gather Context
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
node .agileflow/scripts/obtain-context.js epic:edit
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
<!-- COMPACT_SUMMARY_START -->
|
|
36
|
-
## Compact Summary
|
|
37
|
-
|
|
38
|
-
**Command**: `/agileflow:epic:edit EPIC=<EP-ID> [TITLE=...] [OWNER=...] [GOAL=...] [STATUS=...]`
|
|
39
|
-
**Purpose**: Edit epic fields in status.json with diff-preview-confirm workflow
|
|
40
|
-
|
|
41
|
-
### Flow
|
|
42
|
-
1. Parse EPIC parameter (required) and optional field overrides
|
|
43
|
-
2. Read current epic from status.json
|
|
44
|
-
3. Show diff of proposed changes
|
|
45
|
-
4. Confirm via AskUserQuestion
|
|
46
|
-
5. Apply changes to status.json
|
|
47
|
-
6. Update epic file in docs/05-epics/ if it exists
|
|
48
|
-
7. Log edit event to bus/log.jsonl
|
|
49
|
-
|
|
50
|
-
### Critical Rules
|
|
51
|
-
- **Diff preview**: Always show old vs new before writing
|
|
52
|
-
- **Confirmation**: Never write without user approval
|
|
53
|
-
- **Bus logging**: Always append epic-edited event
|
|
54
|
-
- **Epic file sync**: Update markdown file if it exists
|
|
55
|
-
- **Validation**: Verify JSON integrity after write
|
|
56
|
-
<!-- COMPACT_SUMMARY_END -->
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Arguments
|
|
61
|
-
|
|
62
|
-
| Argument | Required | Description |
|
|
63
|
-
|----------|----------|-------------|
|
|
64
|
-
| EPIC | Yes | Epic ID (e.g., EP-0041) |
|
|
65
|
-
| TITLE | No | New epic title |
|
|
66
|
-
| OWNER | No | New owner (e.g., AG-DEVOPS, AG-API) |
|
|
67
|
-
| GOAL | No | New epic goal description |
|
|
68
|
-
| STATUS | No | New status (ready, active, complete, on-hold) |
|
|
69
|
-
|
|
70
|
-
At least one optional field must be provided (otherwise suggest `/agileflow:epic:view`).
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## IMMEDIATE ACTIONS
|
|
75
|
-
|
|
76
|
-
### Step 1: Validate Input
|
|
77
|
-
|
|
78
|
-
If EPIC not provided:
|
|
79
|
-
|
|
80
|
-
```xml
|
|
81
|
-
<invoke name="AskUserQuestion">
|
|
82
|
-
<parameter name="questions">[{
|
|
83
|
-
"question": "Which epic would you like to edit?",
|
|
84
|
-
"header": "Select",
|
|
85
|
-
"multiSelect": false,
|
|
86
|
-
"options": [
|
|
87
|
-
{"label": "Enter epic ID", "description": "Provide an EP-XXXX identifier"}
|
|
88
|
-
]
|
|
89
|
-
}]</parameter>
|
|
90
|
-
</invoke>
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Step 2: Read Current Epic
|
|
94
|
-
|
|
95
|
-
Read the epic entry from `docs/09-agents/status.json`:
|
|
96
|
-
|
|
97
|
-
```javascript
|
|
98
|
-
const data = JSON.parse(fs.readFileSync('docs/09-agents/status.json', 'utf8'));
|
|
99
|
-
const epic = data.epics[epicId];
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
If epic not found, show error: "Epic {EPIC} not found in status.json"
|
|
103
|
-
|
|
104
|
-
### Step 3: Build Change Set
|
|
105
|
-
|
|
106
|
-
Compare provided fields against current values. Skip fields that match current values (no-op).
|
|
107
|
-
|
|
108
|
-
If no fields would change, inform user: "No changes detected. Current values match provided values."
|
|
109
|
-
|
|
110
|
-
### Step 4: Show Diff Preview
|
|
111
|
-
|
|
112
|
-
Display a clear diff of what will change:
|
|
113
|
-
|
|
114
|
-
```markdown
|
|
115
|
-
## Editing EP-0041: Current Title
|
|
116
|
-
|
|
117
|
-
| Field | Current | New |
|
|
118
|
-
|-------|---------|-----|
|
|
119
|
-
| title | "DX Quick Wins" | "DX Quick Wins - March 2026" |
|
|
120
|
-
| owner | AG-DEVOPS | AG-API |
|
|
121
|
-
| status | ready | active |
|
|
122
|
-
|
|
123
|
-
Files modified:
|
|
124
|
-
1. docs/09-agents/status.json (epic entry update)
|
|
125
|
-
2. docs/05-epics/EP-0041-*.md (if exists, update frontmatter)
|
|
126
|
-
3. docs/09-agents/bus/log.jsonl (edit event append)
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### Step 5: Confirm Changes
|
|
130
|
-
|
|
131
|
-
```xml
|
|
132
|
-
<invoke name="AskUserQuestion">
|
|
133
|
-
<parameter name="questions">[{
|
|
134
|
-
"question": "Apply these changes to EP-0041?",
|
|
135
|
-
"header": "Confirm edit",
|
|
136
|
-
"multiSelect": false,
|
|
137
|
-
"options": [
|
|
138
|
-
{"label": "Yes, apply changes (Recommended)", "description": "Update status.json and log edit event"},
|
|
139
|
-
{"label": "No, cancel", "description": "Discard changes"}
|
|
140
|
-
]
|
|
141
|
-
}]</parameter>
|
|
142
|
-
</invoke>
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### Step 6: Apply Changes
|
|
146
|
-
|
|
147
|
-
On confirmation:
|
|
148
|
-
|
|
149
|
-
1. **Update status.json** using Edit tool or jq:
|
|
150
|
-
- Update only the changed fields in the epic entry
|
|
151
|
-
- Set `updated` timestamp to current ISO date
|
|
152
|
-
|
|
153
|
-
2. **Update epic file** (if exists in `docs/05-epics/`):
|
|
154
|
-
- Find matching file: `docs/05-epics/EP-XXXX-*.md`
|
|
155
|
-
- Update title in heading and frontmatter
|
|
156
|
-
- Update owner, status, goal fields
|
|
157
|
-
|
|
158
|
-
3. **Validate JSON**:
|
|
159
|
-
```bash
|
|
160
|
-
node -e "JSON.parse(require('fs').readFileSync('docs/09-agents/status.json','utf8')); console.log('valid')"
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
4. **Append to bus/log.jsonl**:
|
|
164
|
-
```json
|
|
165
|
-
{"ts":"<ISO>","type":"epic-edited","from":"USER","epic":"<EPIC>","changes":{"field":"old_value->new_value"},"text":"Epic edited: <changed fields>"}
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
### Step 7: Confirm Success
|
|
169
|
-
|
|
170
|
-
```
|
|
171
|
-
Epic EP-0041 updated:
|
|
172
|
-
title: "DX Quick Wins" -> "DX Quick Wins - March 2026"
|
|
173
|
-
status: ready -> active
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
## Example Usage
|
|
179
|
-
|
|
180
|
-
```bash
|
|
181
|
-
# Edit title
|
|
182
|
-
/agileflow:epic:edit EPIC=EP-0041 TITLE="Updated Title"
|
|
183
|
-
|
|
184
|
-
# Change owner and status
|
|
185
|
-
/agileflow:epic:edit EPIC=EP-0041 OWNER=AG-API STATUS=active
|
|
186
|
-
|
|
187
|
-
# Update goal
|
|
188
|
-
/agileflow:epic:edit EPIC=EP-0041 GOAL="New goal description for this epic"
|
|
189
|
-
|
|
190
|
-
# Multiple fields at once
|
|
191
|
-
/agileflow:epic:edit EPIC=EP-0041 TITLE="New Title" OWNER=AG-UI STATUS=active
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
---
|
|
195
|
-
|
|
196
|
-
## Rules
|
|
197
|
-
|
|
198
|
-
- **Always preview**: Show diff before applying
|
|
199
|
-
- **Always confirm**: Use AskUserQuestion before writes
|
|
200
|
-
- **Always log**: Append edit event to bus/log.jsonl
|
|
201
|
-
- **Always validate**: Check JSON integrity after write
|
|
202
|
-
- **Sync epic file**: Update docs/05-epics/ markdown if it exists
|
|
203
|
-
- **No silent changes**: Every change must be visible to the user
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
## Related Commands
|
|
208
|
-
|
|
209
|
-
- `/agileflow:epic:view` - View epic details
|
|
210
|
-
- `/agileflow:epic:list` - List all epics
|
|
211
|
-
- `/agileflow:epic` - Create new epic
|
|
212
|
-
- `/agileflow:story:edit` - Edit story fields
|
|
213
|
-
- `/agileflow:status` - Quick status update
|