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,864 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Generate detailed research prompt for web AI tools (ChatGPT, Perplexity, etc.)
|
|
3
|
-
argument-hint: "TOPIC=<text> [DETAILS=<text>] [ERROR=<text>]"
|
|
4
|
-
type: output-only # This command generates output for user to copy - not an ongoing task
|
|
5
|
-
compact_context:
|
|
6
|
-
priority: critical
|
|
7
|
-
preserve_rules:
|
|
8
|
-
- "ACTIVE COMMAND: /agileflow:research:ask - Generate research prompt for external AI"
|
|
9
|
-
- "MUST generate 200+ lines minimum (FAIL and regenerate if shorter)"
|
|
10
|
-
- "MUST include 50+ lines of ACTUAL code from user's codebase (not pseudo-code)"
|
|
11
|
-
- "MUST include exact error messages verbatim if troubleshooting"
|
|
12
|
-
- "MUST list 2+ approaches already tried with detailed results"
|
|
13
|
-
- "MUST ask 3+ specific questions (not vague)"
|
|
14
|
-
- "OUTPUT-ONLY by default - optional save to docs/10-research/prompts/"
|
|
15
|
-
- "Validation required before output: length, code snippets, error details, attempts, questions"
|
|
16
|
-
- "If validation fails: gather missing info and regenerate"
|
|
17
|
-
state_fields:
|
|
18
|
-
- topic
|
|
19
|
-
- error_message
|
|
20
|
-
- codebase_context
|
|
21
|
-
- attempts_tried
|
|
22
|
-
- prompt_generated
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
# /agileflow:research:ask
|
|
26
|
-
|
|
27
|
-
Generate a comprehensive, detailed research prompt for external AI tools.
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## Purpose
|
|
32
|
-
|
|
33
|
-
When you need external research (from ChatGPT, Perplexity, Claude web, Gemini), this command generates a **detailed, context-rich prompt** that includes:
|
|
34
|
-
- Your current codebase context and code snippets
|
|
35
|
-
- Exact error messages and stack traces
|
|
36
|
-
- What you've already tried
|
|
37
|
-
- Specific questions to answer
|
|
38
|
-
|
|
39
|
-
**This is STEP 1 of research workflow.** After you get results from the external AI, use `/agileflow:research:import` to save them.
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## STEP 0: Gather Context
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
node .agileflow/scripts/obtain-context.js research:ask
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
<!-- COMPACT_SUMMARY_START -->
|
|
52
|
-
|
|
53
|
-
## ⚠️ COMPACT SUMMARY - /agileflow:research:ask IS ACTIVE
|
|
54
|
-
|
|
55
|
-
**CRITICAL**: You are running `/agileflow:research:ask`. Generate detailed research prompts for external AI tools.
|
|
56
|
-
|
|
57
|
-
**ROLE**: Generate 200+ line research prompt with actual code, errors, attempts, and specific questions.
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
### 🚨 RULE #1: MINIMUM 200 LINES REQUIRED
|
|
62
|
-
|
|
63
|
-
**Every research prompt MUST be 200+ lines. If it's shorter, gather more context and regenerate.**
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
❌ WRONG: "How do I implement OAuth in Next.js?" (too short)
|
|
67
|
-
✅ RIGHT: [200+ line detailed prompt with code, error, attempts, questions]
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**Why**: Vague short prompts get vague short answers. Detailed prompts get actionable results.
|
|
71
|
-
|
|
72
|
-
**Validation step (BEFORE outputting):**
|
|
73
|
-
- Count lines in the generated prompt
|
|
74
|
-
- If < 200 lines: gather more context and regenerate
|
|
75
|
-
- Do NOT output incomplete prompts
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
### 🚨 RULE #2: INCLUDE 50+ LINES OF ACTUAL CODE
|
|
80
|
-
|
|
81
|
-
**Include actual code from the user's codebase, not pseudo-code or summaries.**
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
❌ WRONG:
|
|
85
|
-
```typescript
|
|
86
|
-
// User authentication logic
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
✅ RIGHT:
|
|
90
|
-
```typescript
|
|
91
|
-
import NextAuth from "next-auth";
|
|
92
|
-
import Google from "next-auth/providers/google";
|
|
93
|
-
|
|
94
|
-
export const { handlers, auth, signIn, signOut } = NextAuth({
|
|
95
|
-
providers: [
|
|
96
|
-
Google({
|
|
97
|
-
clientId: process.env.GOOGLE_CLIENT_ID!,
|
|
98
|
-
clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
|
|
99
|
-
}),
|
|
100
|
-
],
|
|
101
|
-
callbacks: {
|
|
102
|
-
async jwt({ token, user }) {
|
|
103
|
-
if (user) {
|
|
104
|
-
token.id = user.id;
|
|
105
|
-
}
|
|
106
|
-
return token;
|
|
107
|
-
},
|
|
108
|
-
},
|
|
109
|
-
});
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
**How to get code:**
|
|
113
|
-
- Read relevant source files using Read tool
|
|
114
|
-
- Extract 50+ lines from actual implementation
|
|
115
|
-
- Include imports, configuration, any relevant code
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
### 🚨 RULE #3: INCLUDE EXACT ERROR MESSAGES
|
|
120
|
-
|
|
121
|
-
**If troubleshooting, include the EXACT error verbatim. Not a summary, not paraphrased.**
|
|
122
|
-
|
|
123
|
-
```
|
|
124
|
-
❌ WRONG: "I'm getting an authentication error"
|
|
125
|
-
✅ RIGHT:
|
|
126
|
-
```
|
|
127
|
-
[auth][error] CallbackRouteError: Read more at https://errors.authjs.dev#callbackrouteerror
|
|
128
|
-
[auth][cause]: Error: unauthorized_client
|
|
129
|
-
```
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
**Include:**
|
|
133
|
-
- Full error message (copy-pasted exactly)
|
|
134
|
-
- Complete stack trace if available
|
|
135
|
-
- When it occurs (which endpoint, which action)
|
|
136
|
-
- Steps to reproduce
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
### 🚨 RULE #4: LIST WHAT WAS ALREADY TRIED (2+ APPROACHES)
|
|
141
|
-
|
|
142
|
-
**Document what approaches were already attempted and why they didn't work.**
|
|
143
|
-
|
|
144
|
-
Format:
|
|
145
|
-
```
|
|
146
|
-
## What We've Already Tried
|
|
147
|
-
|
|
148
|
-
### Attempt 1: [Description]
|
|
149
|
-
**What we did**: [Detailed explanation]
|
|
150
|
-
**Result**: [What happened]
|
|
151
|
-
**Why it didn't work**: [Analysis of why this approach failed]
|
|
152
|
-
|
|
153
|
-
### Attempt 2: [Description]
|
|
154
|
-
**What we did**: [Detailed explanation]
|
|
155
|
-
**Result**: [What happened]
|
|
156
|
-
**Why it didn't work**: [Analysis]
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
**This helps external AI:**
|
|
160
|
-
- Avoid suggesting same solutions
|
|
161
|
-
- Understand what's been ruled out
|
|
162
|
-
- Provide alternative approaches
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
### 🚨 RULE #5: ASK 3+ SPECIFIC QUESTIONS
|
|
167
|
-
|
|
168
|
-
**Ask specific, answerable questions. NOT vague ones.**
|
|
169
|
-
|
|
170
|
-
```
|
|
171
|
-
❌ WRONG:
|
|
172
|
-
- How do I fix OAuth?
|
|
173
|
-
- What should I do?
|
|
174
|
-
- Why isn't this working?
|
|
175
|
-
|
|
176
|
-
✅ RIGHT:
|
|
177
|
-
1. Why does next-auth 5.0.0-beta.4 throw unauthorized_client when credentials are verified correct?
|
|
178
|
-
2. Is there additional configuration needed for Google OAuth with Next.js 14 App Router?
|
|
179
|
-
3. What's the correct format for authorized redirect URIs in Google Console for next-auth v5?
|
|
180
|
-
4. Are there known issues with next-auth 5.0.0-beta.4 and the Google provider?
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
**Good questions:**
|
|
184
|
-
- Reference specific libraries/versions
|
|
185
|
-
- Ask about trade-offs ("Should we use X or Y?")
|
|
186
|
-
- Ask about configuration details
|
|
187
|
-
- Ask about known issues
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
### 🚨 RULE #6: MANDATORY SECTIONS (IN ORDER)
|
|
192
|
-
|
|
193
|
-
Every research prompt MUST have:
|
|
194
|
-
|
|
195
|
-
1. **Project Context** - Framework, versions, dependencies
|
|
196
|
-
2. **Current Implementation** - 50+ lines of actual code
|
|
197
|
-
3. **The Problem** - Error message, expected vs actual behavior
|
|
198
|
-
4. **What We've Tried** - 2+ approaches with results
|
|
199
|
-
5. **Specific Questions** - 3+ detailed questions
|
|
200
|
-
6. **What We Need** - Expected response format
|
|
201
|
-
7. **Environment Details** - Versions, OS, setup
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
### 🚨 RULE #7: OUTPUT-ONLY BY DEFAULT (OPTIONAL SAVE)
|
|
206
|
-
|
|
207
|
-
**This command generates a prompt for copy/paste. Optionally save to prompts directory after displaying.**
|
|
208
|
-
|
|
209
|
-
```
|
|
210
|
-
❌ WRONG: Save prompt WITHOUT also displaying for copy/paste
|
|
211
|
-
✅ RIGHT: Output prompt in code block, then offer to save to docs/10-research/prompts/
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
**Save flow (if user selects save):**
|
|
215
|
-
1. Create `docs/10-research/prompts/` directory if needed
|
|
216
|
-
2. Save as `docs/10-research/prompts/YYYYMMDD-prompt-<topic-slug>.md`
|
|
217
|
-
3. Update `docs/10-research/README.md` with 5-column entry (Type=Prompt)
|
|
218
|
-
4. Confirm save location
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
### VALIDATION CHECKLIST (BEFORE OUTPUT)
|
|
223
|
-
|
|
224
|
-
**Before outputting, verify ALL:**
|
|
225
|
-
|
|
226
|
-
| Check | Requirement | If Fail |
|
|
227
|
-
|-------|-------------|---------|
|
|
228
|
-
| Length | ≥200 lines | Add more context and regenerate |
|
|
229
|
-
| Code | ≥50 lines actual code | Read more files and extract code |
|
|
230
|
-
| Error | Verbatim message present | Ask user for exact error message |
|
|
231
|
-
| Tried | ≥2 approaches listed | Ask what was already attempted |
|
|
232
|
-
| Questions | ≥3 specific questions | Add more detailed questions |
|
|
233
|
-
|
|
234
|
-
**If ANY check fails:**
|
|
235
|
-
1. Do NOT output the prompt
|
|
236
|
-
2. Gather the missing information
|
|
237
|
-
3. Regenerate with complete content
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
### ANTI-PATTERNS (DON'T DO THESE)
|
|
242
|
-
|
|
243
|
-
❌ Generate short vague prompts ("How do I do X?")
|
|
244
|
-
❌ Include pseudo-code instead of actual code
|
|
245
|
-
❌ Summarize errors instead of including verbatim
|
|
246
|
-
❌ List no or vague attempted solutions
|
|
247
|
-
❌ Ask generic questions without context
|
|
248
|
-
❌ Output prompt shorter than 200 lines
|
|
249
|
-
❌ Save prompt WITHOUT also displaying for copy/paste
|
|
250
|
-
❌ Skip validation before outputting
|
|
251
|
-
|
|
252
|
-
### DO THESE INSTEAD
|
|
253
|
-
|
|
254
|
-
✅ Generate detailed 200+ line prompts
|
|
255
|
-
✅ Include 50+ lines of actual code from codebase
|
|
256
|
-
✅ Include exact error messages verbatim
|
|
257
|
-
✅ List 2+ specific attempts with detailed results
|
|
258
|
-
✅ Ask 3+ specific, contextualized questions
|
|
259
|
-
✅ Validate prompt quality before outputting
|
|
260
|
-
✅ Display prompt in code block for user copy/paste
|
|
261
|
-
✅ Offer to save prompt to docs/10-research/prompts/ after displaying
|
|
262
|
-
✅ Instruct user where to paste results back
|
|
263
|
-
|
|
264
|
-
---
|
|
265
|
-
|
|
266
|
-
### WORKFLOW
|
|
267
|
-
|
|
268
|
-
**Phase 1: Gather Context**
|
|
269
|
-
1. Read package.json / pyproject.toml for versions
|
|
270
|
-
2. Read relevant source files for code snippets
|
|
271
|
-
3. Get project overview from README/CLAUDE.md
|
|
272
|
-
|
|
273
|
-
**Phase 2: Extract Information**
|
|
274
|
-
4. Get error message (if ERROR argument provided)
|
|
275
|
-
5. Identify what was already tried
|
|
276
|
-
6. Understand the tech stack
|
|
277
|
-
|
|
278
|
-
**Phase 3: Generate Prompt**
|
|
279
|
-
7. Create structured prompt with mandatory sections
|
|
280
|
-
8. Include 50+ lines of actual code
|
|
281
|
-
9. Include exact error messages
|
|
282
|
-
10. List 2+ attempted approaches
|
|
283
|
-
11. Ask 3+ specific questions
|
|
284
|
-
|
|
285
|
-
**Phase 4: Validate Quality**
|
|
286
|
-
12. Check length ≥200 lines
|
|
287
|
-
13. Verify code snippets ≥50 lines
|
|
288
|
-
14. Verify error details if applicable
|
|
289
|
-
15. Verify 2+ attempts listed
|
|
290
|
-
16. Verify 3+ specific questions
|
|
291
|
-
17. If any check fails: gather more info and regenerate
|
|
292
|
-
|
|
293
|
-
**Phase 5: Output**
|
|
294
|
-
18. Display prompt in code block
|
|
295
|
-
19. Instruct user: "Copy this prompt and paste into ChatGPT/Claude/Perplexity"
|
|
296
|
-
20. Provide post-answer instructions: "When you get results, use /agileflow:research:import to save"
|
|
297
|
-
21. Offer to save prompt to `docs/10-research/prompts/YYYYMMDD-prompt-<topic-slug>.md`
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
### KEY FILES
|
|
302
|
-
|
|
303
|
-
| File | Purpose |
|
|
304
|
-
|------|---------|
|
|
305
|
-
| `package.json` | Dependency versions, framework info |
|
|
306
|
-
| `README.md` / `CLAUDE.md` | Project overview |
|
|
307
|
-
| Source files | Code to extract for snippets |
|
|
308
|
-
|
|
309
|
-
---
|
|
310
|
-
|
|
311
|
-
### PROMPT TEMPLATE
|
|
312
|
-
|
|
313
|
-
```markdown
|
|
314
|
-
# Research Request: [TOPIC]
|
|
315
|
-
|
|
316
|
-
## Project Context
|
|
317
|
-
|
|
318
|
-
**Framework**: [e.g., Next.js 14.0.4 with App Router]
|
|
319
|
-
**Key Dependencies**:
|
|
320
|
-
- [dependency]: [version]
|
|
321
|
-
- [dependency]: [version]
|
|
322
|
-
|
|
323
|
-
---
|
|
324
|
-
|
|
325
|
-
## Current Implementation
|
|
326
|
-
|
|
327
|
-
### File: [path/to/file.ts]
|
|
328
|
-
|
|
329
|
-
[50+ lines of actual code]
|
|
330
|
-
|
|
331
|
-
---
|
|
332
|
-
|
|
333
|
-
## The Problem
|
|
334
|
-
|
|
335
|
-
### Error Message
|
|
336
|
-
[EXACT error, copied verbatim]
|
|
337
|
-
|
|
338
|
-
### Expected vs Actual
|
|
339
|
-
Expected: [What should happen]
|
|
340
|
-
Actual: [What actually happens]
|
|
341
|
-
|
|
342
|
-
---
|
|
343
|
-
|
|
344
|
-
## What We've Already Tried
|
|
345
|
-
|
|
346
|
-
### Attempt 1: [Description]
|
|
347
|
-
**What**: [Details]
|
|
348
|
-
**Result**: [What happened]
|
|
349
|
-
|
|
350
|
-
### Attempt 2: [Description]
|
|
351
|
-
**What**: [Details]
|
|
352
|
-
**Result**: [What happened]
|
|
353
|
-
|
|
354
|
-
---
|
|
355
|
-
|
|
356
|
-
## Specific Questions
|
|
357
|
-
|
|
358
|
-
1. **[Specific question with context]**
|
|
359
|
-
2. **[Specific question with context]**
|
|
360
|
-
3. **[Specific question with context]**
|
|
361
|
-
|
|
362
|
-
---
|
|
363
|
-
|
|
364
|
-
## What We Need
|
|
365
|
-
|
|
366
|
-
1. Root cause analysis
|
|
367
|
-
2. Step-by-step solution
|
|
368
|
-
3. Complete code examples
|
|
369
|
-
4. Testing approach
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
---
|
|
373
|
-
|
|
374
|
-
### REMEMBER AFTER COMPACTION
|
|
375
|
-
|
|
376
|
-
- `/agileflow:research:ask` IS ACTIVE - you're generating research prompts
|
|
377
|
-
- MUST generate 200+ lines minimum
|
|
378
|
-
- MUST include 50+ lines of actual code (not pseudo-code)
|
|
379
|
-
- MUST include exact error messages verbatim if applicable
|
|
380
|
-
- MUST list 2+ attempts with detailed results
|
|
381
|
-
- MUST ask 3+ specific questions
|
|
382
|
-
- Validate all checks BEFORE outputting
|
|
383
|
-
- Output-only by default - optional save to docs/10-research/prompts/
|
|
384
|
-
- After user gets results, they use /agileflow:research:import to save
|
|
385
|
-
|
|
386
|
-
<!-- COMPACT_SUMMARY_END -->
|
|
387
|
-
|
|
388
|
-
---
|
|
389
|
-
|
|
390
|
-
## Arguments
|
|
391
|
-
|
|
392
|
-
| Argument | Required | Description |
|
|
393
|
-
|----------|----------|-------------|
|
|
394
|
-
| TOPIC | Yes | What you're researching (e.g., "OAuth 2.0 with Google") |
|
|
395
|
-
| DETAILS | No | Constraints, deadlines, or specific requirements |
|
|
396
|
-
| ERROR | No | Exact error message if troubleshooting |
|
|
397
|
-
|
|
398
|
-
---
|
|
399
|
-
|
|
400
|
-
## IMMEDIATE ACTIONS
|
|
401
|
-
|
|
402
|
-
Upon invocation, execute these steps:
|
|
403
|
-
|
|
404
|
-
### Step 1: Create Todo List
|
|
405
|
-
|
|
406
|
-
```xml
|
|
407
|
-
<invoke name="TaskCreate/TaskUpdate">
|
|
408
|
-
<parameter name="todos">[
|
|
409
|
-
{"content": "Gather codebase context", "status": "in_progress", "activeForm": "Gathering context"},
|
|
410
|
-
{"content": "Extract relevant code snippets", "status": "pending", "activeForm": "Extracting code"},
|
|
411
|
-
{"content": "Collect error details", "status": "pending", "activeForm": "Collecting errors"},
|
|
412
|
-
{"content": "Document what was tried", "status": "pending", "activeForm": "Documenting attempts"},
|
|
413
|
-
{"content": "Generate research prompt", "status": "pending", "activeForm": "Generating prompt"},
|
|
414
|
-
{"content": "Validate prompt quality", "status": "pending", "activeForm": "Validating quality"}
|
|
415
|
-
]</parameter>
|
|
416
|
-
</invoke>
|
|
417
|
-
```
|
|
418
|
-
|
|
419
|
-
### Step 2: Gather Codebase Context
|
|
420
|
-
|
|
421
|
-
Read and collect:
|
|
422
|
-
- `package.json` or `pyproject.toml` - Framework, dependencies, versions
|
|
423
|
-
- `docs/context.md` - Project overview if exists
|
|
424
|
-
- `docs/09-agents/status.json` - Current story context
|
|
425
|
-
- Relevant source files for the TOPIC
|
|
426
|
-
|
|
427
|
-
### Step 3: Extract Relevant Code Snippets
|
|
428
|
-
|
|
429
|
-
Find files related to TOPIC and extract **50+ lines of actual code**:
|
|
430
|
-
- Current implementation
|
|
431
|
-
- Related configuration files
|
|
432
|
-
- Import statements and dependencies
|
|
433
|
-
|
|
434
|
-
### Step 4: Collect Error Details (if applicable)
|
|
435
|
-
|
|
436
|
-
If ERROR argument provided or troubleshooting:
|
|
437
|
-
- Full error message (verbatim)
|
|
438
|
-
- Complete stack trace
|
|
439
|
-
- Steps to reproduce
|
|
440
|
-
- When it occurs
|
|
441
|
-
|
|
442
|
-
### Step 5: Document What Was Already Tried
|
|
443
|
-
|
|
444
|
-
If fixing an issue, list **at least 2 approaches** with results:
|
|
445
|
-
- Approach 1: [description] → Result: [what happened]
|
|
446
|
-
- Approach 2: [description] → Result: [what happened]
|
|
447
|
-
|
|
448
|
-
### Step 6: Generate Research Prompt
|
|
449
|
-
|
|
450
|
-
Create a prompt with these **MANDATORY SECTIONS**:
|
|
451
|
-
|
|
452
|
-
```markdown
|
|
453
|
-
# Research Request: [TOPIC]
|
|
454
|
-
|
|
455
|
-
## Project Context
|
|
456
|
-
|
|
457
|
-
**Framework**: [e.g., Next.js 14.0.4 with App Router]
|
|
458
|
-
**Key Dependencies**:
|
|
459
|
-
- [dependency]: [version]
|
|
460
|
-
- [dependency]: [version]
|
|
461
|
-
|
|
462
|
-
**Relevant Files**:
|
|
463
|
-
- `src/auth/login.ts` - Authentication logic
|
|
464
|
-
- `src/api/users.ts` - User API endpoints
|
|
465
|
-
- [list all relevant files]
|
|
466
|
-
|
|
467
|
-
---
|
|
468
|
-
|
|
469
|
-
## Current Implementation
|
|
470
|
-
|
|
471
|
-
### File: [path/to/file.ts]
|
|
472
|
-
|
|
473
|
-
```typescript
|
|
474
|
-
// [50+ lines of actual code from your codebase]
|
|
475
|
-
// DO NOT summarize - include the FULL relevant code
|
|
476
|
-
```
|
|
477
|
-
|
|
478
|
-
### File: [path/to/config.ts]
|
|
479
|
-
|
|
480
|
-
```typescript
|
|
481
|
-
// [Additional relevant code]
|
|
482
|
-
```
|
|
483
|
-
|
|
484
|
-
---
|
|
485
|
-
|
|
486
|
-
## The Problem
|
|
487
|
-
|
|
488
|
-
### Error Message
|
|
489
|
-
```
|
|
490
|
-
[EXACT error message, copied verbatim]
|
|
491
|
-
```
|
|
492
|
-
|
|
493
|
-
### Stack Trace
|
|
494
|
-
```
|
|
495
|
-
[FULL stack trace if available]
|
|
496
|
-
```
|
|
497
|
-
|
|
498
|
-
### Expected Behavior
|
|
499
|
-
[What SHOULD happen]
|
|
500
|
-
|
|
501
|
-
### Actual Behavior
|
|
502
|
-
[What ACTUALLY happens]
|
|
503
|
-
|
|
504
|
-
### Steps to Reproduce
|
|
505
|
-
1. [Step 1]
|
|
506
|
-
2. [Step 2]
|
|
507
|
-
3. [Step 3]
|
|
508
|
-
|
|
509
|
-
---
|
|
510
|
-
|
|
511
|
-
## What We've Already Tried
|
|
512
|
-
|
|
513
|
-
### Attempt 1: [Description]
|
|
514
|
-
**What we did**: [Detailed explanation]
|
|
515
|
-
**Result**: [What happened - did it fail? How?]
|
|
516
|
-
**Why it didn't work**: [Analysis]
|
|
517
|
-
|
|
518
|
-
### Attempt 2: [Description]
|
|
519
|
-
**What we did**: [Detailed explanation]
|
|
520
|
-
**Result**: [What happened]
|
|
521
|
-
**Why it didn't work**: [Analysis]
|
|
522
|
-
|
|
523
|
-
### Attempt 3: [Description] (if applicable)
|
|
524
|
-
**What we did**: [Detailed explanation]
|
|
525
|
-
**Result**: [What happened]
|
|
526
|
-
|
|
527
|
-
---
|
|
528
|
-
|
|
529
|
-
## Specific Questions
|
|
530
|
-
|
|
531
|
-
1. **Why is [specific thing] happening?**
|
|
532
|
-
Context: [relevant detail]
|
|
533
|
-
|
|
534
|
-
2. **What is the correct way to [do X] in [framework version]?**
|
|
535
|
-
Context: [current approach that's failing]
|
|
536
|
-
|
|
537
|
-
3. **Are there known compatibility issues between [A] and [B]?**
|
|
538
|
-
Context: [why you suspect this]
|
|
539
|
-
|
|
540
|
-
4. **What configuration am I missing for [feature]?**
|
|
541
|
-
Context: [current config]
|
|
542
|
-
|
|
543
|
-
---
|
|
544
|
-
|
|
545
|
-
## What I Need
|
|
546
|
-
|
|
547
|
-
Please provide:
|
|
548
|
-
|
|
549
|
-
1. **Root cause analysis**: Why is this happening?
|
|
550
|
-
|
|
551
|
-
2. **Step-by-step solution** with:
|
|
552
|
-
- Exact code changes needed
|
|
553
|
-
- File paths where changes go
|
|
554
|
-
- Order of operations
|
|
555
|
-
|
|
556
|
-
3. **Complete code examples** that I can copy-paste
|
|
557
|
-
|
|
558
|
-
4. **Gotchas and edge cases** to watch for
|
|
559
|
-
|
|
560
|
-
5. **Testing approach** to verify the fix works
|
|
561
|
-
|
|
562
|
-
---
|
|
563
|
-
|
|
564
|
-
## Environment Details
|
|
565
|
-
|
|
566
|
-
- **Node.js**: [version]
|
|
567
|
-
- **npm/yarn/pnpm**: [version]
|
|
568
|
-
- **OS**: [operating system]
|
|
569
|
-
- **Relevant versions**: [list any relevant tool versions]
|
|
570
|
-
|
|
571
|
-
---
|
|
572
|
-
|
|
573
|
-
## References
|
|
574
|
-
|
|
575
|
-
If citing documentation or examples, please include:
|
|
576
|
-
- Source title
|
|
577
|
-
- URL
|
|
578
|
-
- Date accessed (for version relevance)
|
|
579
|
-
```
|
|
580
|
-
|
|
581
|
-
### Step 7: Validate Prompt Quality
|
|
582
|
-
|
|
583
|
-
**Before outputting, verify ALL of these:**
|
|
584
|
-
|
|
585
|
-
| Check | Requirement | If Fail |
|
|
586
|
-
|-------|-------------|---------|
|
|
587
|
-
| Length | ≥200 lines | Add more code/context |
|
|
588
|
-
| Code snippets | ≥50 lines actual code | Read more files |
|
|
589
|
-
| Error details | Verbatim message present | Ask user for error |
|
|
590
|
-
| Tried section | ≥2 approaches listed | Ask what was tried |
|
|
591
|
-
| Questions | ≥3 specific questions | Add more questions |
|
|
592
|
-
|
|
593
|
-
**If ANY check fails:**
|
|
594
|
-
1. Do NOT output the prompt
|
|
595
|
-
2. Gather the missing information
|
|
596
|
-
3. Regenerate with complete content
|
|
597
|
-
|
|
598
|
-
### Step 8: Output the Prompt
|
|
599
|
-
|
|
600
|
-
Wrap the final prompt in a code block:
|
|
601
|
-
|
|
602
|
-
````
|
|
603
|
-
```markdown
|
|
604
|
-
[Complete research prompt here - 200+ lines]
|
|
605
|
-
```
|
|
606
|
-
````
|
|
607
|
-
|
|
608
|
-
End with instructions:
|
|
609
|
-
|
|
610
|
-
```
|
|
611
|
-
---
|
|
612
|
-
|
|
613
|
-
Copy this prompt and paste it into ChatGPT, Claude web, Perplexity, or Gemini.
|
|
614
|
-
|
|
615
|
-
When you get the answer, paste the results here and I'll save them to your research folder using `/agileflow:research:import`.
|
|
616
|
-
```
|
|
617
|
-
|
|
618
|
-
### Step 8b: Save Prompt (if user selects save)
|
|
619
|
-
|
|
620
|
-
If the user selects "Save prompt to docs/10-research/prompts/":
|
|
621
|
-
|
|
622
|
-
1. **Create directories** if they don't exist:
|
|
623
|
-
- Ensure `docs/10-research/` exists (create if needed on fresh projects)
|
|
624
|
-
- Ensure `docs/10-research/prompts/` exists
|
|
625
|
-
|
|
626
|
-
2. **Generate filename**: `YYYYMMDD-prompt-<topic-slug>.md`
|
|
627
|
-
- Use today's date
|
|
628
|
-
- Slugify the TOPIC (lowercase, hyphens, no special chars)
|
|
629
|
-
|
|
630
|
-
3. **Save the prompt** to `docs/10-research/prompts/YYYYMMDD-prompt-<topic-slug>.md`
|
|
631
|
-
|
|
632
|
-
4. **Update README index** - Add entry to `docs/10-research/README.md`:
|
|
633
|
-
```markdown
|
|
634
|
-
| YYYY-MM-DD | [TOPIC] Research Prompt | Prompt | [prompts/YYYYMMDD-prompt-topic-slug.md](./prompts/YYYYMMDD-prompt-topic-slug.md) | Research prompt for [TOPIC]: [N] files referenced, [M] questions |
|
|
635
|
-
```
|
|
636
|
-
|
|
637
|
-
5. **Confirm save**:
|
|
638
|
-
```
|
|
639
|
-
Saved prompt to docs/10-research/prompts/YYYYMMDD-prompt-<topic-slug>.md
|
|
640
|
-
Updated research index (README.md)
|
|
641
|
-
```
|
|
642
|
-
|
|
643
|
-
---
|
|
644
|
-
|
|
645
|
-
## Anti-Pattern: Lazy Prompts
|
|
646
|
-
|
|
647
|
-
**NEVER generate short, vague prompts like:**
|
|
648
|
-
|
|
649
|
-
```
|
|
650
|
-
"How do I fix OAuth in Next.js?"
|
|
651
|
-
```
|
|
652
|
-
|
|
653
|
-
or
|
|
654
|
-
|
|
655
|
-
```
|
|
656
|
-
"Getting an error with authentication, how to fix?"
|
|
657
|
-
```
|
|
658
|
-
|
|
659
|
-
**ALWAYS generate detailed prompts with:**
|
|
660
|
-
- Actual code from the codebase
|
|
661
|
-
- Exact error messages
|
|
662
|
-
- What was already tried
|
|
663
|
-
- Specific questions
|
|
664
|
-
|
|
665
|
-
---
|
|
666
|
-
|
|
667
|
-
## Example: Good vs Bad
|
|
668
|
-
|
|
669
|
-
### BAD (Don't do this)
|
|
670
|
-
|
|
671
|
-
```markdown
|
|
672
|
-
# OAuth Issue
|
|
673
|
-
|
|
674
|
-
I'm having trouble with OAuth in my Next.js app. It's not working. How do I fix it?
|
|
675
|
-
```
|
|
676
|
-
|
|
677
|
-
**Problems**: No code, no error, no context, no specific questions.
|
|
678
|
-
|
|
679
|
-
### GOOD (Do this)
|
|
680
|
-
|
|
681
|
-
```markdown
|
|
682
|
-
# Research Request: next-auth Google OAuth unauthorized_client Error
|
|
683
|
-
|
|
684
|
-
## Project Context
|
|
685
|
-
|
|
686
|
-
**Framework**: Next.js 14.0.4 with App Router
|
|
687
|
-
**Key Dependencies**:
|
|
688
|
-
- next-auth: 5.0.0-beta.4
|
|
689
|
-
- next: 14.0.4
|
|
690
|
-
- typescript: 5.3.3
|
|
691
|
-
|
|
692
|
-
**Relevant Files**:
|
|
693
|
-
- `src/app/api/auth/[...nextauth]/route.ts` - Auth configuration
|
|
694
|
-
- `src/lib/auth.ts` - Auth helpers
|
|
695
|
-
- `.env.local` - Environment variables
|
|
696
|
-
|
|
697
|
-
---
|
|
698
|
-
|
|
699
|
-
## Current Implementation
|
|
700
|
-
|
|
701
|
-
### File: src/app/api/auth/[...nextauth]/route.ts
|
|
702
|
-
|
|
703
|
-
```typescript
|
|
704
|
-
import NextAuth from "next-auth";
|
|
705
|
-
import Google from "next-auth/providers/google";
|
|
706
|
-
|
|
707
|
-
export const { handlers, auth, signIn, signOut } = NextAuth({
|
|
708
|
-
providers: [
|
|
709
|
-
Google({
|
|
710
|
-
clientId: process.env.GOOGLE_CLIENT_ID!,
|
|
711
|
-
clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
|
|
712
|
-
}),
|
|
713
|
-
],
|
|
714
|
-
callbacks: {
|
|
715
|
-
async jwt({ token, user }) {
|
|
716
|
-
if (user) {
|
|
717
|
-
token.id = user.id;
|
|
718
|
-
}
|
|
719
|
-
return token;
|
|
720
|
-
},
|
|
721
|
-
async session({ session, token }) {
|
|
722
|
-
session.user.id = token.id as string;
|
|
723
|
-
return session;
|
|
724
|
-
},
|
|
725
|
-
},
|
|
726
|
-
});
|
|
727
|
-
|
|
728
|
-
export const { GET, POST } = handlers;
|
|
729
|
-
```
|
|
730
|
-
|
|
731
|
-
### File: .env.local (sanitized)
|
|
732
|
-
|
|
733
|
-
```
|
|
734
|
-
GOOGLE_CLIENT_ID=123456789-xxxxx.apps.googleusercontent.com
|
|
735
|
-
GOOGLE_CLIENT_SECRET=GOCSPX-xxxxxxxxx
|
|
736
|
-
NEXTAUTH_URL=http://localhost:3000
|
|
737
|
-
NEXTAUTH_SECRET=my-secret-key
|
|
738
|
-
```
|
|
739
|
-
|
|
740
|
-
---
|
|
741
|
-
|
|
742
|
-
## The Problem
|
|
743
|
-
|
|
744
|
-
### Error Message
|
|
745
|
-
```
|
|
746
|
-
[auth][error] CallbackRouteError: Read more at https://errors.authjs.dev#callbackrouteerror
|
|
747
|
-
[auth][cause]: Error: unauthorized_client
|
|
748
|
-
```
|
|
749
|
-
|
|
750
|
-
### Stack Trace
|
|
751
|
-
```
|
|
752
|
-
at AuthHandler (node_modules/next-auth/lib/index.js:42:15)
|
|
753
|
-
at async /app/api/auth/[...nextauth]/route.ts:1:1
|
|
754
|
-
```
|
|
755
|
-
|
|
756
|
-
### Expected Behavior
|
|
757
|
-
User should be redirected to Google login, authenticate, and return to the app.
|
|
758
|
-
|
|
759
|
-
### Actual Behavior
|
|
760
|
-
After clicking "Sign in with Google", immediately get unauthorized_client error.
|
|
761
|
-
|
|
762
|
-
---
|
|
763
|
-
|
|
764
|
-
## What We've Already Tried
|
|
765
|
-
|
|
766
|
-
### Attempt 1: Verify credentials
|
|
767
|
-
**What we did**: Double-checked GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET in .env.local against Google Cloud Console
|
|
768
|
-
**Result**: Credentials match exactly
|
|
769
|
-
**Why it didn't work**: Issue persists
|
|
770
|
-
|
|
771
|
-
### Attempt 2: Check redirect URIs
|
|
772
|
-
**What we did**: Added http://localhost:3000/api/auth/callback/google to authorized redirect URIs in Google Console
|
|
773
|
-
**Result**: Still getting unauthorized_client
|
|
774
|
-
**Why it didn't work**: Redirect URI appears correct
|
|
775
|
-
|
|
776
|
-
### Attempt 3: Clear browser state
|
|
777
|
-
**What we did**: Cleared cookies, tried incognito window
|
|
778
|
-
**Result**: Same error
|
|
779
|
-
**Why it didn't work**: Not a caching issue
|
|
780
|
-
|
|
781
|
-
---
|
|
782
|
-
|
|
783
|
-
## Specific Questions
|
|
784
|
-
|
|
785
|
-
1. **Why does next-auth 5.0.0-beta.4 throw unauthorized_client when credentials are verified correct?**
|
|
786
|
-
Context: This is a beta version, might have breaking changes
|
|
787
|
-
|
|
788
|
-
2. **Is there additional configuration needed for Google OAuth with Next.js 14 App Router?**
|
|
789
|
-
Context: App Router is relatively new, patterns may differ
|
|
790
|
-
|
|
791
|
-
3. **What's the correct format for authorized redirect URIs in Google Console for next-auth v5?**
|
|
792
|
-
Context: Current URI is http://localhost:3000/api/auth/callback/google
|
|
793
|
-
|
|
794
|
-
4. **Are there known issues with next-auth 5.0.0-beta.4 and the Google provider?**
|
|
795
|
-
Context: Using beta version, may have bugs
|
|
796
|
-
|
|
797
|
-
---
|
|
798
|
-
|
|
799
|
-
## What I Need
|
|
800
|
-
|
|
801
|
-
[rest of template...]
|
|
802
|
-
```
|
|
803
|
-
|
|
804
|
-
---
|
|
805
|
-
|
|
806
|
-
## Rules
|
|
807
|
-
|
|
808
|
-
- **Output-only by default** - Display prompt for copy/paste, optionally save to prompts/
|
|
809
|
-
- **MUST validate quality** before outputting
|
|
810
|
-
- **MUST include actual code** from the codebase
|
|
811
|
-
- **MUST be detailed** - 200+ lines minimum
|
|
812
|
-
|
|
813
|
-
---
|
|
814
|
-
|
|
815
|
-
## Smart Next Steps (AskUserQuestion)
|
|
816
|
-
|
|
817
|
-
After generating the research prompt, suggest contextual next steps:
|
|
818
|
-
|
|
819
|
-
**After prompt generation:**
|
|
820
|
-
```xml
|
|
821
|
-
<invoke name="AskUserQuestion">
|
|
822
|
-
<parameter name="questions">[{
|
|
823
|
-
"question": "Research prompt for '[TOPIC]' generated ([LINE_COUNT] lines, [CODE_LINES] lines of code). What would you like to do?",
|
|
824
|
-
"header": "Next step",
|
|
825
|
-
"multiSelect": false,
|
|
826
|
-
"options": [
|
|
827
|
-
{"label": "Copy & paste to ChatGPT/Perplexity (Recommended)", "description": "Prompt covers [N] files and [M] specific questions - ready to paste"},
|
|
828
|
-
{"label": "Save prompt to docs/10-research/prompts/", "description": "Save as prompts/YYYYMMDD-prompt-[topic-slug].md and update README index"},
|
|
829
|
-
{"label": "Regenerate with more detail", "description": "Add [missing element: more code from X / error details / attempted solutions]"},
|
|
830
|
-
{"label": "Done", "description": "Prompt generated, no further action needed"}
|
|
831
|
-
]
|
|
832
|
-
}]</parameter>
|
|
833
|
-
</invoke>
|
|
834
|
-
```
|
|
835
|
-
|
|
836
|
-
**Key**: Always populate `[TOPIC]` with the actual research topic, `[LINE_COUNT]` with the real line count, `[CODE_LINES]` with code snippet line count, `[N]` with number of source files referenced, and `[M]` with number of specific questions. For "Regenerate", identify what's weakest (fewest code lines? no error details? only 1 attempt listed?) and mention it specifically.
|
|
837
|
-
|
|
838
|
-
**After user returns with results:**
|
|
839
|
-
```xml
|
|
840
|
-
<invoke name="AskUserQuestion">
|
|
841
|
-
<parameter name="questions">[{
|
|
842
|
-
"question": "Got results for '[TOPIC]'. What would you like to do?",
|
|
843
|
-
"header": "Import",
|
|
844
|
-
"multiSelect": false,
|
|
845
|
-
"options": [
|
|
846
|
-
{"label": "Import with /research:import (Recommended)", "description": "Save to docs/10-research/ and optionally run multi-expert ideation"},
|
|
847
|
-
{"label": "Analyze for implementation in [current epic/project]", "description": "Deploy domain experts to map findings to your codebase"},
|
|
848
|
-
{"label": "Ask follow-up about [specific gap]", "description": "Generate deeper prompt on [area needing more detail]"}
|
|
849
|
-
]
|
|
850
|
-
}]</parameter>
|
|
851
|
-
</invoke>
|
|
852
|
-
```
|
|
853
|
-
|
|
854
|
-
**Key**: Populate `[TOPIC]` with the research topic. For "Analyze", reference the active epic/story from status.json if one exists, otherwise use "your project". For "Ask follow-up", identify the weakest area of the response (incomplete code example? missing edge case? unclear on versioning?) and reference it specifically.
|
|
855
|
-
|
|
856
|
-
---
|
|
857
|
-
|
|
858
|
-
## Related Commands
|
|
859
|
-
|
|
860
|
-
- `/agileflow:research:analyze` - Analyze existing research for implementation
|
|
861
|
-
- `/agileflow:research:import` - Import research results back
|
|
862
|
-
- `/agileflow:research:list` - Show research notes index
|
|
863
|
-
- `/agileflow:research:synthesize` - Synthesize insights across multiple research files
|
|
864
|
-
- `/agileflow:research:view` - Read specific research note
|