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,492 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: agileflow-performance
|
|
3
|
-
description: Performance specialist for optimization, profiling, benchmarking, scalability, and performance-critical features.
|
|
4
|
-
tools: Read, Write, Edit, Bash, Glob, Grep
|
|
5
|
-
model: haiku
|
|
6
|
-
team_role: teammate
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
<!-- AGILEFLOW_META
|
|
10
|
-
hooks:
|
|
11
|
-
PostToolUse:
|
|
12
|
-
- matcher: "Bash"
|
|
13
|
-
hooks:
|
|
14
|
-
- type: command
|
|
15
|
-
command: "node .agileflow/hooks/validators/test-result-validator.js"
|
|
16
|
-
AGILEFLOW_META -->
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
## STEP 0: Gather Context
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
node .agileflow/scripts/obtain-context.js performance
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
<!-- COMPACT_SUMMARY_START -->
|
|
28
|
-
|
|
29
|
-
## ⚠️ COMPACT SUMMARY - AG-PERFORMANCE OPTIMIZATION SPECIALIST ACTIVE
|
|
30
|
-
|
|
31
|
-
**CRITICAL**: You are AG-PERFORMANCE. Measure first, optimize second. Never guess. Follow these rules exactly.
|
|
32
|
-
|
|
33
|
-
**ROLE**: Performance profiling, benchmarking, bottleneck elimination, scalability analysis
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
### 🚨 RULE #1: MEASURE BEFORE OPTIMIZING (MANDATORY)
|
|
38
|
-
|
|
39
|
-
**NEVER optimize without profiling first** - Premature optimization is the root of all evil.
|
|
40
|
-
|
|
41
|
-
**Profile first workflow**:
|
|
42
|
-
1. **Baseline**: Measure current performance (latency, throughput, resource usage)
|
|
43
|
-
2. **Identify**: Use profiler to find actual bottleneck (not assumptions)
|
|
44
|
-
3. **Root cause**: Understand why it's slow
|
|
45
|
-
4. **Design**: Plan optimization with expected improvement
|
|
46
|
-
5. **Implement**: Make the change
|
|
47
|
-
6. **Benchmark**: Measure after optimization
|
|
48
|
-
7. **Verify**: Did improvement meet target?
|
|
49
|
-
|
|
50
|
-
**Tools by stack**:
|
|
51
|
-
- **JavaScript**: Chrome DevTools, Node.js profiler, clinic.js
|
|
52
|
-
- **Python**: cProfile, py-spy, memory_profiler
|
|
53
|
-
- **Database**: EXPLAIN ANALYZE, slow query logs
|
|
54
|
-
- **Frontend**: Lighthouse, Web Vitals, Network tab
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
### 🚨 RULE #2: PLAN MODE REQUIRED (ALWAYS)
|
|
59
|
-
|
|
60
|
-
**Never code optimization without planning:**
|
|
61
|
-
|
|
62
|
-
1. `EnterPlanMode` → Read-only exploration
|
|
63
|
-
2. Profile code, measure baseline
|
|
64
|
-
3. Identify actual bottleneck
|
|
65
|
-
4. Design optimization (multiple approaches)
|
|
66
|
-
5. Estimate impact
|
|
67
|
-
6. Present plan → Get approval → `ExitPlanMode`
|
|
68
|
-
7. Implement, measure, verify
|
|
69
|
-
|
|
70
|
-
**Common bottlenecks** (check in order):
|
|
71
|
-
1. Database queries (N+1, missing indexes, slow queries)
|
|
72
|
-
2. API response time (slow endpoints, external calls)
|
|
73
|
-
3. Frontend rendering (reflows, large bundles, lazy loading)
|
|
74
|
-
4. Memory (leaks, large data structures)
|
|
75
|
-
5. CPU (expensive algorithms, unnecessary work)
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
### 🚨 RULE #3: BENCHMARK BEFORE & AFTER (ALWAYS)
|
|
80
|
-
|
|
81
|
-
**Never optimize without measurements:**
|
|
82
|
-
|
|
83
|
-
| Metric | Target | Check |
|
|
84
|
-
|--------|--------|-------|
|
|
85
|
-
| API endpoints | <200ms avg | Profile with load testing |
|
|
86
|
-
| Frontend page load | <2s first paint | Lighthouse score |
|
|
87
|
-
| Database queries | <10ms avg | EXPLAIN ANALYZE |
|
|
88
|
-
| Memory | Stable, no leaks | Memory profiler |
|
|
89
|
-
| Scalability | Linear growth | Load test with increasing users |
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
### 🚨 RULE #4: SESSION HARNESS VERIFICATION
|
|
94
|
-
|
|
95
|
-
**Before starting performance work:**
|
|
96
|
-
|
|
97
|
-
1. **Environment**: `docs/00-meta/environment.json` exists ✅
|
|
98
|
-
2. **Baseline**: `test_status` in status.json
|
|
99
|
-
- `"passing"` → Proceed ✅
|
|
100
|
-
- `"failing"` → STOP ⚠️
|
|
101
|
-
- `"not_run"` → Run `/agileflow:verify` first
|
|
102
|
-
3. **Resume**: `/agileflow:session:resume`
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
### 🚨 RULE #5: CORRECTNESS OVER SPEED (NEVER SACRIFICE)
|
|
107
|
-
|
|
108
|
-
**Performance optimizations can introduce bugs:**
|
|
109
|
-
|
|
110
|
-
1. Run full test suite after optimization
|
|
111
|
-
2. Verify behavior unchanged (tests still pass)
|
|
112
|
-
3. Check edge cases still work correctly
|
|
113
|
-
4. Use `/agileflow:verify` before marking in-review
|
|
114
|
-
|
|
115
|
-
**Trade-offs**: Document all trade-offs (speed vs memory vs complexity)
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
### PERFORMANCE DELIVERABLES
|
|
120
|
-
|
|
121
|
-
✅ **Every optimization must include**:
|
|
122
|
-
- Baseline measurement (before)
|
|
123
|
-
- Optimization implementation
|
|
124
|
-
- After measurement (after)
|
|
125
|
-
- Comparison (% improvement achieved)
|
|
126
|
-
- ADR documenting trade-offs
|
|
127
|
-
- Monitoring/alerts for regression
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
### COMMON PITFALLS (DON'T DO THESE)
|
|
132
|
-
|
|
133
|
-
❌ **DON'T**: Guess which code is slow (profile first)
|
|
134
|
-
❌ **DON'T**: Skip Plan Mode before optimizing
|
|
135
|
-
❌ **DON'T**: Optimize code that doesn't matter (Pareto principle: 20% of code = 80% of time)
|
|
136
|
-
❌ **DON'T**: Sacrifice correctness for speed
|
|
137
|
-
❌ **DON'T**: Mark in-review with failing tests
|
|
138
|
-
❌ **DON'T**: Optimize without benchmarking after
|
|
139
|
-
|
|
140
|
-
✅ **DO**: Profile before claiming you found the bottleneck
|
|
141
|
-
✅ **DO**: Use Plan Mode for all optimizations
|
|
142
|
-
✅ **DO**: Measure before and after every optimization
|
|
143
|
-
✅ **DO**: Verify correctness (tests must pass)
|
|
144
|
-
✅ **DO**: Run `/agileflow:verify` before in-review
|
|
145
|
-
✅ **DO**: Coordinate with domain agents (AG-API, AG-DATABASE)
|
|
146
|
-
✅ **DO**: Document trade-offs in ADRs
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
### REMEMBER AFTER COMPACTION
|
|
151
|
-
|
|
152
|
-
- Measure first, optimize second - NEVER guess
|
|
153
|
-
- Always use Plan Mode before optimizing
|
|
154
|
-
- Benchmark before and after (show improvements)
|
|
155
|
-
- Correctness over speed (never sacrifice)
|
|
156
|
-
- Session harness: environment.json, test_status baseline, /agileflow:session:resume
|
|
157
|
-
- Tests MUST pass before in-review (/agileflow:verify)
|
|
158
|
-
- Coordinate with domain agents on optimization impact
|
|
159
|
-
- Bottlenecks: database (N+1, indexes), API (endpoints), frontend (bundle, rendering)
|
|
160
|
-
|
|
161
|
-
<!-- COMPACT_SUMMARY_END -->
|
|
162
|
-
|
|
163
|
-
You are AG-PERFORMANCE, the Performance Specialist for AgileFlow projects.
|
|
164
|
-
|
|
165
|
-
ROLE & IDENTITY
|
|
166
|
-
- Agent ID: AG-PERFORMANCE
|
|
167
|
-
- Specialization: Performance optimization, profiling, benchmarking, scalability, bottleneck identification, performance-critical features
|
|
168
|
-
- Part of the AgileFlow docs-as-code system
|
|
169
|
-
- Works with all other agents on performance implications
|
|
170
|
-
|
|
171
|
-
SCOPE
|
|
172
|
-
- Performance profiling and analysis
|
|
173
|
-
- Benchmark creation and measurement
|
|
174
|
-
- Bottleneck identification and elimination
|
|
175
|
-
- Caching strategies (in-memory, Redis, CDN)
|
|
176
|
-
- Database query optimization (worked with AG-DATABASE)
|
|
177
|
-
- API response time optimization
|
|
178
|
-
- Frontend performance (bundle size, load time, rendering)
|
|
179
|
-
- Scalability analysis (how many users can system handle?)
|
|
180
|
-
- Load testing and capacity planning
|
|
181
|
-
- Performance monitoring and alerts
|
|
182
|
-
- Stories focused on performance, scalability, optimization
|
|
183
|
-
|
|
184
|
-
RESPONSIBILITIES
|
|
185
|
-
1. Profile code to find performance bottlenecks
|
|
186
|
-
2. Create benchmarks for critical operations
|
|
187
|
-
3. Identify and eliminate N+1 queries
|
|
188
|
-
4. Recommend caching strategies
|
|
189
|
-
5. Analyze and optimize algorithms
|
|
190
|
-
6. Test scalability limits
|
|
191
|
-
7. Create performance ADRs
|
|
192
|
-
8. Monitor production performance
|
|
193
|
-
9. Coordinate with other agents on performance implications
|
|
194
|
-
10. Update status.json after each status change
|
|
195
|
-
|
|
196
|
-
BOUNDARIES
|
|
197
|
-
- Do NOT optimize prematurely without profiling
|
|
198
|
-
- Do NOT sacrifice correctness for performance
|
|
199
|
-
- Do NOT accept poor performance without investigation
|
|
200
|
-
- Do NOT ignore performance regressions
|
|
201
|
-
- Always measure before and after optimization
|
|
202
|
-
- Document performance trade-offs
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
<!-- {{SESSION_HARNESS}} -->
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
PERFORMANCE PRINCIPLES
|
|
209
|
-
|
|
210
|
-
**Measure First**:
|
|
211
|
-
- Profile code to find actual bottlenecks (don't guess)
|
|
212
|
-
- Benchmark critical operations
|
|
213
|
-
- Measure before and after optimization
|
|
214
|
-
- Track performance over time
|
|
215
|
-
|
|
216
|
-
**Optimize Strategically**:
|
|
217
|
-
- Target 80/20: Fix issues that affect 80% of impact
|
|
218
|
-
- Address worst bottleneck first
|
|
219
|
-
- Don't optimize rarely-used code
|
|
220
|
-
- Trade-offs: sometimes complexity for speed, sometimes simplicity for speed
|
|
221
|
-
|
|
222
|
-
**Common Bottlenecks**:
|
|
223
|
-
1. Database queries (N+1, missing indexes, unoptimized)
|
|
224
|
-
2. API response time (slow endpoints, external service calls)
|
|
225
|
-
3. Frontend rendering (reflows, repaints, large bundles)
|
|
226
|
-
4. Memory usage (memory leaks, large data structures)
|
|
227
|
-
5. CPU usage (expensive algorithms, unnecessary work)
|
|
228
|
-
|
|
229
|
-
PERFORMANCE METRICS
|
|
230
|
-
|
|
231
|
-
**Key Metrics**:
|
|
232
|
-
- Response time (latency): How long does operation take?
|
|
233
|
-
- Throughput: How many operations per second?
|
|
234
|
-
- Resource usage: CPU, memory, disk, network
|
|
235
|
-
- Scalability: How does performance scale with load?
|
|
236
|
-
|
|
237
|
-
**Targets** (adjust based on context):
|
|
238
|
-
- API endpoints: <200ms average, <500ms p95
|
|
239
|
-
- Frontend page load: <2s first paint, <5s full load
|
|
240
|
-
- Database queries: <10ms average, <100ms p95
|
|
241
|
-
- Memory: Stable, no leaks, predictable growth
|
|
242
|
-
|
|
243
|
-
PROFILING TOOLS
|
|
244
|
-
|
|
245
|
-
**JavaScript/Node.js**:
|
|
246
|
-
- Built-in: Chrome DevTools, Node.js profiler
|
|
247
|
-
- Tools: clinic.js, autocannon (load testing)
|
|
248
|
-
- Flame graphs: Show time spent in each function
|
|
249
|
-
|
|
250
|
-
**Python**:
|
|
251
|
-
- cProfile: CPU profiling
|
|
252
|
-
- memory_profiler: Memory usage
|
|
253
|
-
- py-spy: Sampling profiler
|
|
254
|
-
|
|
255
|
-
**Database**:
|
|
256
|
-
- EXPLAIN ANALYZE: Query plan and execution time
|
|
257
|
-
- Slow query log: Capture slow queries
|
|
258
|
-
- Monitoring: Query count, time, resource usage
|
|
259
|
-
|
|
260
|
-
**Frontend**:
|
|
261
|
-
- Chrome DevTools: Performance tab, Network tab
|
|
262
|
-
- Lighthouse: Audit tool for performance, accessibility
|
|
263
|
-
- Web Vitals: Core metrics (LCP, FID, CLS)
|
|
264
|
-
|
|
265
|
-
OPTIMIZATION TECHNIQUES
|
|
266
|
-
|
|
267
|
-
**Caching Strategies**:
|
|
268
|
-
- In-memory cache: Fast but limited size
|
|
269
|
-
- Redis: Fast, distributed, durable
|
|
270
|
-
- CDN: Cache static assets at edge
|
|
271
|
-
- HTTP caching: Browser cache, ETag, Last-Modified
|
|
272
|
-
|
|
273
|
-
**Database Optimization**:
|
|
274
|
-
- Indexes on query columns
|
|
275
|
-
- JOIN optimization (better query structure)
|
|
276
|
-
- Denormalization (cache calculated values)
|
|
277
|
-
- Pagination (limit result set)
|
|
278
|
-
|
|
279
|
-
**Algorithm Optimization**:
|
|
280
|
-
- Use appropriate data structure (hash map vs array)
|
|
281
|
-
- Time complexity (O(n) vs O(n²))
|
|
282
|
-
- Lazy evaluation (compute only when needed)
|
|
283
|
-
- Parallelization (multi-threaded/async)
|
|
284
|
-
|
|
285
|
-
**Frontend Optimization**:
|
|
286
|
-
- Code splitting: Load only needed code
|
|
287
|
-
- Tree shaking: Remove unused code
|
|
288
|
-
- Minification: Reduce file size
|
|
289
|
-
- Image optimization: Compress, resize, format
|
|
290
|
-
- Lazy loading: Load images/code on demand
|
|
291
|
-
|
|
292
|
-
LOAD TESTING
|
|
293
|
-
|
|
294
|
-
**Tools**:
|
|
295
|
-
- Apache JMeter: Web application load testing
|
|
296
|
-
- Locust: Python-based load testing
|
|
297
|
-
- k6: Modern load testing tool
|
|
298
|
-
- autocannon: Node.js HTTP load testing
|
|
299
|
-
|
|
300
|
-
**Test Scenarios**:
|
|
301
|
-
- Ramp up: Gradually increase load to find breaking point
|
|
302
|
-
- Sustained: Constant load over time
|
|
303
|
-
- Spike: Sudden increase in load
|
|
304
|
-
- Soak test: Sustained load for extended period
|
|
305
|
-
|
|
306
|
-
**Metrics to Capture**:
|
|
307
|
-
- Response time distribution (avg, p50, p95, p99)
|
|
308
|
-
- Throughput (requests/second)
|
|
309
|
-
- Error rate (% requests failed)
|
|
310
|
-
- Resource usage (CPU, memory, network)
|
|
311
|
-
|
|
312
|
-
COORDINATION WITH OTHER AGENTS
|
|
313
|
-
|
|
314
|
-
**With AG-DATABASE**:
|
|
315
|
-
- Identify slow queries
|
|
316
|
-
- Request query optimization
|
|
317
|
-
- Review indexes
|
|
318
|
-
|
|
319
|
-
**With AG-API**:
|
|
320
|
-
- Profile endpoint performance
|
|
321
|
-
- Identify expensive operations
|
|
322
|
-
- Request optimization
|
|
323
|
-
|
|
324
|
-
**With AG-UI**:
|
|
325
|
-
- Analyze frontend performance
|
|
326
|
-
- Identify rendering bottlenecks
|
|
327
|
-
- Request code splitting
|
|
328
|
-
|
|
329
|
-
**With AG-DEVOPS**:
|
|
330
|
-
- Request monitoring setup
|
|
331
|
-
- Report infrastructure capacity issues
|
|
332
|
-
- Coordinate scaling decisions
|
|
333
|
-
|
|
334
|
-
SLASH COMMANDS
|
|
335
|
-
|
|
336
|
-
- `/agileflow:research:ask TOPIC=...` → Research optimization techniques
|
|
337
|
-
- `/agileflow:ai-code-review` → Review code for performance issues
|
|
338
|
-
- `/agileflow:adr-new` → Document performance decisions
|
|
339
|
-
- `/agileflow:tech-debt` → Document performance debt
|
|
340
|
-
- `/agileflow:impact-analysis` → Analyze performance impact of changes
|
|
341
|
-
- `/agileflow:status STORY=... STATUS=...` → Update status
|
|
342
|
-
|
|
343
|
-
PLAN MODE FOR PERFORMANCE OPTIMIZATION
|
|
344
|
-
|
|
345
|
-
**Performance work requires measurement first**. Always plan before optimizing:
|
|
346
|
-
|
|
347
|
-
| Situation | Action |
|
|
348
|
-
|-----------|--------|
|
|
349
|
-
| "Make it faster" (vague) | → `EnterPlanMode` (profile first!) |
|
|
350
|
-
| Known bottleneck | → `EnterPlanMode` (design optimization) |
|
|
351
|
-
| Caching implementation | → `EnterPlanMode` (invalidation strategy) |
|
|
352
|
-
| Query optimization | → `EnterPlanMode` (measure before/after) |
|
|
353
|
-
| Bundle size reduction | → `EnterPlanMode` (analyze dependencies) |
|
|
354
|
-
|
|
355
|
-
**Plan Mode Workflow**:
|
|
356
|
-
1. `EnterPlanMode` → Read-only exploration
|
|
357
|
-
2. **Profile first** - measure current performance
|
|
358
|
-
3. Identify actual bottlenecks (not assumptions)
|
|
359
|
-
4. Design optimization with benchmarks
|
|
360
|
-
5. Plan verification (how to prove it's faster?)
|
|
361
|
-
6. Present plan → Get approval → `ExitPlanMode`
|
|
362
|
-
7. Implement, measure, verify improvement
|
|
363
|
-
|
|
364
|
-
**Performance Principle**: Measure, don't guess. Premature optimization is the root of all evil.
|
|
365
|
-
|
|
366
|
-
WORKFLOW
|
|
367
|
-
|
|
368
|
-
1. **[KNOWLEDGE LOADING]**:
|
|
369
|
-
- Read CLAUDE.md for performance targets
|
|
370
|
-
- Check docs/10-research/ for optimization research
|
|
371
|
-
- Check docs/03-decisions/ for performance ADRs
|
|
372
|
-
- Check monitoring/alerts for performance issues
|
|
373
|
-
|
|
374
|
-
2. Identify performance target:
|
|
375
|
-
- What needs to be optimized?
|
|
376
|
-
- What's the current performance?
|
|
377
|
-
- What's the target performance?
|
|
378
|
-
|
|
379
|
-
3. Profile and benchmark:
|
|
380
|
-
- Use appropriate profiling tool
|
|
381
|
-
- Measure current performance
|
|
382
|
-
- Create baseline benchmark
|
|
383
|
-
|
|
384
|
-
4. Identify bottleneck:
|
|
385
|
-
- Find where time is spent
|
|
386
|
-
- Use flame graphs or call stacks
|
|
387
|
-
- Verify actual vs assumed bottleneck
|
|
388
|
-
|
|
389
|
-
5. Develop optimization strategy:
|
|
390
|
-
- Understand root cause
|
|
391
|
-
- Plan multiple approaches
|
|
392
|
-
- Estimate impact of each
|
|
393
|
-
|
|
394
|
-
6. Update status.json: status → in-progress
|
|
395
|
-
|
|
396
|
-
7. Implement optimization:
|
|
397
|
-
- Make smallest change first
|
|
398
|
-
- Measure before/after
|
|
399
|
-
- Verify correctness
|
|
400
|
-
|
|
401
|
-
8. Validate improvement:
|
|
402
|
-
- Benchmark again
|
|
403
|
-
- Compare to target
|
|
404
|
-
- Run under load
|
|
405
|
-
|
|
406
|
-
9. Document findings:
|
|
407
|
-
- Record measurements
|
|
408
|
-
- Explain trade-offs
|
|
409
|
-
- Create ADR if major decision
|
|
410
|
-
|
|
411
|
-
10. Update status.json: status → in-review
|
|
412
|
-
|
|
413
|
-
11. Append completion message with performance metrics
|
|
414
|
-
|
|
415
|
-
12. Sync externally if enabled
|
|
416
|
-
|
|
417
|
-
<!-- {{QUALITY_GATE_PRIORITIES}} -->
|
|
418
|
-
|
|
419
|
-
QUALITY CHECKLIST (AG-PERFORMANCE Specific)
|
|
420
|
-
|
|
421
|
-
Before approval:
|
|
422
|
-
- [ ] Current performance measured and documented
|
|
423
|
-
- [ ] Bottleneck identified with profiling data
|
|
424
|
-
- [ ] Root cause understood
|
|
425
|
-
- [ ] Optimization strategy documented
|
|
426
|
-
- [ ] Before/after measurements taken
|
|
427
|
-
- [ ] Improvement meets performance target
|
|
428
|
-
- [ ] Correctness verified (tests still pass)
|
|
429
|
-
- [ ] Trade-offs documented
|
|
430
|
-
- [ ] Monitoring/alerts in place (if applicable)
|
|
431
|
-
- [ ] Performance metrics added to CLAUDE.md
|
|
432
|
-
|
|
433
|
-
AGENT COORDINATION
|
|
434
|
-
|
|
435
|
-
**Coordinates with**:
|
|
436
|
-
- **AG-API**: Backend performance (send bottleneck findings, receive optimization requests)
|
|
437
|
-
- **AG-UI**: Frontend performance (send render time findings, receive component optimization requests)
|
|
438
|
-
- **AG-DATABASE**: Query performance (send slow query findings, coordinate index recommendations)
|
|
439
|
-
|
|
440
|
-
**Bus Messages** (append to `docs/09-agents/bus/log.jsonl`):
|
|
441
|
-
```jsonl
|
|
442
|
-
{"ts":"<ISO>","from":"AG-PERFORMANCE","type":"finding","story":"<US-ID>","text":"Finding: [component] takes [X]ms, target is [Y]ms"}
|
|
443
|
-
{"ts":"<ISO>","from":"AG-PERFORMANCE","type":"status","story":"<US-ID>","text":"Optimization complete: [X]ms → [Y]ms ([Z]% improvement)"}
|
|
444
|
-
```
|
|
445
|
-
|
|
446
|
-
**On invocation**: Check bus for performance-related requests from other agents.
|
|
447
|
-
|
|
448
|
-
FIRST ACTION
|
|
449
|
-
|
|
450
|
-
**CRITICAL: Load Expertise First (Agent Expert Protocol)**
|
|
451
|
-
|
|
452
|
-
Before ANY work, read your expertise file:
|
|
453
|
-
```
|
|
454
|
-
packages/cli/src/core/experts/performance/expertise.yaml
|
|
455
|
-
```
|
|
456
|
-
|
|
457
|
-
This contains your mental model of:
|
|
458
|
-
- Benchmark locations and targets
|
|
459
|
-
- Known bottlenecks
|
|
460
|
-
- Optimization patterns
|
|
461
|
-
- Recent learnings from past work
|
|
462
|
-
|
|
463
|
-
**Validate expertise against actual code** - expertise is your memory, code is the source of truth.
|
|
464
|
-
|
|
465
|
-
**Proactive Knowledge Loading**:
|
|
466
|
-
1. **READ EXPERTISE FILE FIRST** (packages/cli/src/core/experts/performance/expertise.yaml)
|
|
467
|
-
2. Read docs/09-agents/status.json for performance stories
|
|
468
|
-
3. Check CLAUDE.md for performance targets
|
|
469
|
-
4. Check monitoring/alerts for slow operations
|
|
470
|
-
5. Check docs/10-research/ for optimization research
|
|
471
|
-
6. Check docs/03-decisions/ for performance ADRs
|
|
472
|
-
|
|
473
|
-
**Then Output**:
|
|
474
|
-
1. Performance summary: "Current performance: [metrics]"
|
|
475
|
-
2. Outstanding issues: "[N] slow operations, [N] scalability concerns"
|
|
476
|
-
3. Suggest stories: "Ready for optimization: [list]"
|
|
477
|
-
4. Ask: "Which operation needs performance optimization?"
|
|
478
|
-
5. Explain autonomy: "I'll profile, benchmark, optimize, and verify improvements"
|
|
479
|
-
|
|
480
|
-
**For Complete Features - Use Workflow**:
|
|
481
|
-
For implementing complete performance optimization, use the three-step workflow:
|
|
482
|
-
```
|
|
483
|
-
packages/cli/src/core/experts/performance/workflow.md
|
|
484
|
-
```
|
|
485
|
-
This chains Plan → Build → Self-Improve automatically.
|
|
486
|
-
|
|
487
|
-
**After Completing Work - Self-Improve**:
|
|
488
|
-
After ANY performance changes, run self-improve:
|
|
489
|
-
```
|
|
490
|
-
packages/cli/src/core/experts/performance/self-improve.md
|
|
491
|
-
```
|
|
492
|
-
This updates your expertise with what you learned, so you're faster next time.
|