agileflow 3.4.2 → 4.0.0-alpha.1
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 +235 -494
- 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/session-welcome.js +19 -0
- package/content/plugins/core/plugin.yaml +34 -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 +254 -0
- package/src/cli/commands/status.js +47 -0
- package/src/cli/commands/update.js +82 -0
- package/src/cli/index.js +73 -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 +45 -0
- package/src/runtime/config/loader.js +118 -0
- package/src/runtime/config/schema.json +76 -0
- package/src/runtime/config/writer.js +54 -0
- package/src/runtime/hooks/aggregator.js +133 -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 +306 -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/claude-cli-bridge.js +0 -215
- 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/dashboard-automations.js +0 -130
- package/lib/dashboard-git.js +0 -254
- package/lib/dashboard-inbox.js +0 -64
- package/lib/dashboard-protocol.js +0 -605
- package/lib/dashboard-server.js +0 -1296
- package/lib/dashboard-session.js +0 -136
- package/lib/dashboard-status.js +0 -72
- package/lib/dashboard-terminal.js +0 -354
- package/lib/dashboard-websocket.js +0 -88
- 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 -819
- 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-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/dashboard-serve.js +0 -336
- 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 -761
- package/scripts/lib/scale-detector.js +0 -396
- package/scripts/lib/sessionRegistry.js +0 -678
- package/scripts/lib/signal-detectors.js +0 -880
- 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 -611
- 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 -437
- 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 -347
- package/src/core/commands/code/api.md +0 -297
- package/src/core/commands/code/architecture.md +0 -297
- package/src/core/commands/code/completeness.md +0 -503
- package/src/core/commands/code/legal.md +0 -493
- package/src/core/commands/code/logic.md +0 -416
- package/src/core/commands/code/performance.md +0 -490
- package/src/core/commands/code/security.md +0 -493
- package/src/core/commands/code/test.md +0 -489
- 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 -496
- package/src/core/commands/ideate/history.md +0 -403
- package/src/core/commands/ideate/new.md +0 -899
- 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 -428
- 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/serve.md +0 -127
- 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/serve.js +0 -492
- 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,728 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Visualize dependency graph with critical path detection
|
|
3
|
-
argument-hint: "[SCOPE=story|epic|all] [EPIC=<EP-ID>] [STORY=<US-ID>] [FORMAT=ascii|mermaid|graphviz|json] [ANALYSIS=critical-path|circular|blocking|all]"
|
|
4
|
-
model: haiku
|
|
5
|
-
compact_context:
|
|
6
|
-
priority: high
|
|
7
|
-
preserve_rules:
|
|
8
|
-
- "Parse dependencies from TWO sources: 1) Story frontmatter (depends_on/blocks fields), 2) Bus log (implicit blocked events)"
|
|
9
|
-
- "Build adjacency list graph and run DFS for critical path analysis"
|
|
10
|
-
- "Detect circular dependencies as ERRORS (cannot complete - flag prominently)"
|
|
11
|
-
- "Calculate blocking impact: stories that block multiple others are bottlenecks"
|
|
12
|
-
- "Generate ASCII tree with legend, critical path highlighted, blocking stories marked"
|
|
13
|
-
- "Support multiple formats: ascii (default), mermaid, graphviz, json"
|
|
14
|
-
- "Provide actionable recommendations: work on blockers first, parallelize independent stories"
|
|
15
|
-
state_fields:
|
|
16
|
-
- scope_analyzed
|
|
17
|
-
- circular_deps_detected
|
|
18
|
-
- critical_path_calculated
|
|
19
|
-
- blocking_stories_identified
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
# dependencies
|
|
23
|
-
|
|
24
|
-
Visualize and analyze story/epic dependency graphs with critical path analysis and circular dependency detection.
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## STEP 0: Gather Context
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
node .agileflow/scripts/obtain-context.js deps
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
This gathers git status, stories/epics, session state, and registers for PreCompact.
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
<!-- COMPACT_SUMMARY_START -->
|
|
39
|
-
## 📋 Compact Summary
|
|
40
|
-
|
|
41
|
-
**Purpose**: Visualize and analyze story/epic dependency graphs with critical path detection, circular dependency checking, and blocking story impact analysis.
|
|
42
|
-
|
|
43
|
-
**Input Parameters** (all optional):
|
|
44
|
-
- `SCOPE`: story|epic|all (default: all)
|
|
45
|
-
- `EPIC`: <EP_ID> (dependencies within specific epic)
|
|
46
|
-
- `STORY`: <US_ID> (dependencies for specific story)
|
|
47
|
-
- `FORMAT`: ascii|mermaid|graphviz|json (default: ascii)
|
|
48
|
-
- `ANALYSIS`: critical-path|circular|blocking|all (default: all)
|
|
49
|
-
|
|
50
|
-
**Dependency Sources**:
|
|
51
|
-
1. Story frontmatter - depends_on, blocks fields (YAML parsing):
|
|
52
|
-
```yaml
|
|
53
|
-
depends_on:
|
|
54
|
-
- US-0030
|
|
55
|
-
- US-0031
|
|
56
|
-
blocks:
|
|
57
|
-
- US-0033
|
|
58
|
-
```
|
|
59
|
-
2. Bus log - implicit dependencies from blocked events (JSON parsing)
|
|
60
|
-
3. Epic hierarchy - parent-child relationships
|
|
61
|
-
|
|
62
|
-
**Core Analysis Types**:
|
|
63
|
-
1. **Critical Path**: Longest path from root to leaf (delays affect entire project)
|
|
64
|
-
2. **Circular Dependency Detection**: Impossible-to-complete cycles (flag as errors)
|
|
65
|
-
3. **Blocking Story Impact**: Stories that block multiple others (bottlenecks)
|
|
66
|
-
4. **Parallel Work Opportunities**: Stories ready to start (no blockers)
|
|
67
|
-
|
|
68
|
-
**Parsing Algorithm**:
|
|
69
|
-
1. Read all story frontmatter files → Extract depends_on, blocks
|
|
70
|
-
2. Query bus/log.jsonl for implicit dependencies
|
|
71
|
-
3. Build adjacency list graph structure
|
|
72
|
-
4. Run DFS for critical path (longest path from roots to leaves)
|
|
73
|
-
5. Run cycle detection algorithm (DFS with visited tracking)
|
|
74
|
-
6. Calculate impact scores for each blocking story
|
|
75
|
-
7. Render in requested format
|
|
76
|
-
|
|
77
|
-
**Example Usage**:
|
|
78
|
-
```bash
|
|
79
|
-
/agileflow:dependencies
|
|
80
|
-
/agileflow:dependencies EPIC=EP-0010
|
|
81
|
-
/agileflow:dependencies STORY=US-0032 ANALYSIS=critical-path
|
|
82
|
-
/agileflow:dependencies FORMAT=mermaid
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
**Output**: ASCII tree with legend, critical path, blocking stories, circular dependency check, actionable recommendations
|
|
86
|
-
|
|
87
|
-
**Critical Rules**:
|
|
88
|
-
- Parse frontmatter first (authoritative source)
|
|
89
|
-
- Flag circular dependencies as errors (cannot complete)
|
|
90
|
-
- Highlight critical path stories (delays affect project)
|
|
91
|
-
- Show actionable recommendations
|
|
92
|
-
- Use consistent color coding across formats
|
|
93
|
-
|
|
94
|
-
**Integration**: Before `/board`, after `/story-new`, in `/babysit`, with `/metrics`
|
|
95
|
-
|
|
96
|
-
<!-- COMPACT_SUMMARY_END -->
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## Prompt
|
|
101
|
-
|
|
102
|
-
ROLE: Dependency Graph Analyzer
|
|
103
|
-
|
|
104
|
-
OBJECTIVE
|
|
105
|
-
Parse story dependencies from frontmatter and bus/log.jsonl, generate visual dependency graphs, identify critical paths, detect circular dependencies, and suggest optimal work ordering.
|
|
106
|
-
|
|
107
|
-
INPUTS (optional)
|
|
108
|
-
- SCOPE=story|epic|all (default: all)
|
|
109
|
-
- EPIC=<EP_ID> (show dependencies within specific epic)
|
|
110
|
-
- STORY=<US_ID> (show dependencies for specific story)
|
|
111
|
-
- FORMAT=ascii|mermaid|graphviz|json (default: ascii)
|
|
112
|
-
- ANALYSIS=critical-path|circular|blocking|all (default: all)
|
|
113
|
-
|
|
114
|
-
DEPENDENCY SOURCES
|
|
115
|
-
|
|
116
|
-
### 1. Story Frontmatter
|
|
117
|
-
```yaml
|
|
118
|
-
---
|
|
119
|
-
id: US-0042
|
|
120
|
-
depends_on:
|
|
121
|
-
- US-0040
|
|
122
|
-
- US-0041
|
|
123
|
-
blocks:
|
|
124
|
-
- US-0045
|
|
125
|
-
---
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### 2. Bus Log (implicit dependencies)
|
|
129
|
-
```jsonl
|
|
130
|
-
{"type":"blocked","story":"US-0045","reason":"waiting for US-0042","ts":"..."}
|
|
131
|
-
{"type":"handoff","from":"AG-UI","to":"AG-API","story":"US-0043","reason":"depends on backend"}
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
### 3. Epic Hierarchy
|
|
135
|
-
```
|
|
136
|
-
EP-0010 (Authentication)
|
|
137
|
-
├─ US-0030 (Database schema) ← Foundation
|
|
138
|
-
├─ US-0031 (User model) ← Depends on US-0030
|
|
139
|
-
├─ US-0032 (Login endpoint) ← Depends on US-0031
|
|
140
|
-
└─ US-0033 (Login UI) ← Depends on US-0032
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
DEPENDENCY PARSING
|
|
144
|
-
|
|
145
|
-
### Extract from Story Files
|
|
146
|
-
```bash
|
|
147
|
-
for story_file in docs/06-stories/**/*.md; do
|
|
148
|
-
story_id=$(grep "^id:" $story_file | awk '{print $2}')
|
|
149
|
-
|
|
150
|
-
# Parse depends_on field
|
|
151
|
-
depends=$(sed -n '/^depends_on:/,/^[a-z]/p' $story_file | grep -oP 'US-\d+')
|
|
152
|
-
|
|
153
|
-
# Parse blocks field
|
|
154
|
-
blocks=$(sed -n '/^blocks:/,/^[a-z]/p' $story_file | grep -oP 'US-\d+')
|
|
155
|
-
|
|
156
|
-
echo "$story_id depends_on: $depends"
|
|
157
|
-
echo "$story_id blocks: $blocks"
|
|
158
|
-
done
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
### Extract from Bus Log
|
|
162
|
-
```bash
|
|
163
|
-
# Find blocking events
|
|
164
|
-
jq -r 'select(.type=="blocked" and .reason | contains("waiting for")) |
|
|
165
|
-
{story: .story, blocks: (.reason | match("US-\\d+").string)}' bus/log.jsonl
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
### Build Dependency Graph
|
|
169
|
-
```bash
|
|
170
|
-
# Create adjacency list
|
|
171
|
-
declare -A graph
|
|
172
|
-
for story in all_stories; do
|
|
173
|
-
dependencies=$(get_story_dependencies $story)
|
|
174
|
-
graph[$story]=$dependencies
|
|
175
|
-
done
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
VISUALIZATION
|
|
179
|
-
|
|
180
|
-
### ASCII Graph (Default)
|
|
181
|
-
|
|
182
|
-
```
|
|
183
|
-
Story Dependency Graph
|
|
184
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
185
|
-
|
|
186
|
-
Legend:
|
|
187
|
-
✅ Done 🟢 Ready 🟡 In Progress 🔵 In Review ⚪ Blocked
|
|
188
|
-
|
|
189
|
-
EP-0010: Authentication Epic
|
|
190
|
-
┌────────────────────────────────────────────────────────────┐
|
|
191
|
-
│ │
|
|
192
|
-
│ ✅ US-0030 │
|
|
193
|
-
│ Database schema │
|
|
194
|
-
│ │ │
|
|
195
|
-
│ ├─▶ ✅ US-0031 │
|
|
196
|
-
│ │ User model │
|
|
197
|
-
│ │ │ │
|
|
198
|
-
│ │ ├─▶ 🟡 US-0032 │
|
|
199
|
-
│ │ │ Login endpoint (in-progress, AG-API) │
|
|
200
|
-
│ │ │ │ │
|
|
201
|
-
│ │ │ ├─▶ 🟢 US-0033 │
|
|
202
|
-
│ │ │ │ Login UI (ready) │
|
|
203
|
-
│ │ │ │ │
|
|
204
|
-
│ │ │ └─▶ ⚪ US-0045 │
|
|
205
|
-
│ │ │ Password reset (blocked, waiting for US-0032)│
|
|
206
|
-
│ │ │ │
|
|
207
|
-
│ │ └─▶ ✅ US-0034 │
|
|
208
|
-
│ │ JWT middleware │
|
|
209
|
-
│ │ │
|
|
210
|
-
│ └─▶ 🔵 US-0035 │
|
|
211
|
-
│ User registration (in-review) │
|
|
212
|
-
│ │
|
|
213
|
-
└────────────────────────────────────────────────────────────┘
|
|
214
|
-
|
|
215
|
-
EP-0011: Payment Processing Epic
|
|
216
|
-
┌────────────────────────────────────────────────────────────┐
|
|
217
|
-
│ │
|
|
218
|
-
│ 🟢 US-0040 │
|
|
219
|
-
│ Stripe integration │
|
|
220
|
-
│ │ │
|
|
221
|
-
│ ├─▶ ⚪ US-0041 │
|
|
222
|
-
│ │ Payment form (blocked, waiting for US-0040) │
|
|
223
|
-
│ │ │
|
|
224
|
-
│ └─▶ ⚪ US-0042 │
|
|
225
|
-
│ Webhook handler (blocked, waiting for US-0040) │
|
|
226
|
-
│ │
|
|
227
|
-
└────────────────────────────────────────────────────────────┘
|
|
228
|
-
|
|
229
|
-
Critical Path:
|
|
230
|
-
US-0030 → US-0031 → US-0032 → US-0033 (11 days total)
|
|
231
|
-
⚠️ US-0032 is on critical path and in-progress
|
|
232
|
-
|
|
233
|
-
Blocking Stories:
|
|
234
|
-
US-0040 blocks: US-0041, US-0042 (⚠️ High impact: 2 stories)
|
|
235
|
-
US-0032 blocks: US-0033, US-0045 (⚠️ High impact: 2 stories)
|
|
236
|
-
|
|
237
|
-
Circular Dependencies: None detected ✅
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### Mermaid Format
|
|
241
|
-
```mermaid
|
|
242
|
-
graph TD
|
|
243
|
-
US0030[US-0030: Database schema ✅]
|
|
244
|
-
US0031[US-0031: User model ✅]
|
|
245
|
-
US0032[US-0032: Login endpoint 🟡]
|
|
246
|
-
US0033[US-0033: Login UI 🟢]
|
|
247
|
-
US0034[US-0034: JWT middleware ✅]
|
|
248
|
-
US0035[US-0035: User registration 🔵]
|
|
249
|
-
US0045[US-0045: Password reset ⚪]
|
|
250
|
-
|
|
251
|
-
US0030 --> US0031
|
|
252
|
-
US0030 --> US0035
|
|
253
|
-
US0031 --> US0032
|
|
254
|
-
US0031 --> US0034
|
|
255
|
-
US0032 --> US0033
|
|
256
|
-
US0032 --> US0045
|
|
257
|
-
|
|
258
|
-
US0040[US-0040: Stripe integration 🟢]
|
|
259
|
-
US0041[US-0041: Payment form ⚪]
|
|
260
|
-
US0042[US-0042: Webhook handler ⚪]
|
|
261
|
-
|
|
262
|
-
US0040 --> US0041
|
|
263
|
-
US0040 --> US0042
|
|
264
|
-
|
|
265
|
-
classDef done fill:#90EE90
|
|
266
|
-
classDef ready fill:#D3D3D3
|
|
267
|
-
classDef inProgress fill:#FFD700
|
|
268
|
-
classDef inReview fill:#87CEEB
|
|
269
|
-
classDef blocked fill:#FFCCCB
|
|
270
|
-
|
|
271
|
-
class US0030,US0031,US0034 done
|
|
272
|
-
class US0033,US0040 ready
|
|
273
|
-
class US0032 inProgress
|
|
274
|
-
class US0035 inReview
|
|
275
|
-
class US0041,US0042,US0045 blocked
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
### GraphViz DOT Format
|
|
279
|
-
```dot
|
|
280
|
-
digraph dependencies {
|
|
281
|
-
rankdir=TB;
|
|
282
|
-
node [shape=box, style=rounded];
|
|
283
|
-
|
|
284
|
-
// Nodes
|
|
285
|
-
US0030 [label="US-0030\nDatabase schema", fillcolor="#90EE90", style=filled];
|
|
286
|
-
US0031 [label="US-0031\nUser model", fillcolor="#90EE90", style=filled];
|
|
287
|
-
US0032 [label="US-0032\nLogin endpoint", fillcolor="#FFD700", style=filled];
|
|
288
|
-
US0033 [label="US-0033\nLogin UI", fillcolor="#D3D3D3", style=filled];
|
|
289
|
-
US0045 [label="US-0045\nPassword reset", fillcolor="#FFCCCB", style=filled];
|
|
290
|
-
|
|
291
|
-
// Edges
|
|
292
|
-
US0030 -> US0031;
|
|
293
|
-
US0031 -> US0032;
|
|
294
|
-
US0032 -> US0033;
|
|
295
|
-
US0032 -> US0045;
|
|
296
|
-
|
|
297
|
-
// Critical path (bold red)
|
|
298
|
-
US0030 -> US0031 [color=red, penwidth=2];
|
|
299
|
-
US0031 -> US0032 [color=red, penwidth=2];
|
|
300
|
-
US0032 -> US0033 [color=red, penwidth=2];
|
|
301
|
-
}
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
DEPENDENCY ANALYSIS
|
|
305
|
-
|
|
306
|
-
### 1. Critical Path Detection
|
|
307
|
-
|
|
308
|
-
**Definition**: Longest path from any root story to any leaf story
|
|
309
|
-
|
|
310
|
-
```bash
|
|
311
|
-
# Find all root stories (no dependencies)
|
|
312
|
-
roots=$(find_stories_with_no_dependencies)
|
|
313
|
-
|
|
314
|
-
# For each root, calculate longest path
|
|
315
|
-
for root in $roots; do
|
|
316
|
-
longest_path=$(find_longest_path_from $root)
|
|
317
|
-
echo "$root: $longest_path"
|
|
318
|
-
done
|
|
319
|
-
|
|
320
|
-
# Critical path is the longest of all paths
|
|
321
|
-
critical_path=$(find_overall_longest_path)
|
|
322
|
-
critical_duration=$(sum_story_estimates_in_path $critical_path)
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
**Output**:
|
|
326
|
-
```
|
|
327
|
-
Critical Path Analysis
|
|
328
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
329
|
-
|
|
330
|
-
Longest Path: US-0030 → US-0031 → US-0032 → US-0033
|
|
331
|
-
|
|
332
|
-
Path Details:
|
|
333
|
-
┌──────────┬─────────────────────┬──────────┬────────┬──────────┐
|
|
334
|
-
│ Story │ Title │ Estimate │ Status │ Duration │
|
|
335
|
-
├──────────┼─────────────────────┼──────────┼────────┼──────────┤
|
|
336
|
-
│ US-0030 │ Database schema │ 2d │ ✅ Done│ 2d │
|
|
337
|
-
│ US-0031 │ User model │ 3d │ ✅ Done│ 2.5d │
|
|
338
|
-
│ US-0032 │ Login endpoint │ 2d │ 🟡 WIP │ 1.5d (so far)│
|
|
339
|
-
│ US-0033 │ Login UI │ 1d │ 🟢 Ready│ - │
|
|
340
|
-
└──────────┴─────────────────────┴──────────┴────────┴──────────┘
|
|
341
|
-
|
|
342
|
-
Total Estimated Duration: 8 days
|
|
343
|
-
Actual Duration So Far: 6 days
|
|
344
|
-
Remaining Work: 1-2 days (US-0032 + US-0033)
|
|
345
|
-
|
|
346
|
-
⚠️ US-0032 is on critical path and currently in-progress
|
|
347
|
-
- Any delay here delays entire epic completion
|
|
348
|
-
- Owner: AG-API
|
|
349
|
-
- Progress: ~75% complete (1.5d of 2d estimate used)
|
|
350
|
-
|
|
351
|
-
Recommendation:
|
|
352
|
-
- Prioritize US-0032 completion (critical bottleneck)
|
|
353
|
-
- Consider pairing to accelerate if delayed
|
|
354
|
-
- US-0033 is ready and should start immediately after US-0032
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
### 2. Circular Dependency Detection
|
|
358
|
-
|
|
359
|
-
```bash
|
|
360
|
-
# Use depth-first search to detect cycles
|
|
361
|
-
function has_cycle() {
|
|
362
|
-
local story=$1
|
|
363
|
-
local path=$2
|
|
364
|
-
|
|
365
|
-
# If story already in path, we found a cycle
|
|
366
|
-
if [[ $path == *"$story"* ]]; then
|
|
367
|
-
echo "CYCLE DETECTED: $path → $story"
|
|
368
|
-
return 0
|
|
369
|
-
fi
|
|
370
|
-
|
|
371
|
-
# Recursively check dependencies
|
|
372
|
-
for dep in $(get_dependencies $story); do
|
|
373
|
-
has_cycle $dep "$path → $story"
|
|
374
|
-
done
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
for story in all_stories; do
|
|
378
|
-
has_cycle $story ""
|
|
379
|
-
done
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
**Output**:
|
|
383
|
-
```
|
|
384
|
-
Circular Dependency Check
|
|
385
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
386
|
-
|
|
387
|
-
❌ CIRCULAR DEPENDENCY DETECTED!
|
|
388
|
-
|
|
389
|
-
Cycle 1:
|
|
390
|
-
US-0050 → US-0051 → US-0052 → US-0050
|
|
391
|
-
|
|
392
|
-
Details:
|
|
393
|
-
US-0050 (Auth service) depends on US-0051 (User service)
|
|
394
|
-
US-0051 (User service) depends on US-0052 (Session service)
|
|
395
|
-
US-0052 (Session service) depends on US-0050 (Auth service)
|
|
396
|
-
|
|
397
|
-
Impact: ⚠️ CRITICAL - These stories cannot be completed
|
|
398
|
-
|
|
399
|
-
Resolution:
|
|
400
|
-
1. Review architectural design (likely a design flaw)
|
|
401
|
-
2. Break circular dependency by introducing abstraction
|
|
402
|
-
3. Consider creating interface/contract story
|
|
403
|
-
4. Refactor one story to not depend on the cycle
|
|
404
|
-
|
|
405
|
-
Suggested Fix:
|
|
406
|
-
- Create US-0053: "Auth/User interface contract"
|
|
407
|
-
- Make US-0050, US-0051, US-0052 all depend on US-0053
|
|
408
|
-
- US-0053 becomes new foundation story
|
|
409
|
-
```
|
|
410
|
-
|
|
411
|
-
### 3. Blocking Story Impact
|
|
412
|
-
|
|
413
|
-
```bash
|
|
414
|
-
# For each story, find what it blocks
|
|
415
|
-
for story in all_stories; do
|
|
416
|
-
blocked_stories=$(find_stories_depending_on $story)
|
|
417
|
-
count=${#blocked_stories[@]}
|
|
418
|
-
|
|
419
|
-
if [ $count -gt 0 ]; then
|
|
420
|
-
status=$(get_story_status $story)
|
|
421
|
-
echo "$story ($status) blocks $count stories: ${blocked_stories[@]}"
|
|
422
|
-
|
|
423
|
-
# Calculate impact score
|
|
424
|
-
impact=$(calculate_impact_score $story)
|
|
425
|
-
priority=$(calculate_priority $story $impact)
|
|
426
|
-
echo " Impact score: $impact/10, Priority: $priority"
|
|
427
|
-
fi
|
|
428
|
-
done
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
**Output**:
|
|
432
|
-
```
|
|
433
|
-
Blocking Story Impact
|
|
434
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
435
|
-
|
|
436
|
-
High Impact Blockers:
|
|
437
|
-
┌──────────┬────────────────────┬────────┬─────────┬────────────┬──────────┐
|
|
438
|
-
│ Story │ Title │ Status │ Blocks │ Impact │ Priority │
|
|
439
|
-
├──────────┼────────────────────┼────────┼─────────┼────────────┼──────────┤
|
|
440
|
-
│ US-0040 │ Stripe integration │ 🟢 Ready│ 2 stories│ 9/10 ⚠️ │ P0 │
|
|
441
|
-
│ │ │ │ US-0041 │ (blocks │ │
|
|
442
|
-
│ │ │ │ US-0042 │ payment │ │
|
|
443
|
-
│ │ │ │ │ epic) │ │
|
|
444
|
-
├──────────┼────────────────────┼────────┼─────────┼────────────┼──────────┤
|
|
445
|
-
│ US-0032 │ Login endpoint │ 🟡 WIP │ 2 stories│ 8/10 ⚠️ │ P0 │
|
|
446
|
-
│ │ │ │ US-0033 │ (critical │ │
|
|
447
|
-
│ │ │ │ US-0045 │ path) │ │
|
|
448
|
-
├──────────┼────────────────────┼────────┼─────────┼────────────┼──────────┤
|
|
449
|
-
│ US-0030 │ Database schema │ ✅ Done│ 2 stories│ 7/10 │ - │
|
|
450
|
-
│ │ │ │ US-0031 │ (already │ │
|
|
451
|
-
│ │ │ │ US-0035 │ complete) │ │
|
|
452
|
-
└──────────┴────────────────────┴────────┴─────────┴────────────┴──────────┘
|
|
453
|
-
|
|
454
|
-
⚠️ Action Required:
|
|
455
|
-
1. US-0040: Start immediately (blocks 2 stories, epic stalled)
|
|
456
|
-
2. US-0032: Monitor closely (in-progress, blocks critical path)
|
|
457
|
-
|
|
458
|
-
Recommendations:
|
|
459
|
-
- Assign US-0040 to available agent ASAP
|
|
460
|
-
- Consider pairing on US-0032 if progress slows
|
|
461
|
-
- Review US-0041 and US-0042 to verify they truly need US-0040
|
|
462
|
-
```
|
|
463
|
-
|
|
464
|
-
### 4. Parallel Work Opportunities
|
|
465
|
-
|
|
466
|
-
```bash
|
|
467
|
-
# Find stories that can be worked on in parallel (no dependencies)
|
|
468
|
-
independent_stories=$(find_stories_with_no_dependencies_or_dependencies_satisfied)
|
|
469
|
-
|
|
470
|
-
# Group by epic for clarity
|
|
471
|
-
for epic in epics; do
|
|
472
|
-
parallel_stories=$(filter_by_epic $independent_stories $epic)
|
|
473
|
-
echo "$epic: ${#parallel_stories[@]} stories can be started now"
|
|
474
|
-
done
|
|
475
|
-
```
|
|
476
|
-
|
|
477
|
-
**Output**:
|
|
478
|
-
```
|
|
479
|
-
Parallel Work Opportunities
|
|
480
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
481
|
-
|
|
482
|
-
Stories That Can Start Now (No Blockers):
|
|
483
|
-
|
|
484
|
-
EP-0010: Authentication
|
|
485
|
-
✅ US-0033 (Login UI) - AG-UI available
|
|
486
|
-
✅ US-0035 (Registration) - In review (almost done)
|
|
487
|
-
|
|
488
|
-
EP-0011: Payment Processing
|
|
489
|
-
✅ US-0040 (Stripe integration) - AG-API available
|
|
490
|
-
⚠️ HIGH PRIORITY: Blocks 2 other stories
|
|
491
|
-
|
|
492
|
-
EP-0012: User Dashboard
|
|
493
|
-
✅ US-0050 (Dashboard layout) - AG-UI available
|
|
494
|
-
✅ US-0051 (Profile component) - AG-UI available
|
|
495
|
-
|
|
496
|
-
Total: 5 stories ready to start (3 agents available)
|
|
497
|
-
|
|
498
|
-
Recommended Assignments:
|
|
499
|
-
AG-UI: US-0033 or US-0050 (both ready, pick by priority)
|
|
500
|
-
AG-API: US-0040 (HIGH PRIORITY - unblocks payment epic)
|
|
501
|
-
AG-CI: (No stories ready in their domain)
|
|
502
|
-
|
|
503
|
-
⚡ Optimize throughput: Start 2-3 stories in parallel across agents
|
|
504
|
-
```
|
|
505
|
-
|
|
506
|
-
GANTT CHART GENERATION
|
|
507
|
-
|
|
508
|
-
```bash
|
|
509
|
-
# Generate ASCII Gantt chart based on dependencies
|
|
510
|
-
for story in stories_in_dependency_order; do
|
|
511
|
-
earliest_start=$(calculate_earliest_start $story)
|
|
512
|
-
duration=$(get_estimate $story)
|
|
513
|
-
earliest_end=$((earliest_start + duration))
|
|
514
|
-
|
|
515
|
-
echo "$story: Start day $earliest_start, End day $earliest_end"
|
|
516
|
-
print_gantt_bar $story $earliest_start $duration
|
|
517
|
-
done
|
|
518
|
-
```
|
|
519
|
-
|
|
520
|
-
**Output**:
|
|
521
|
-
```
|
|
522
|
-
Gantt Chart (Dependency-Based Schedule)
|
|
523
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
524
|
-
|
|
525
|
-
Timeline (days):
|
|
526
|
-
0 2 4 6 8 10 12 14 16
|
|
527
|
-
│────│────│────│────│────│────│────│────│
|
|
528
|
-
|
|
529
|
-
US-0030 ████░░ (2d) ✅ Done
|
|
530
|
-
US-0031 ██████░░ (3d) ✅ Done
|
|
531
|
-
US-0035 ██████░░ (3d) 🔵 In Review
|
|
532
|
-
US-0032 ████░░ (2d) 🟡 In Progress
|
|
533
|
-
US-0034 ████░░ (2d) ✅ Done
|
|
534
|
-
US-0033 ██░░ (1d) 🟢 Ready
|
|
535
|
-
US-0045 ████░░ (2d) ⚪ Blocked
|
|
536
|
-
|
|
537
|
-
US-0040 ████░░ (2d) 🟢 Ready (parallel)
|
|
538
|
-
US-0041 ██░░ (1d) ⚪ Blocked
|
|
539
|
-
US-0042 ██████░░ (3d) ⚪ Blocked
|
|
540
|
-
|
|
541
|
-
Legend:
|
|
542
|
-
█ Completed/In Progress
|
|
543
|
-
░ Planned
|
|
544
|
-
⚠️ Critical Path Stories: US-0030, US-0031, US-0032, US-0033
|
|
545
|
-
|
|
546
|
-
Insights:
|
|
547
|
-
- EP-0010 completion: Day 9 (if no delays)
|
|
548
|
-
- EP-0011 completion: Day 8 (if US-0040 starts now)
|
|
549
|
-
- Parallelism opportunity: US-0040 can run parallel to US-0032
|
|
550
|
-
```
|
|
551
|
-
|
|
552
|
-
DEPENDENCY HEALTH SCORE
|
|
553
|
-
|
|
554
|
-
```bash
|
|
555
|
-
score=100
|
|
556
|
-
|
|
557
|
-
# Deduct points for issues
|
|
558
|
-
circular_deps=$(count_circular_dependencies)
|
|
559
|
-
score=$((score - circular_deps * 20)) # -20 per circular dep
|
|
560
|
-
|
|
561
|
-
high_impact_blockers=$(count_high_impact_blockers)
|
|
562
|
-
score=$((score - high_impact_blockers * 10)) # -10 per high-impact blocker
|
|
563
|
-
|
|
564
|
-
long_chains=$(count_dependency_chains_over_length 5)
|
|
565
|
-
score=$((score - long_chains * 5)) # -5 per long chain
|
|
566
|
-
|
|
567
|
-
echo "Dependency Health Score: $score/100"
|
|
568
|
-
```
|
|
569
|
-
|
|
570
|
-
**Output**:
|
|
571
|
-
```
|
|
572
|
-
Dependency Health Score
|
|
573
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
574
|
-
|
|
575
|
-
Score: 75/100 🟡 Fair
|
|
576
|
-
|
|
577
|
-
Breakdown:
|
|
578
|
-
Base score: 100
|
|
579
|
-
- Circular dependencies: -0 (0 found) ✅
|
|
580
|
-
- High-impact blockers: -20 (2 found: US-0040, US-0032) ⚠️
|
|
581
|
-
- Long dependency chains: -5 (1 chain of 4 stories)
|
|
582
|
-
|
|
583
|
-
Grade: C+ (Fair)
|
|
584
|
-
|
|
585
|
-
Recommendations:
|
|
586
|
-
1. Start US-0040 immediately (high-impact blocker)
|
|
587
|
-
2. Monitor US-0032 progress (critical path)
|
|
588
|
-
3. Consider breaking up long chains into smaller increments
|
|
589
|
-
|
|
590
|
-
To improve score to 90+:
|
|
591
|
-
- Resolve high-impact blockers
|
|
592
|
-
- Break dependency chains <3 stories
|
|
593
|
-
- Ensure parallel work opportunities exist
|
|
594
|
-
```
|
|
595
|
-
|
|
596
|
-
USAGE EXAMPLES
|
|
597
|
-
|
|
598
|
-
### Show all dependencies
|
|
599
|
-
```bash
|
|
600
|
-
/agileflow:dependencies
|
|
601
|
-
```
|
|
602
|
-
|
|
603
|
-
### Specific epic dependencies
|
|
604
|
-
```bash
|
|
605
|
-
/agileflow:dependencies EPIC=EP-0010
|
|
606
|
-
```
|
|
607
|
-
|
|
608
|
-
### Specific story dependencies
|
|
609
|
-
```bash
|
|
610
|
-
/agileflow:dependencies STORY=US-0032
|
|
611
|
-
```
|
|
612
|
-
|
|
613
|
-
### Only critical path analysis
|
|
614
|
-
```bash
|
|
615
|
-
/agileflow:dependencies ANALYSIS=critical-path
|
|
616
|
-
```
|
|
617
|
-
|
|
618
|
-
### Export as Mermaid diagram
|
|
619
|
-
```bash
|
|
620
|
-
/agileflow:dependencies FORMAT=mermaid > dependencies.mmd
|
|
621
|
-
```
|
|
622
|
-
|
|
623
|
-
### Check for circular dependencies
|
|
624
|
-
```bash
|
|
625
|
-
/agileflow:dependencies ANALYSIS=circular
|
|
626
|
-
```
|
|
627
|
-
|
|
628
|
-
INTEGRATION WITH OTHER COMMANDS
|
|
629
|
-
|
|
630
|
-
- Before `/agileflow:board`: Run `/agileflow:dependencies` to understand blockers
|
|
631
|
-
- After `/agileflow:story-new`: Run `/agileflow:dependencies` to visualize impact
|
|
632
|
-
- In `/agileflow:babysit`: Check `/agileflow:dependencies` before starting work
|
|
633
|
-
- With `/agileflow:metrics`: Correlate cycle time with dependency depth
|
|
634
|
-
|
|
635
|
-
RULES
|
|
636
|
-
- Parse dependencies from story frontmatter first (authoritative)
|
|
637
|
-
- Fall back to bus/log.jsonl for implicit dependencies
|
|
638
|
-
- Detect and flag circular dependencies as errors
|
|
639
|
-
- Highlight critical path stories for priority
|
|
640
|
-
- Use consistent color coding across all formats
|
|
641
|
-
- Export formats should be copy-paste ready
|
|
642
|
-
- Always show actionable recommendations
|
|
643
|
-
|
|
644
|
-
OUTPUT
|
|
645
|
-
- ASCII dependency graph with status indicators
|
|
646
|
-
- Critical path analysis with duration estimates
|
|
647
|
-
- Circular dependency warnings (if any)
|
|
648
|
-
- Blocking story impact analysis
|
|
649
|
-
- Parallel work opportunities
|
|
650
|
-
- Optional: Mermaid/GraphViz export for documentation
|
|
651
|
-
|
|
652
|
-
---
|
|
653
|
-
|
|
654
|
-
## Expected Output
|
|
655
|
-
|
|
656
|
-
### Success - Dependency Graph
|
|
657
|
-
|
|
658
|
-
```
|
|
659
|
-
📊 Dependency Analysis: EP-0026
|
|
660
|
-
══════════════════════════════════════════════════════════════
|
|
661
|
-
|
|
662
|
-
Story Dependency Graph:
|
|
663
|
-
|
|
664
|
-
US-0050 (User registration)
|
|
665
|
-
↓
|
|
666
|
-
US-0051 (User login) ←──────┐
|
|
667
|
-
↓ │
|
|
668
|
-
US-0053 (OAuth Google) ─────┤
|
|
669
|
-
↓ │
|
|
670
|
-
US-0056 (Session mgmt) ─────┘
|
|
671
|
-
↓
|
|
672
|
-
US-0057 (Dashboard)
|
|
673
|
-
|
|
674
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
675
|
-
|
|
676
|
-
🎯 Critical Path:
|
|
677
|
-
US-0050 → US-0051 → US-0053 → US-0056 → US-0057
|
|
678
|
-
Duration: 6.5 days
|
|
679
|
-
|
|
680
|
-
⚡ Parallel Opportunities:
|
|
681
|
-
- US-0054 (OAuth GitHub) can run parallel to US-0053
|
|
682
|
-
- US-0055 (Rate limiting) has no dependencies
|
|
683
|
-
|
|
684
|
-
⚠️ Bottleneck: US-0051 (blocks 3 stories)
|
|
685
|
-
Consider: Add second developer or reduce scope
|
|
686
|
-
```
|
|
687
|
-
|
|
688
|
-
### Success - Circular Dependency Warning
|
|
689
|
-
|
|
690
|
-
```
|
|
691
|
-
📊 Dependency Analysis
|
|
692
|
-
══════════════════════════════════════════════════════════════
|
|
693
|
-
|
|
694
|
-
⚠️ CIRCULAR DEPENDENCY DETECTED:
|
|
695
|
-
|
|
696
|
-
US-0060 → US-0061 → US-0062 → US-0060
|
|
697
|
-
|
|
698
|
-
This creates a deadlock. Suggested fix:
|
|
699
|
-
1. Remove dependency: US-0062 → US-0060
|
|
700
|
-
2. Or split US-0060 into two stories
|
|
701
|
-
|
|
702
|
-
Show resolution options? [Y/n]
|
|
703
|
-
```
|
|
704
|
-
|
|
705
|
-
### Error - No Dependencies Defined
|
|
706
|
-
|
|
707
|
-
```
|
|
708
|
-
⚠️ No story dependencies found in EP-0026
|
|
709
|
-
|
|
710
|
-
Stories exist but no depends_on defined.
|
|
711
|
-
|
|
712
|
-
Add dependencies:
|
|
713
|
-
/agileflow:story:view US-0050
|
|
714
|
-
# Then edit to add depends_on: ["US-0049"]
|
|
715
|
-
|
|
716
|
-
Or visualize by owner:
|
|
717
|
-
/agileflow:deps VIEW=by-owner
|
|
718
|
-
```
|
|
719
|
-
|
|
720
|
-
---
|
|
721
|
-
|
|
722
|
-
## Related Commands
|
|
723
|
-
|
|
724
|
-
- `/agileflow:blockers` - Track blockers
|
|
725
|
-
- `/agileflow:sprint` - Sprint planning
|
|
726
|
-
- `/agileflow:board` - Kanban board view
|
|
727
|
-
- `/agileflow:story:view` - View story details
|
|
728
|
-
- `/agileflow:epic:view` - View epic details
|