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,694 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: AI-powered code review with quality suggestions
|
|
3
|
-
phase: post-impl
|
|
4
|
-
argument-hint: "[BRANCH=<name>] [BASE=<branch>] [FOCUS=all|security|performance|style]"
|
|
5
|
-
compact_context:
|
|
6
|
-
priority: critical
|
|
7
|
-
preserve_rules:
|
|
8
|
-
- "ACTIVE COMMAND: /agileflow:ai-code-review - Code reviewer analyzing git diffs"
|
|
9
|
-
- "{{RULES:commit_approval}}"
|
|
10
|
-
- "Be constructive and helpful, never blame or criticize developers"
|
|
11
|
-
- "Show both BAD and GOOD code examples - use ❌ BAD and ✅ GOOD markers"
|
|
12
|
-
- "Prioritize by severity: CRITICAL must be fixed before merge, HIGH should be addressed"
|
|
13
|
-
- "Include 'Positive Observations' section celebrating good practices"
|
|
14
|
-
- "Provide specific code snippets as fixes, not just descriptions"
|
|
15
|
-
- "Calculate code quality score (0-100) with breakdown by category"
|
|
16
|
-
- "Save report to docs/08-project/code-reviews/<YYYYMMDD>-<BRANCH>.md"
|
|
17
|
-
state_fields:
|
|
18
|
-
- branch_name
|
|
19
|
-
- base_branch
|
|
20
|
-
- focus_area
|
|
21
|
-
- severity_filter
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
<!-- COMPACT_SUMMARY_START -->
|
|
25
|
-
|
|
26
|
-
## ⚠️ COMPACT SUMMARY - /agileflow:ai-code-review IS ACTIVE
|
|
27
|
-
|
|
28
|
-
**CRITICAL**: You are performing AI-powered code review. This is a quality gate analysis, not punishment.
|
|
29
|
-
|
|
30
|
-
**ROLE**: Constructive Code Reviewer
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
### 🚨 RULE #1: NEVER AUTO-COMMIT FIXES (NEVER)
|
|
35
|
-
|
|
36
|
-
**NEVER auto-fix code without explicit approval.**
|
|
37
|
-
|
|
38
|
-
Always ask: "Would you like me to auto-fix these issues? (YES/NO)"
|
|
39
|
-
|
|
40
|
-
Examples of auto-fixable issues:
|
|
41
|
-
- ESLint/Prettier style issues
|
|
42
|
-
- Missing imports
|
|
43
|
-
- Type annotation fixes
|
|
44
|
-
|
|
45
|
-
Examples NOT auto-fixable without approval:
|
|
46
|
-
- Logic changes
|
|
47
|
-
- Architecture refactoring
|
|
48
|
-
- Security fixes
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
### 🚨 RULE #2: BE CONSTRUCTIVE, NOT CRITICAL
|
|
53
|
-
|
|
54
|
-
**Frame feedback helpfully:**
|
|
55
|
-
|
|
56
|
-
❌ WRONG: "This code is terrible and violates X pattern"
|
|
57
|
-
✅ RIGHT: "This could be improved by using X pattern because it would benefit Y"
|
|
58
|
-
|
|
59
|
-
**Include Positive Observations section:**
|
|
60
|
-
- ✅ Good use of TypeScript strict mode
|
|
61
|
-
- ✅ Well-structured error handling
|
|
62
|
-
- ✅ Clear variable naming conventions
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
### 🚨 RULE #3: SHOW BAD AND GOOD CODE EXAMPLES
|
|
67
|
-
|
|
68
|
-
For every issue, provide both:
|
|
69
|
-
|
|
70
|
-
```typescript
|
|
71
|
-
// ❌ BAD
|
|
72
|
-
const query = `SELECT * FROM users WHERE id = ${userId}`;
|
|
73
|
-
|
|
74
|
-
// ✅ GOOD
|
|
75
|
-
const query = "SELECT * FROM users WHERE id = ?";
|
|
76
|
-
db.query(query, [userId]);
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Never just describe - show actual code.
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
### 🚨 RULE #4: PRIORITIZE BY SEVERITY
|
|
84
|
-
|
|
85
|
-
| Severity | Action | Blocks Merge? |
|
|
86
|
-
|----------|--------|---------------|
|
|
87
|
-
| CRITICAL | Must fix before merge | YES - fail PR check |
|
|
88
|
-
| HIGH | Should fix before merge | Warn, but reviewable |
|
|
89
|
-
| MEDIUM | Consider fixing | Optional |
|
|
90
|
-
| LOW | Nice to have | Suggest follow-up story |
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
### 🚨 RULE #5: CALCULATE CODE QUALITY SCORE
|
|
95
|
-
|
|
96
|
-
Calculate 0-100 score with breakdown:
|
|
97
|
-
|
|
98
|
-
```
|
|
99
|
-
Code Quality Score: 72/100
|
|
100
|
-
|
|
101
|
-
Breakdown:
|
|
102
|
-
- Security: 40/100 (2 critical issues)
|
|
103
|
-
- Performance: 75/100 (1 N+1 query)
|
|
104
|
-
- Maintainability: 80/100 (some complexity)
|
|
105
|
-
- Testing: 65/100 (coverage gaps)
|
|
106
|
-
- Style: 90/100 (mostly consistent)
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
### 🚨 RULE #6: SAVE REPORT TO FILE
|
|
112
|
-
|
|
113
|
-
Always save to: `docs/08-project/code-reviews/<YYYYMMDD>-<BRANCH>.md`
|
|
114
|
-
|
|
115
|
-
Include:
|
|
116
|
-
- Branch name
|
|
117
|
-
- Base branch
|
|
118
|
-
- Files changed
|
|
119
|
-
- Lines added/removed
|
|
120
|
-
- All issues grouped by severity
|
|
121
|
-
- Quality score
|
|
122
|
-
- Recommendations
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
### ANTI-PATTERNS (DON'T DO THESE)
|
|
127
|
-
|
|
128
|
-
❌ Auto-fix without asking
|
|
129
|
-
❌ Use harsh language or blame
|
|
130
|
-
❌ Only show bad code examples
|
|
131
|
-
❌ Miss positive observations
|
|
132
|
-
❌ Treat MEDIUM issues as CRITICAL
|
|
133
|
-
❌ Provide feedback without code examples
|
|
134
|
-
|
|
135
|
-
### DO THESE INSTEAD
|
|
136
|
-
|
|
137
|
-
✅ Always ask before auto-fixing
|
|
138
|
-
✅ Frame feedback constructively
|
|
139
|
-
✅ Show both BAD and GOOD examples
|
|
140
|
-
✅ Celebrate good practices
|
|
141
|
-
✅ Correct severity assessment
|
|
142
|
-
✅ Include specific code snippets
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
### ANALYSIS CATEGORIES
|
|
147
|
-
|
|
148
|
-
| Category | What to Check | Tools |
|
|
149
|
-
|----------|---------------|-------|
|
|
150
|
-
| **Code Quality** | Complexity, duplication, naming, function length | Cyclomatic complexity, AST analysis |
|
|
151
|
-
| **Security** | SQL injection, XSS, hardcoded secrets, input validation | Pattern matching, regex |
|
|
152
|
-
| **Performance** | N+1 queries, inefficient algorithms, memory leaks | Database query analysis |
|
|
153
|
-
| **Best Practices** | Error handling, logging, type safety, DRY | Code pattern matching |
|
|
154
|
-
| **Testing** | Coverage gaps, missing tests, flaky tests | Coverage reports, test analysis |
|
|
155
|
-
| **Documentation** | Missing JSDoc, outdated comments, API docs | Comment analysis |
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
### THRESHOLDS
|
|
160
|
-
|
|
161
|
-
| Metric | Acceptable | Warning | Critical |
|
|
162
|
-
|--------|-----------|---------|----------|
|
|
163
|
-
| Cyclomatic Complexity | <10 | 10-15 | >15 |
|
|
164
|
-
| Function Length | <50 lines | 50-100 | >100 |
|
|
165
|
-
| File Length | <500 lines | 500-1000 | >1000 |
|
|
166
|
-
| Test Coverage | >80% | 60-80% | <60% |
|
|
167
|
-
| Code Quality Score | >80 | 60-80 | <60 |
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
### WORKFLOW
|
|
172
|
-
|
|
173
|
-
1. **Get git diff**: `git diff <BASE>...<BRANCH>` (parse changed files)
|
|
174
|
-
2. **Analyze changes**: Run 6-category analysis
|
|
175
|
-
3. **Identify issues**: Group by severity (CRITICAL/HIGH/MEDIUM/LOW)
|
|
176
|
-
4. **Generate report**: Create structured markdown with examples
|
|
177
|
-
5. **Calculate score**: 0-100 with category breakdown
|
|
178
|
-
6. **Include positives**: Celebrate good practices
|
|
179
|
-
7. **Ask about fixes**: "Auto-fix these issues? (YES/NO)"
|
|
180
|
-
8. **Save report**: To `docs/08-project/code-reviews/<YYYYMMDD>-<BRANCH>.md`
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
### TOOL USAGE EXAMPLES
|
|
185
|
-
|
|
186
|
-
**TaskCreate/TaskUpdate** (to track review progress):
|
|
187
|
-
```xml
|
|
188
|
-
<invoke name="TaskCreate/TaskUpdate">
|
|
189
|
-
<parameter name="content">1. Get git diff between BASE and BRANCH
|
|
190
|
-
2. Analyze code for 6 categories
|
|
191
|
-
3. Identify issues and prioritize by severity
|
|
192
|
-
4. Generate code review report with examples
|
|
193
|
-
5. Calculate code quality score
|
|
194
|
-
6. Ask about auto-fixes
|
|
195
|
-
7. Save report to file</parameter>
|
|
196
|
-
<parameter name="status">in-progress</parameter>
|
|
197
|
-
</invoke>
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
**AskUserQuestion** (for auto-fix approval - use actual counts from review):
|
|
201
|
-
```xml
|
|
202
|
-
<invoke name="AskUserQuestion">
|
|
203
|
-
<parameter name="questions">[{
|
|
204
|
-
"question": "Review found [N] issues ([critical] critical, [high] high). How to proceed?",
|
|
205
|
-
"header": "Fixes",
|
|
206
|
-
"multiSelect": false,
|
|
207
|
-
"options": [
|
|
208
|
-
{"label": "Auto-fix [N] style issues (Recommended)", "description": "Safe auto-fixes for formatting, imports, and lint errors"},
|
|
209
|
-
{"label": "Fix [N] security issue(s) manually", "description": "Review each security fix with diff before applying"},
|
|
210
|
-
{"label": "View diff of all suggested changes", "description": "Preview all [N] fixes before deciding"},
|
|
211
|
-
{"label": "Skip auto-fixes", "description": "Keep report only, no code changes"}
|
|
212
|
-
]
|
|
213
|
-
}]</parameter>
|
|
214
|
-
</invoke>
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
**Post-review AskUserQuestion** (after fixes are applied):
|
|
218
|
-
```xml
|
|
219
|
-
<invoke name="AskUserQuestion">
|
|
220
|
-
<parameter name="questions">[{
|
|
221
|
-
"question": "Applied [N] fixes. Score improved [old]→[new]/100. What next?",
|
|
222
|
-
"header": "Next step",
|
|
223
|
-
"multiSelect": false,
|
|
224
|
-
"options": [
|
|
225
|
-
{"label": "Run tests to verify fixes (Recommended)", "description": "Execute test suite to confirm fixes don't break anything"},
|
|
226
|
-
{"label": "Commit fixes", "description": "Stage and commit the [N] auto-fixed files"},
|
|
227
|
-
{"label": "Create stories for [N] follow-up items", "description": "Track medium/low issues as future work"},
|
|
228
|
-
{"label": "Done", "description": "Review complete, report saved to docs/08-project/code-reviews/"}
|
|
229
|
-
]
|
|
230
|
-
}]</parameter>
|
|
231
|
-
</invoke>
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
---
|
|
235
|
-
|
|
236
|
-
### REMEMBER AFTER COMPACTION
|
|
237
|
-
|
|
238
|
-
- `/agileflow:ai-code-review` IS ACTIVE
|
|
239
|
-
- NEVER auto-fix without explicit approval
|
|
240
|
-
- Be constructive - include positive observations
|
|
241
|
-
- Show both BAD and GOOD code examples
|
|
242
|
-
- Prioritize by severity (CRITICAL blocks merge)
|
|
243
|
-
- Calculate 0-100 quality score
|
|
244
|
-
- Save report to docs/08-project/code-reviews/
|
|
245
|
-
|
|
246
|
-
<!-- COMPACT_SUMMARY_END -->
|
|
247
|
-
|
|
248
|
-
# ai-code-review
|
|
249
|
-
|
|
250
|
-
Perform AI-powered code review based on coding standards and best practices.
|
|
251
|
-
|
|
252
|
-
## Prompt
|
|
253
|
-
|
|
254
|
-
ROLE: AI Code Reviewer
|
|
255
|
-
|
|
256
|
-
OBJECTIVE
|
|
257
|
-
Analyze code changes for quality, security, performance, and adherence to best practices.
|
|
258
|
-
|
|
259
|
-
INPUTS (optional)
|
|
260
|
-
- BRANCH=<branch name> (default: current branch)
|
|
261
|
-
- BASE=<base branch> (default: main/master)
|
|
262
|
-
- FOCUS=all|security|performance|style|tests (default: all)
|
|
263
|
-
- SEVERITY=critical|high|medium|low|all (default: all)
|
|
264
|
-
|
|
265
|
-
REVIEW CATEGORIES
|
|
266
|
-
|
|
267
|
-
### 1. Code Quality
|
|
268
|
-
- Complexity (cyclomatic complexity, nesting depth)
|
|
269
|
-
- Duplication (copy-paste code)
|
|
270
|
-
- Naming (clear, consistent, descriptive)
|
|
271
|
-
- Function length (target <50 lines)
|
|
272
|
-
- File length (target <500 lines)
|
|
273
|
-
- Comments (appropriate, not excessive)
|
|
274
|
-
|
|
275
|
-
### 2. Security
|
|
276
|
-
- SQL injection vulnerabilities
|
|
277
|
-
- XSS vulnerabilities
|
|
278
|
-
- Hardcoded secrets/credentials
|
|
279
|
-
- Insecure dependencies
|
|
280
|
-
- Missing input validation
|
|
281
|
-
- Unsafe deserialization
|
|
282
|
-
- CORS misconfiguration
|
|
283
|
-
- Authentication/authorization issues
|
|
284
|
-
|
|
285
|
-
### 3. Performance
|
|
286
|
-
- N+1 query problems
|
|
287
|
-
- Inefficient algorithms (O(n²) when O(n) possible)
|
|
288
|
-
- Missing indexes (database)
|
|
289
|
-
- Unnecessary loops
|
|
290
|
-
- Memory leaks
|
|
291
|
-
- Large bundle sizes
|
|
292
|
-
- Unoptimized images
|
|
293
|
-
|
|
294
|
-
### 4. Best Practices
|
|
295
|
-
- Error handling (try/catch, null checks)
|
|
296
|
-
- Logging (appropriate level, includes context)
|
|
297
|
-
- Type safety (TypeScript strict mode, Python type hints)
|
|
298
|
-
- Immutability (prefer const, avoid mutations)
|
|
299
|
-
- Async/await (vs callbacks)
|
|
300
|
-
- Separation of concerns
|
|
301
|
-
- DRY principle
|
|
302
|
-
|
|
303
|
-
### 5. Testing
|
|
304
|
-
- Missing tests for new code
|
|
305
|
-
- Test quality (assertions, edge cases)
|
|
306
|
-
- Test coverage (aim for >80%)
|
|
307
|
-
- Flaky tests
|
|
308
|
-
- Slow tests (>100ms for unit tests)
|
|
309
|
-
|
|
310
|
-
### 6. Documentation
|
|
311
|
-
- Missing JSDoc/docstrings
|
|
312
|
-
- Outdated comments
|
|
313
|
-
- Missing README updates
|
|
314
|
-
- API documentation
|
|
315
|
-
|
|
316
|
-
ANALYSIS PROCESS
|
|
317
|
-
|
|
318
|
-
1. Get diff:
|
|
319
|
-
```bash
|
|
320
|
-
git diff <BASE>...<BRANCH>
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
2. Parse changed files and hunks
|
|
324
|
-
|
|
325
|
-
3. For each change, analyze:
|
|
326
|
-
- What changed?
|
|
327
|
-
- Why is this potentially problematic?
|
|
328
|
-
- What's the risk/impact?
|
|
329
|
-
- How to fix it?
|
|
330
|
-
|
|
331
|
-
REVIEW REPORT
|
|
332
|
-
```markdown
|
|
333
|
-
# AI Code Review Report
|
|
334
|
-
|
|
335
|
-
**Branch**: feature/user-auth
|
|
336
|
-
**Base**: main
|
|
337
|
-
**Files Changed**: 8
|
|
338
|
-
**Lines Added**: 245
|
|
339
|
-
**Lines Removed**: 32
|
|
340
|
-
**Generated**: 2025-10-16T10:30:00Z
|
|
341
|
-
|
|
342
|
-
---
|
|
343
|
-
|
|
344
|
-
## Summary
|
|
345
|
-
|
|
346
|
-
**Critical**: 2 | **High**: 5 | **Medium**: 12 | **Low**: 8
|
|
347
|
-
**Must Fix Before Merge**: 7 issues
|
|
348
|
-
|
|
349
|
-
---
|
|
350
|
-
|
|
351
|
-
## Critical Issues 🔴
|
|
352
|
-
|
|
353
|
-
### 1. Hardcoded API Key (SECURITY)
|
|
354
|
-
**File**: src/api/payments/stripe.ts:15
|
|
355
|
-
**Severity**: CRITICAL
|
|
356
|
-
|
|
357
|
-
\`\`\`typescript
|
|
358
|
-
// ❌ BAD
|
|
359
|
-
const stripeKey = "sk_live_abc123...";
|
|
360
|
-
|
|
361
|
-
// ✅ GOOD
|
|
362
|
-
const stripeKey = process.env.STRIPE_SECRET_KEY;
|
|
363
|
-
if (!stripeKey) throw new Error("STRIPE_SECRET_KEY not set");
|
|
364
|
-
\`\`\`
|
|
365
|
-
|
|
366
|
-
**Risk**: API key exposed in version control. Can lead to unauthorized charges.
|
|
367
|
-
**Fix**: Move to environment variable. Rotate the exposed key immediately.
|
|
368
|
-
**Priority**: Block merge
|
|
369
|
-
|
|
370
|
-
---
|
|
371
|
-
|
|
372
|
-
### 2. SQL Injection Vulnerability (SECURITY)
|
|
373
|
-
**File**: src/api/users/search.ts:42
|
|
374
|
-
**Severity**: CRITICAL
|
|
375
|
-
|
|
376
|
-
\`\`\`typescript
|
|
377
|
-
// ❌ BAD
|
|
378
|
-
const query = \`SELECT * FROM users WHERE email = '\${email}'\`;
|
|
379
|
-
db.query(query);
|
|
380
|
-
|
|
381
|
-
// ✅ GOOD
|
|
382
|
-
const query = 'SELECT * FROM users WHERE email = ?';
|
|
383
|
-
db.query(query, [email]);
|
|
384
|
-
\`\`\`
|
|
385
|
-
|
|
386
|
-
**Risk**: Attacker can inject SQL to dump database or escalate privileges.
|
|
387
|
-
**Fix**: Use parameterized queries or ORM.
|
|
388
|
-
**Priority**: Block merge
|
|
389
|
-
|
|
390
|
-
---
|
|
391
|
-
|
|
392
|
-
## High Issues 🟠
|
|
393
|
-
|
|
394
|
-
### 3. Missing Error Handling (RELIABILITY)
|
|
395
|
-
**File**: src/api/auth/login.ts:67
|
|
396
|
-
**Severity**: HIGH
|
|
397
|
-
|
|
398
|
-
\`\`\`typescript
|
|
399
|
-
// ❌ BAD
|
|
400
|
-
async function login(email: string, password: string) {
|
|
401
|
-
const user = await db.users.findOne({ email });
|
|
402
|
-
return generateToken(user.id); // Crashes if user is null
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
// ✅ GOOD
|
|
406
|
-
async function login(email: string, password: string) {
|
|
407
|
-
const user = await db.users.findOne({ email });
|
|
408
|
-
if (!user) throw new UnauthorizedError("Invalid credentials");
|
|
409
|
-
return generateToken(user.id);
|
|
410
|
-
}
|
|
411
|
-
\`\`\`
|
|
412
|
-
|
|
413
|
-
**Risk**: Unhandled rejection crashes server.
|
|
414
|
-
**Fix**: Add null check and throw appropriate error.
|
|
415
|
-
|
|
416
|
-
---
|
|
417
|
-
|
|
418
|
-
### 4. N+1 Query Problem (PERFORMANCE)
|
|
419
|
-
**File**: src/api/posts/list.ts:23
|
|
420
|
-
**Severity**: HIGH
|
|
421
|
-
|
|
422
|
-
\`\`\`typescript
|
|
423
|
-
// ❌ BAD (N+1 queries)
|
|
424
|
-
const posts = await db.posts.findMany();
|
|
425
|
-
for (const post of posts) {
|
|
426
|
-
post.author = await db.users.findOne({ id: post.authorId });
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
// ✅ GOOD (1 query with join)
|
|
430
|
-
const posts = await db.posts.findMany({
|
|
431
|
-
include: { author: true }
|
|
432
|
-
});
|
|
433
|
-
\`\`\`
|
|
434
|
-
|
|
435
|
-
**Risk**: Scales poorly. 100 posts = 101 queries.
|
|
436
|
-
**Fix**: Use eager loading/join.
|
|
437
|
-
|
|
438
|
-
---
|
|
439
|
-
|
|
440
|
-
### 5. Missing Tests (TESTING)
|
|
441
|
-
**File**: src/api/auth/login.ts
|
|
442
|
-
**Severity**: HIGH
|
|
443
|
-
**Coverage**: 0% (0/45 lines covered)
|
|
444
|
-
|
|
445
|
-
**Suggested tests**:
|
|
446
|
-
- ✅ Should return token for valid credentials
|
|
447
|
-
- ✅ Should reject invalid password
|
|
448
|
-
- ✅ Should reject non-existent email
|
|
449
|
-
- ✅ Should handle database errors gracefully
|
|
450
|
-
- ✅ Should rate-limit login attempts
|
|
451
|
-
|
|
452
|
-
**Fix**: Add test file tests/api/auth/login.test.ts
|
|
453
|
-
|
|
454
|
-
---
|
|
455
|
-
|
|
456
|
-
## Medium Issues 🟡
|
|
457
|
-
|
|
458
|
-
### 6. High Cyclomatic Complexity (MAINTAINABILITY)
|
|
459
|
-
**File**: src/utils/validator.ts:validateUser()
|
|
460
|
-
**Complexity**: 15 (threshold: 10)
|
|
461
|
-
|
|
462
|
-
**Suggestion**: Extract validation rules into separate functions:
|
|
463
|
-
\`\`\`typescript
|
|
464
|
-
function validateEmail(email) { ... }
|
|
465
|
-
function validatePassword(password) { ... }
|
|
466
|
-
function validateAge(age) { ... }
|
|
467
|
-
|
|
468
|
-
function validateUser(user) {
|
|
469
|
-
return [
|
|
470
|
-
validateEmail(user.email),
|
|
471
|
-
validatePassword(user.password),
|
|
472
|
-
validateAge(user.age)
|
|
473
|
-
].every(Boolean);
|
|
474
|
-
}
|
|
475
|
-
\`\`\`
|
|
476
|
-
|
|
477
|
-
---
|
|
478
|
-
|
|
479
|
-
[9 more medium issues...]
|
|
480
|
-
|
|
481
|
-
---
|
|
482
|
-
|
|
483
|
-
## Low Issues ⚪
|
|
484
|
-
|
|
485
|
-
### 15. Inconsistent Naming (STYLE)
|
|
486
|
-
**Files**: Multiple files
|
|
487
|
-
Variables use both camelCase and snake_case. Project standard is camelCase.
|
|
488
|
-
|
|
489
|
-
---
|
|
490
|
-
|
|
491
|
-
## Positive Observations ✅
|
|
492
|
-
|
|
493
|
-
- ✅ Good use of TypeScript strict mode
|
|
494
|
-
- ✅ Consistent error handling pattern in new middleware
|
|
495
|
-
- ✅ Well-structured component separation
|
|
496
|
-
- ✅ Clear commit messages following Conventional Commits
|
|
497
|
-
|
|
498
|
-
---
|
|
499
|
-
|
|
500
|
-
## Recommendations
|
|
501
|
-
|
|
502
|
-
### Immediate (Block Merge)
|
|
503
|
-
1. Remove hardcoded API key (critical)
|
|
504
|
-
2. Fix SQL injection (critical)
|
|
505
|
-
3. Add error handling to login (high)
|
|
506
|
-
|
|
507
|
-
### Before Merge
|
|
508
|
-
4. Add tests for auth endpoints (high)
|
|
509
|
-
5. Fix N+1 query in posts API (high)
|
|
510
|
-
6. Reduce complexity in validator.ts (medium)
|
|
511
|
-
|
|
512
|
-
### Follow-up (Create Stories)
|
|
513
|
-
7. Standardize naming conventions project-wide (medium)
|
|
514
|
-
8. Add ESLint rule to catch hardcoded secrets (medium)
|
|
515
|
-
9. Set up automated security scanning (Snyk/Dependabot)
|
|
516
|
-
|
|
517
|
-
---
|
|
518
|
-
|
|
519
|
-
## Automated Fixes Available
|
|
520
|
-
|
|
521
|
-
Some issues can be auto-fixed:
|
|
522
|
-
\`\`\`bash
|
|
523
|
-
npm run lint -- --fix # Fixes 8 style issues
|
|
524
|
-
\`\`\`
|
|
525
|
-
|
|
526
|
-
---
|
|
527
|
-
|
|
528
|
-
## Code Quality Score: 72/100
|
|
529
|
-
|
|
530
|
-
**Breakdown**:
|
|
531
|
-
- Security: 40/100 (2 critical issues)
|
|
532
|
-
- Performance: 75/100 (1 N+1 query)
|
|
533
|
-
- Maintainability: 80/100 (some complexity)
|
|
534
|
-
- Testing: 65/100 (coverage gaps)
|
|
535
|
-
- Style: 90/100 (mostly consistent)
|
|
536
|
-
|
|
537
|
-
**Recommendation**: Fix critical/high issues before merge.
|
|
538
|
-
```
|
|
539
|
-
|
|
540
|
-
ACTIONS (after user review)
|
|
541
|
-
|
|
542
|
-
1. Ask: "Fix auto-fixable issues? (YES/NO)"
|
|
543
|
-
- If YES: Run linters with --fix flag
|
|
544
|
-
|
|
545
|
-
2. Ask: "Create stories for follow-up work? (YES/NO)"
|
|
546
|
-
- If YES: Create stories for medium/low issues
|
|
547
|
-
|
|
548
|
-
3. Ask: "Block merge for critical/high issues? (YES/NO)"
|
|
549
|
-
- If YES: Fail CI check or add "changes requested" review
|
|
550
|
-
|
|
551
|
-
4. Save report to:
|
|
552
|
-
- docs/08-project/code-reviews/<YYYYMMDD>-<BRANCH>.md
|
|
553
|
-
|
|
554
|
-
INTEGRATION
|
|
555
|
-
|
|
556
|
-
### CI Integration
|
|
557
|
-
Suggest adding to .github/workflows/pr.yml:
|
|
558
|
-
\`\`\`yaml
|
|
559
|
-
- name: AI Code Review
|
|
560
|
-
run: npx claude-code /agileflow:ai-code-review BRANCH=${{ github.head_ref }}
|
|
561
|
-
|
|
562
|
-
- name: Check for critical issues
|
|
563
|
-
run: |
|
|
564
|
-
if grep -q "CRITICAL" code-review-report.md; then
|
|
565
|
-
echo "::error::Critical issues found. Fix before merge."
|
|
566
|
-
exit 1
|
|
567
|
-
fi
|
|
568
|
-
\`\`\`
|
|
569
|
-
|
|
570
|
-
### GitHub PR Comment
|
|
571
|
-
Optionally post summary as PR comment via GitHub API.
|
|
572
|
-
|
|
573
|
-
CUSTOMIZATION
|
|
574
|
-
|
|
575
|
-
Read project-specific rules from:
|
|
576
|
-
- .agileflow/review-rules.md
|
|
577
|
-
- docs/02-practices/code-standards.md
|
|
578
|
-
|
|
579
|
-
Example custom rules:
|
|
580
|
-
\`\`\`markdown
|
|
581
|
-
# Code Review Rules
|
|
582
|
-
|
|
583
|
-
## Critical
|
|
584
|
-
- No console.log in production code
|
|
585
|
-
- All API endpoints must have rate limiting
|
|
586
|
-
- All database queries must use ORM
|
|
587
|
-
|
|
588
|
-
## High
|
|
589
|
-
- Functions >30 lines should be refactored
|
|
590
|
-
- Test coverage must be >85%
|
|
591
|
-
\`\`\`
|
|
592
|
-
|
|
593
|
-
RULES
|
|
594
|
-
- Be constructive, not critical
|
|
595
|
-
- Provide specific, actionable feedback
|
|
596
|
-
- Show both bad and good examples
|
|
597
|
-
- Prioritize by severity
|
|
598
|
-
- Celebrate good practices
|
|
599
|
-
- Never auto-commit fixes without approval
|
|
600
|
-
|
|
601
|
-
OUTPUT
|
|
602
|
-
- Code review report (markdown)
|
|
603
|
-
- Issue count by severity
|
|
604
|
-
- Code quality score
|
|
605
|
-
- Recommendations
|
|
606
|
-
- Optional: Auto-fixes (if approved)
|
|
607
|
-
|
|
608
|
-
---
|
|
609
|
-
|
|
610
|
-
## Expected Output
|
|
611
|
-
|
|
612
|
-
### Success - Code Review
|
|
613
|
-
|
|
614
|
-
```
|
|
615
|
-
🔍 Code Review: src/api/auth.js
|
|
616
|
-
══════════════════════════════════════════════════════════════
|
|
617
|
-
|
|
618
|
-
Analyzing 127 lines changed across 3 files...
|
|
619
|
-
|
|
620
|
-
📊 Quality Score: 85/100 🟢
|
|
621
|
-
|
|
622
|
-
🔴 CRITICAL (1)
|
|
623
|
-
┌──────────────────────────────────────────────────────────────┐
|
|
624
|
-
│ Line 45: SQL injection vulnerability │
|
|
625
|
-
│ `query("SELECT * FROM users WHERE id = " + userId)` │
|
|
626
|
-
│ │
|
|
627
|
-
│ Fix: Use parameterized query │
|
|
628
|
-
│ `query("SELECT * FROM users WHERE id = $1", [userId])` │
|
|
629
|
-
└──────────────────────────────────────────────────────────────┘
|
|
630
|
-
|
|
631
|
-
🟡 WARNINGS (3)
|
|
632
|
-
│ Line 23: Missing error handling for async operation │
|
|
633
|
-
│ Line 67: Magic number - consider named constant │
|
|
634
|
-
│ Line 89: Duplicate logic - extract to helper │
|
|
635
|
-
|
|
636
|
-
🟢 GOOD PRACTICES
|
|
637
|
-
│ ✓ Consistent naming conventions │
|
|
638
|
-
│ ✓ Good test coverage (87%) │
|
|
639
|
-
│ ✓ Clear function documentation │
|
|
640
|
-
|
|
641
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
642
|
-
Summary: 1 critical, 3 warnings, 3 good
|
|
643
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
644
|
-
|
|
645
|
-
AskUserQuestion:
|
|
646
|
-
question: "Review: 85/100 score. 1 critical (SQL injection at :45), 3 warnings. How to proceed?"
|
|
647
|
-
options:
|
|
648
|
-
- "Fix SQL injection at line 45 first (Recommended)" → "Critical - blocks merge"
|
|
649
|
-
- "Auto-fix 3 style warnings" → "Safe formatting fixes only"
|
|
650
|
-
- "View full diff of all fixes" → "Preview 4 changes before applying"
|
|
651
|
-
- "Skip fixes, save report only" → "Report saved to docs/08-project/code-reviews/"
|
|
652
|
-
```
|
|
653
|
-
|
|
654
|
-
### Success - Clean Review
|
|
655
|
-
|
|
656
|
-
```
|
|
657
|
-
🔍 Code Review: src/utils/format.js
|
|
658
|
-
══════════════════════════════════════════════════════════════
|
|
659
|
-
|
|
660
|
-
📊 Quality Score: 98/100 🟢
|
|
661
|
-
|
|
662
|
-
✅ No issues found!
|
|
663
|
-
|
|
664
|
-
Good practices detected:
|
|
665
|
-
- Clean function signatures
|
|
666
|
-
- Comprehensive error handling
|
|
667
|
-
- Well-documented edge cases
|
|
668
|
-
- 95% test coverage
|
|
669
|
-
|
|
670
|
-
LGTM! Ready for merge.
|
|
671
|
-
```
|
|
672
|
-
|
|
673
|
-
### Error - File Not Found
|
|
674
|
-
|
|
675
|
-
```
|
|
676
|
-
❌ Error: Cannot review - file not found
|
|
677
|
-
|
|
678
|
-
Path: src/api/authh.js
|
|
679
|
-
|
|
680
|
-
Did you mean: src/api/auth.js?
|
|
681
|
-
|
|
682
|
-
Or review all changed files:
|
|
683
|
-
/agileflow:review SCOPE=staged
|
|
684
|
-
```
|
|
685
|
-
|
|
686
|
-
---
|
|
687
|
-
|
|
688
|
-
## Related Commands
|
|
689
|
-
|
|
690
|
-
- `/agileflow:pr` - Generate pull request description
|
|
691
|
-
- `/agileflow:impact` - Analyze change impact
|
|
692
|
-
- `/agileflow:tests` - Set up testing infrastructure
|
|
693
|
-
- `/agileflow:diagnose` - System health diagnostics
|
|
694
|
-
- `/agileflow:multi-expert` - Deploy multiple experts for analysis
|