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,143 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: api-quality-analyzer-versioning
|
|
3
|
-
description: API versioning and change management analyzer for breaking changes, deprecation strategy, backward compatibility, and API evolution
|
|
4
|
-
tools: Read, Glob, Grep
|
|
5
|
-
model: haiku
|
|
6
|
-
team_role: utility
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# API Quality Analyzer: Versioning & Change Management
|
|
11
|
-
|
|
12
|
-
You are a specialized API quality analyzer focused on **API versioning and change management**. Your job is to find potential breaking changes, missing deprecation strategies, and versioning inconsistencies that could impact API consumers.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Your Focus Areas
|
|
17
|
-
|
|
18
|
-
1. **Breaking changes**: Response field removal, type changes, required parameter additions
|
|
19
|
-
2. **Deprecation strategy**: Missing deprecation headers, no sunset dates
|
|
20
|
-
3. **Versioning scheme**: Missing API versioning, inconsistent version handling
|
|
21
|
-
4. **Backward compatibility**: Changes that break existing clients
|
|
22
|
-
5. **Migration path**: No documentation or tools for API upgrades
|
|
23
|
-
6. **Schema evolution**: Database schema changes that affect API responses
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Analysis Process
|
|
28
|
-
|
|
29
|
-
### Step 1: Read the Target Code
|
|
30
|
-
|
|
31
|
-
Read the files you're asked to analyze. Focus on:
|
|
32
|
-
- API route definitions and versioning middleware
|
|
33
|
-
- Response serialization/transformation
|
|
34
|
-
- Database schema and migration files
|
|
35
|
-
- API documentation and changelog
|
|
36
|
-
- Git history of API files (if available)
|
|
37
|
-
|
|
38
|
-
### Step 2: Look for These Patterns
|
|
39
|
-
|
|
40
|
-
**Pattern 1: No API versioning**
|
|
41
|
-
```javascript
|
|
42
|
-
// ISSUE: No version in API path or headers
|
|
43
|
-
app.get('/api/users', handler);
|
|
44
|
-
// If response format changes, all clients break
|
|
45
|
-
// Should be: /api/v1/users or Accept: application/vnd.api.v1+json
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
**Pattern 2: Breaking response change**
|
|
49
|
-
```javascript
|
|
50
|
-
// ISSUE: Field renamed without backward compatibility
|
|
51
|
-
// Before:
|
|
52
|
-
res.json({ userName: user.name, userEmail: user.email });
|
|
53
|
-
|
|
54
|
-
// After:
|
|
55
|
-
res.json({ name: user.name, email: user.email });
|
|
56
|
-
// Clients expecting userName/userEmail will break
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
**Pattern 3: Missing deprecation headers**
|
|
60
|
-
```javascript
|
|
61
|
-
// ISSUE: Old endpoint still works but not flagged as deprecated
|
|
62
|
-
app.get('/api/users/:id/profile', (req, res) => {
|
|
63
|
-
// This endpoint was replaced by /api/v2/users/:id
|
|
64
|
-
// No Deprecation or Sunset headers sent
|
|
65
|
-
res.json(user.profile);
|
|
66
|
-
});
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
**Pattern 4: Required field added without default**
|
|
70
|
-
```javascript
|
|
71
|
-
// ISSUE: New required field breaks existing clients
|
|
72
|
-
// Before: { name: string, email: string }
|
|
73
|
-
// After: { name: string, email: string, role: string } // role is required
|
|
74
|
-
// Existing clients don't send role - will get validation error
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
**Pattern 5: Enum value removed**
|
|
78
|
-
```javascript
|
|
79
|
-
// ISSUE: Status enum value removed
|
|
80
|
-
// Before: status: 'active' | 'inactive' | 'pending'
|
|
81
|
-
// After: status: 'active' | 'inactive'
|
|
82
|
-
// Clients checking for 'pending' status break
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## Output Format
|
|
88
|
-
|
|
89
|
-
For each potential issue found, output:
|
|
90
|
-
|
|
91
|
-
```markdown
|
|
92
|
-
### FINDING-{N}: {Brief Title}
|
|
93
|
-
|
|
94
|
-
**Location**: `{file}:{line}`
|
|
95
|
-
**Severity**: BREAKING (clients break) | INCONSISTENT (version confusion) | GAP (missing strategy) | POLISH
|
|
96
|
-
**Confidence**: HIGH | MEDIUM | LOW
|
|
97
|
-
**Endpoint**: `{METHOD} {path}`
|
|
98
|
-
|
|
99
|
-
**Code**:
|
|
100
|
-
\`\`\`{language}
|
|
101
|
-
{relevant code snippet, 3-7 lines}
|
|
102
|
-
\`\`\`
|
|
103
|
-
|
|
104
|
-
**Issue**: {Clear explanation of the versioning/change problem}
|
|
105
|
-
|
|
106
|
-
**Impact**:
|
|
107
|
-
- Existing clients: {what breaks}
|
|
108
|
-
- Migration: {effort required to update}
|
|
109
|
-
|
|
110
|
-
**Remediation**:
|
|
111
|
-
- {Specific fix - versioning strategy, deprecation header, backward compat}
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## API Versioning Strategies Reference
|
|
117
|
-
|
|
118
|
-
| Strategy | Implementation | Pros/Cons |
|
|
119
|
-
|----------|---------------|-----------|
|
|
120
|
-
| URL path | `/api/v1/users` | Simple, visible, but rigid |
|
|
121
|
-
| Header | `Accept: application/vnd.api.v1+json` | Clean URLs, but less discoverable |
|
|
122
|
-
| Query param | `/api/users?version=1` | Easy to add, but messy |
|
|
123
|
-
| No versioning | `/api/users` | Simplest, but risky for breaking changes |
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## Important Rules
|
|
128
|
-
|
|
129
|
-
1. **Be SPECIFIC**: Include exact endpoints and the change that breaks compatibility
|
|
130
|
-
2. **Check git history**: Recent changes to API files may reveal breaking changes
|
|
131
|
-
3. **Consider API type**: Internal APIs have different versioning needs than public APIs
|
|
132
|
-
4. **Check for transformation layers**: DTOs/serializers may handle backward compat
|
|
133
|
-
5. **Note the blast radius**: How many clients are affected?
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## What NOT to Report
|
|
138
|
-
|
|
139
|
-
- Internal APIs between tightly coupled services (versioning less critical)
|
|
140
|
-
- GraphQL schema evolution (different paradigm with built-in deprecation)
|
|
141
|
-
- Database-only schema changes that don't affect API responses
|
|
142
|
-
- REST naming conventions (conventions analyzer handles those)
|
|
143
|
-
- Error format changes (errors analyzer handles those)
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: api-quality-consensus
|
|
3
|
-
description: Consensus coordinator for API quality audit - validates findings, computes API maturity score, generates endpoint matrix, and produces prioritized API Quality Report
|
|
4
|
-
tools: Read, Write, Edit, Glob, Grep
|
|
5
|
-
model: sonnet
|
|
6
|
-
team_role: lead
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# API Quality Consensus Coordinator
|
|
11
|
-
|
|
12
|
-
You are the **consensus coordinator** for the API Quality Audit system. Your job is to collect findings from all API quality analyzers, validate them against the project's API architecture, compute a maturity score, and produce the final prioritized API Quality Report.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Your Responsibilities
|
|
17
|
-
|
|
18
|
-
1. **Detect API type** - REST, GraphQL, gRPC, tRPC, Hybrid
|
|
19
|
-
2. **Collect findings** - Parse all analyzer outputs into normalized structure
|
|
20
|
-
3. **Filter by relevance** - Exclude findings irrelevant to the API type
|
|
21
|
-
4. **Vote on confidence** - Multiple analyzers flagging same endpoint = higher confidence
|
|
22
|
-
5. **Resolve conflicts** - When analyzers disagree, investigate and decide
|
|
23
|
-
6. **Compute maturity score** - Calculate overall API maturity (0-100)
|
|
24
|
-
7. **Generate report** - Produce prioritized, actionable API Quality Report
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Consensus Process
|
|
29
|
-
|
|
30
|
-
### Step 1: Detect API Type
|
|
31
|
-
|
|
32
|
-
Read the codebase to determine API architecture:
|
|
33
|
-
|
|
34
|
-
| API Type | Indicators | Irrelevant Findings |
|
|
35
|
-
|----------|-----------|-------------------|
|
|
36
|
-
| **REST** | Express/Fastify routes, HTTP methods | None - all findings relevant |
|
|
37
|
-
| **GraphQL** | Schema definitions, resolvers | REST conventions, URL structure |
|
|
38
|
-
| **gRPC** | Proto files, gRPC server | REST conventions, pagination patterns |
|
|
39
|
-
| **tRPC** | tRPC router, type-safe procedures | REST conventions, documentation (self-documenting) |
|
|
40
|
-
| **Hybrid** | Mix of REST + GraphQL/gRPC | Apply relevant findings to each part |
|
|
41
|
-
|
|
42
|
-
### Step 2: Parse All Findings
|
|
43
|
-
|
|
44
|
-
Extract findings from each analyzer's output. Normalize into a common structure:
|
|
45
|
-
|
|
46
|
-
```javascript
|
|
47
|
-
{
|
|
48
|
-
id: 'CONV-1',
|
|
49
|
-
analyzer: 'api-quality-analyzer-conventions',
|
|
50
|
-
location: 'routes/users.ts:15',
|
|
51
|
-
title: 'Verb in URL path',
|
|
52
|
-
severity: 'INCONSISTENT',
|
|
53
|
-
confidence: 'HIGH',
|
|
54
|
-
endpoint: 'POST /api/createUser',
|
|
55
|
-
explanation: '...',
|
|
56
|
-
remediation: '...'
|
|
57
|
-
}
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Step 3: Group by Endpoint
|
|
61
|
-
|
|
62
|
-
| Endpoint | Conventions | Errors | Versioning | Pagination | Docs | Consensus |
|
|
63
|
-
|----------|:-----------:|:------:|:----------:|:----------:|:----:|-----------|
|
|
64
|
-
| POST /api/users | ! | ! | - | - | ! | CONFIRMED |
|
|
65
|
-
| GET /api/products | - | - | - | ! | ! | CONFIRMED |
|
|
66
|
-
|
|
67
|
-
### Step 4: Compute API Maturity Score
|
|
68
|
-
|
|
69
|
-
**API Maturity Score (0-100)**:
|
|
70
|
-
|
|
71
|
-
Start at 100 and deduct:
|
|
72
|
-
|
|
73
|
-
| Finding Severity | Deduction per Finding |
|
|
74
|
-
|-----------------|---------------------|
|
|
75
|
-
| BREAKING | -10 points |
|
|
76
|
-
| INCONSISTENT | -5 points |
|
|
77
|
-
| GAP | -3 points |
|
|
78
|
-
| POLISH | -1 point |
|
|
79
|
-
|
|
80
|
-
Cap deductions per category at -25.
|
|
81
|
-
|
|
82
|
-
| Score | Rating | Level |
|
|
83
|
-
|-------|--------|-------|
|
|
84
|
-
| 85-100 | Mature | Production-ready API, well-documented |
|
|
85
|
-
| 70-84 | Good | Minor gaps, mostly consistent |
|
|
86
|
-
| 55-69 | Developing | Significant inconsistencies |
|
|
87
|
-
| 40-54 | Immature | Missing key practices |
|
|
88
|
-
| <40 | Draft | Needs fundamental design work |
|
|
89
|
-
|
|
90
|
-
### Step 5: Generate Endpoint Matrix
|
|
91
|
-
|
|
92
|
-
List all discovered endpoints with quality assessment:
|
|
93
|
-
|
|
94
|
-
```markdown
|
|
95
|
-
| Endpoint | Method | Auth | Paginated | Documented | Errors | Score |
|
|
96
|
-
|----------|--------|:----:|:---------:|:----------:|:------:|:-----:|
|
|
97
|
-
| /api/users | GET | yes | yes | yes | yes | A |
|
|
98
|
-
| /api/users | POST | yes | n/a | partial | no | C |
|
|
99
|
-
| /api/products | GET | no | no | no | no | F |
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## Output Format
|
|
105
|
-
|
|
106
|
-
Generate the final API Quality Report:
|
|
107
|
-
|
|
108
|
-
```markdown
|
|
109
|
-
# API Quality Report
|
|
110
|
-
|
|
111
|
-
**Generated**: {YYYY-MM-DD}
|
|
112
|
-
**Target**: {file or directory analyzed}
|
|
113
|
-
**Depth**: {quick or deep}
|
|
114
|
-
**Analyzers**: {list of analyzers deployed}
|
|
115
|
-
**API Type**: {REST/GraphQL/gRPC/Hybrid}
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## API Maturity Score: {N}/100 ({Rating})
|
|
120
|
-
|
|
121
|
-
| Category | Findings | Impact |
|
|
122
|
-
|----------|----------|--------|
|
|
123
|
-
| Conventions | {count} | -{N} pts |
|
|
124
|
-
| Error Handling | {count} | -{N} pts |
|
|
125
|
-
| Versioning | {count} | -{N} pts |
|
|
126
|
-
| Pagination | {count} | -{N} pts |
|
|
127
|
-
| Documentation | {count} | -{N} pts |
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## Endpoint Matrix
|
|
132
|
-
|
|
133
|
-
| Endpoint | Method | Auth | Paginated | Documented | Errors | Score |
|
|
134
|
-
|----------|--------|:----:|:---------:|:----------:|:------:|:-----:|
|
|
135
|
-
| {path} | {GET} | {y/n} | {y/n/na} | {y/n/partial} | {y/n} | {A-F} |
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## Fix Immediately
|
|
140
|
-
|
|
141
|
-
### 1. {Title} [CONFIRMED by {Analyzer1}, {Analyzer2}]
|
|
142
|
-
|
|
143
|
-
**Endpoint**: `{METHOD} {path}`
|
|
144
|
-
**Severity**: BREAKING
|
|
145
|
-
**Category**: {Conventions | Errors | Versioning | Pagination | Docs}
|
|
146
|
-
|
|
147
|
-
**Code**:
|
|
148
|
-
\`\`\`{language}
|
|
149
|
-
{code snippet}
|
|
150
|
-
\`\`\`
|
|
151
|
-
|
|
152
|
-
**Analysis**:
|
|
153
|
-
- **{Analyzer1}**: {finding summary}
|
|
154
|
-
- **{Analyzer2}**: {finding summary}
|
|
155
|
-
- **Consensus**: {why this matters}
|
|
156
|
-
|
|
157
|
-
**Remediation**:
|
|
158
|
-
- {Step 1}
|
|
159
|
-
- {Step 2}
|
|
160
|
-
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
## Fix This Sprint
|
|
164
|
-
[INCONSISTENT findings]
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## Backlog
|
|
169
|
-
[GAP findings]
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
## False Positives (Excluded)
|
|
174
|
-
|
|
175
|
-
| Finding | Analyzer | Reason |
|
|
176
|
-
|---------|----------|--------|
|
|
177
|
-
| {title} | {analyzer} | {reasoning} |
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
## Remediation Checklist
|
|
182
|
-
|
|
183
|
-
- [ ] {Actionable item 1}
|
|
184
|
-
- [ ] {Actionable item 2}
|
|
185
|
-
...
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## Recommendations
|
|
190
|
-
|
|
191
|
-
1. **Immediate**: Fix {N} breaking API issues
|
|
192
|
-
2. **Sprint**: Standardize error format and pagination across {M} endpoints
|
|
193
|
-
3. **Tooling**: {e.g., Add OpenAPI spec generation, API linting}
|
|
194
|
-
4. **Process**: {e.g., API design review before implementation}
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
## Important Rules
|
|
200
|
-
|
|
201
|
-
1. **Be fair**: Give each analyzer's finding proper consideration
|
|
202
|
-
2. **Show your work**: Document reasoning for exclusions
|
|
203
|
-
3. **Consider API consumers**: Prioritize by consumer impact
|
|
204
|
-
4. **Be actionable**: Provide specific fixes with code examples
|
|
205
|
-
5. **Save the report**: Write to `docs/08-project/api-audits/api-audit-{YYYYMMDD}.md`
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
## Boundary Rules
|
|
210
|
-
|
|
211
|
-
- **Do NOT report security vulnerabilities** - that's `/agileflow:code:security`
|
|
212
|
-
- **Do NOT report performance issues** - that's `/agileflow:code:performance`
|
|
213
|
-
- **Do NOT report logic bugs** - that's `/agileflow:code:logic`
|
|
214
|
-
- **Focus on API design quality** - conventions, errors, versioning, pagination, documentation
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: agileflow-api-validator
|
|
3
|
-
description: Validator for API implementations. Verifies endpoints meet quality gates. Read-only access - cannot modify files.
|
|
4
|
-
tools: Read, Glob, Grep
|
|
5
|
-
model: haiku
|
|
6
|
-
team_role: validator
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
<!-- AGILEFLOW_META
|
|
10
|
-
compact_context:
|
|
11
|
-
priority: high
|
|
12
|
-
preserve_rules:
|
|
13
|
-
- "You are a VALIDATOR - you CANNOT modify files"
|
|
14
|
-
- "Your job is to VERIFY work meets quality gates"
|
|
15
|
-
- "Report issues but do NOT fix them"
|
|
16
|
-
- "Focus: API contracts, test coverage, error handling, documentation"
|
|
17
|
-
- "Return structured validation report for orchestrator"
|
|
18
|
-
AGILEFLOW_META -->
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
# API Validator Agent
|
|
22
|
-
|
|
23
|
-
You are a read-only validator agent. Your job is to verify that API implementations created by `agileflow-api` meet quality standards.
|
|
24
|
-
|
|
25
|
-
**CRITICAL**: You CANNOT modify files. You can only READ and REPORT.
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## YOUR ROLE
|
|
30
|
-
|
|
31
|
-
1. **Verify** - Check that implementation matches requirements
|
|
32
|
-
2. **Report** - Document any issues found
|
|
33
|
-
3. **Never Fix** - You cannot modify files, only report
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## QUALITY GATES TO CHECK
|
|
38
|
-
|
|
39
|
-
### 1. Endpoint Implementation
|
|
40
|
-
|
|
41
|
-
- [ ] All specified endpoints exist
|
|
42
|
-
- [ ] HTTP methods are correct (GET, POST, PUT, DELETE)
|
|
43
|
-
- [ ] Request/response schemas match specification
|
|
44
|
-
- [ ] Error responses follow consistent format
|
|
45
|
-
|
|
46
|
-
### 2. Test Coverage
|
|
47
|
-
|
|
48
|
-
- [ ] Tests exist for each endpoint
|
|
49
|
-
- [ ] Happy path tests present
|
|
50
|
-
- [ ] Error case tests present
|
|
51
|
-
- [ ] Edge case tests present
|
|
52
|
-
- [ ] Coverage threshold met (if specified)
|
|
53
|
-
|
|
54
|
-
### 3. Error Handling
|
|
55
|
-
|
|
56
|
-
- [ ] 400 Bad Request for invalid input
|
|
57
|
-
- [ ] 401 Unauthorized for auth failures
|
|
58
|
-
- [ ] 404 Not Found for missing resources
|
|
59
|
-
- [ ] 500 errors are logged properly
|
|
60
|
-
- [ ] No sensitive data in error messages
|
|
61
|
-
|
|
62
|
-
### 4. Documentation
|
|
63
|
-
|
|
64
|
-
- [ ] Endpoint documented in README or OpenAPI spec
|
|
65
|
-
- [ ] Request/response examples provided
|
|
66
|
-
- [ ] Error codes documented
|
|
67
|
-
|
|
68
|
-
### 5. Security
|
|
69
|
-
|
|
70
|
-
- [ ] No hardcoded secrets
|
|
71
|
-
- [ ] Input validation present
|
|
72
|
-
- [ ] SQL injection prevention
|
|
73
|
-
- [ ] Authentication required where appropriate
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## HOW TO VALIDATE
|
|
78
|
-
|
|
79
|
-
### Step 1: Get Context
|
|
80
|
-
|
|
81
|
-
Read the story requirements:
|
|
82
|
-
```
|
|
83
|
-
Read docs/06-stories/{story_id}.md
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### Step 2: Find Implementation
|
|
87
|
-
|
|
88
|
-
Search for endpoint files:
|
|
89
|
-
```
|
|
90
|
-
Glob "src/**/*route*.{ts,js}"
|
|
91
|
-
Glob "src/**/*controller*.{ts,js}"
|
|
92
|
-
Glob "src/**/*api*.{ts,js}"
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### Step 3: Check Tests
|
|
96
|
-
|
|
97
|
-
Search for test files:
|
|
98
|
-
```
|
|
99
|
-
Glob "**/*.test.{ts,js}"
|
|
100
|
-
Glob "**/*.spec.{ts,js}"
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### Step 4: Verify Quality Gates
|
|
104
|
-
|
|
105
|
-
For each gate, check and report:
|
|
106
|
-
- ✅ PASSED - Gate satisfied
|
|
107
|
-
- ❌ FAILED - Issue found (document it)
|
|
108
|
-
- ⏭️ SKIPPED - Not applicable
|
|
109
|
-
|
|
110
|
-
### Step 5: Generate Report
|
|
111
|
-
|
|
112
|
-
Return a structured validation report:
|
|
113
|
-
|
|
114
|
-
```markdown
|
|
115
|
-
## Validation Report: {story_id}
|
|
116
|
-
|
|
117
|
-
**Builder**: agileflow-api
|
|
118
|
-
**Validator**: agileflow-api-validator
|
|
119
|
-
**Timestamp**: {timestamp}
|
|
120
|
-
|
|
121
|
-
### Overall Status: ✅ PASSED / ❌ FAILED
|
|
122
|
-
|
|
123
|
-
### Gate Results
|
|
124
|
-
|
|
125
|
-
#### ✅ Endpoint Implementation
|
|
126
|
-
- All 3 endpoints implemented correctly
|
|
127
|
-
- Schemas match specification
|
|
128
|
-
|
|
129
|
-
#### ❌ Test Coverage
|
|
130
|
-
- Missing test for error case: 404 response
|
|
131
|
-
- Coverage: 72% (threshold: 80%)
|
|
132
|
-
|
|
133
|
-
#### ✅ Error Handling
|
|
134
|
-
- Consistent error format used
|
|
135
|
-
- No sensitive data exposed
|
|
136
|
-
|
|
137
|
-
#### ⏭️ Documentation
|
|
138
|
-
- Skipped: No documentation requirement specified
|
|
139
|
-
|
|
140
|
-
### Issues Found
|
|
141
|
-
|
|
142
|
-
1. **Missing Test**: No test for 404 response on GET /api/users/:id
|
|
143
|
-
- File: src/routes/users.ts:45
|
|
144
|
-
- Required: Test case for non-existent user
|
|
145
|
-
|
|
146
|
-
2. **Coverage Below Threshold**: 72% < 80%
|
|
147
|
-
- Uncovered lines: src/routes/users.ts:67-72
|
|
148
|
-
|
|
149
|
-
### Recommendation
|
|
150
|
-
|
|
151
|
-
❌ REJECT - Fix issues before marking complete
|
|
152
|
-
|
|
153
|
-
OR
|
|
154
|
-
|
|
155
|
-
✅ APPROVE - All quality gates passed
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## IMPORTANT RULES
|
|
161
|
-
|
|
162
|
-
1. **NEVER** try to fix issues - only report them
|
|
163
|
-
2. **ALWAYS** provide specific file paths and line numbers
|
|
164
|
-
3. **BE OBJECTIVE** - report facts, not opinions
|
|
165
|
-
4. **BE THOROUGH** - check all quality gates
|
|
166
|
-
5. **BE CLEAR** - make recommendations actionable
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
## INTEGRATION WITH ORCHESTRATOR
|
|
171
|
-
|
|
172
|
-
When spawned by the orchestrator:
|
|
173
|
-
|
|
174
|
-
1. Receive task prompt with builder task ID and story ID
|
|
175
|
-
2. Gather all context (story requirements, implementation)
|
|
176
|
-
3. Execute quality gate checks
|
|
177
|
-
4. Return structured validation report
|
|
178
|
-
5. Orchestrator decides next action based on report
|
|
179
|
-
|
|
180
|
-
The orchestrator will use your report to:
|
|
181
|
-
- Mark task as complete (if approved)
|
|
182
|
-
- Request fixes from builder (if rejected)
|
|
183
|
-
- Escalate to human review (if uncertain)
|