agileflow 3.4.3 → 4.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (754) hide show
  1. package/CHANGELOG.md +235 -499
  2. package/README.md +22 -114
  3. package/bin/agileflow.js +15 -0
  4. package/bin/hooks/pre-bash.js +35 -0
  5. package/bin/hooks/pre-compact.js +34 -0
  6. package/bin/hooks/pre-edit.js +32 -0
  7. package/bin/hooks/pre-write.js +32 -0
  8. package/bin/hooks/session-start.js +42 -0
  9. package/bin/hooks/stop.js +34 -0
  10. package/content/plugins/ads/plugin.yaml +14 -0
  11. package/content/plugins/audit/plugin.yaml +14 -0
  12. package/content/plugins/core/hooks/session-welcome.js +19 -0
  13. package/content/plugins/core/plugin.yaml +34 -0
  14. package/content/plugins/core/skills/agileflow-adr/SKILL.md +179 -0
  15. package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +144 -0
  16. package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +179 -0
  17. package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +132 -0
  18. package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +200 -0
  19. package/content/plugins/council/plugin.yaml +14 -0
  20. package/content/plugins/seo/plugin.yaml +14 -0
  21. package/package.json +29 -49
  22. package/src/cli/commands/doctor.js +159 -0
  23. package/src/cli/commands/hook.js +80 -0
  24. package/src/cli/commands/setup.js +254 -0
  25. package/src/cli/commands/status.js +47 -0
  26. package/src/cli/commands/update.js +82 -0
  27. package/src/cli/index.js +73 -0
  28. package/src/cli/wizard/ide-picker.js +57 -0
  29. package/src/cli/wizard/personalization.js +64 -0
  30. package/src/cli/wizard/plugin-picker.js +106 -0
  31. package/src/lib/hash.js +41 -0
  32. package/src/runtime/config/defaults.js +45 -0
  33. package/src/runtime/config/loader.js +118 -0
  34. package/src/runtime/config/schema.json +76 -0
  35. package/src/runtime/config/writer.js +54 -0
  36. package/src/runtime/hooks/aggregator.js +133 -0
  37. package/src/runtime/hooks/chain.js +93 -0
  38. package/src/runtime/hooks/logger.js +68 -0
  39. package/src/runtime/hooks/manifest-loader.js +228 -0
  40. package/src/runtime/hooks/orchestrator.js +322 -0
  41. package/src/runtime/ide/capabilities.js +111 -0
  42. package/src/runtime/ide/claude-code-settings.js +234 -0
  43. package/src/runtime/ide/claude-code-skills.js +202 -0
  44. package/src/runtime/installer/file-index.js +112 -0
  45. package/src/runtime/installer/install.js +306 -0
  46. package/src/runtime/installer/stash.js +61 -0
  47. package/src/runtime/installer/sync-engine.js +205 -0
  48. package/src/runtime/plugins/registry.js +132 -0
  49. package/src/runtime/plugins/resolver.js +138 -0
  50. package/src/runtime/plugins/validator.js +196 -0
  51. package/src/runtime/skills/validator.js +335 -0
  52. package/lib/README.md +0 -178
  53. package/lib/api-routes.js +0 -625
  54. package/lib/api-server.js +0 -278
  55. package/lib/cache-provider.js +0 -155
  56. package/lib/codebase-indexer.js +0 -819
  57. package/lib/colors.generated.js +0 -117
  58. package/lib/colors.js +0 -341
  59. package/lib/consent.js +0 -232
  60. package/lib/content-sanitizer.js +0 -464
  61. package/lib/correlation.js +0 -277
  62. package/lib/drivers/claude-driver.ts +0 -312
  63. package/lib/drivers/codex-driver.ts +0 -464
  64. package/lib/drivers/driver-manager.ts +0 -159
  65. package/lib/drivers/gemini-driver.ts +0 -498
  66. package/lib/drivers/index.ts +0 -17
  67. package/lib/error-codes.js +0 -590
  68. package/lib/errors.js +0 -670
  69. package/lib/feature-flags.js +0 -171
  70. package/lib/feedback.js +0 -595
  71. package/lib/file-cache.js +0 -541
  72. package/lib/flag-detection.js +0 -344
  73. package/lib/format-error.js +0 -156
  74. package/lib/gate-runner.js +0 -282
  75. package/lib/generator-factory.js +0 -333
  76. package/lib/git-operations.js +0 -266
  77. package/lib/lazy-require.js +0 -59
  78. package/lib/lock-file.js +0 -144
  79. package/lib/logger.js +0 -106
  80. package/lib/merge-operations.js +0 -1006
  81. package/lib/path-resolver.js +0 -544
  82. package/lib/path-utils.js +0 -49
  83. package/lib/paths.js +0 -291
  84. package/lib/placeholder-registry.js +0 -822
  85. package/lib/process-executor.js +0 -214
  86. package/lib/progress.js +0 -334
  87. package/lib/protocol/driver.ts +0 -354
  88. package/lib/protocol/index.ts +0 -12
  89. package/lib/protocol/ir.ts +0 -271
  90. package/lib/registry-cache.js +0 -80
  91. package/lib/registry-di.js +0 -358
  92. package/lib/result-schema.js +0 -363
  93. package/lib/result.js +0 -210
  94. package/lib/session-display.js +0 -331
  95. package/lib/session-operations.js +0 -611
  96. package/lib/session-registry.js +0 -484
  97. package/lib/session-state-machine.js +0 -465
  98. package/lib/session-switching.js +0 -191
  99. package/lib/skill-loader.js +0 -213
  100. package/lib/smart-json-file.js +0 -682
  101. package/lib/state-machine.js +0 -286
  102. package/lib/table-formatter.js +0 -519
  103. package/lib/template-loader.js +0 -143
  104. package/lib/transient-status.js +0 -374
  105. package/lib/ui-manager.js +0 -612
  106. package/lib/validate-args.js +0 -213
  107. package/lib/validate-commands.js +0 -308
  108. package/lib/validate-names.js +0 -143
  109. package/lib/validate-paths.js +0 -434
  110. package/lib/validate.js +0 -134
  111. package/lib/worktree-operations.js +0 -201
  112. package/lib/yaml-utils.js +0 -164
  113. package/scripts/README.md +0 -267
  114. package/scripts/af +0 -34
  115. package/scripts/agent-loop.js +0 -879
  116. package/scripts/agileflow-configure.js +0 -368
  117. package/scripts/agileflow-statusline.sh +0 -857
  118. package/scripts/agileflow-welcome.js +0 -2246
  119. package/scripts/api-server-runner.js +0 -177
  120. package/scripts/archive-completed-stories.sh +0 -308
  121. package/scripts/auto-self-improve.js +0 -326
  122. package/scripts/automation-run-due.js +0 -128
  123. package/scripts/babysit-clear-restore.js +0 -154
  124. package/scripts/babysit-context-restore.js +0 -89
  125. package/scripts/backfill-ideation-status.js +0 -128
  126. package/scripts/batch-pmap-loop.js +0 -551
  127. package/scripts/check-sessions.js +0 -116
  128. package/scripts/check-update.js +0 -282
  129. package/scripts/ci-summary.js +0 -294
  130. package/scripts/claude-smart.sh +0 -85
  131. package/scripts/claude-tmux.sh +0 -737
  132. package/scripts/claude-watchdog.sh +0 -225
  133. package/scripts/clear-active-command.js +0 -48
  134. package/scripts/compress-status.sh +0 -116
  135. package/scripts/context-loader.js +0 -310
  136. package/scripts/damage-control/bash-tool-damage-control.js +0 -22
  137. package/scripts/damage-control/edit-tool-damage-control.js +0 -19
  138. package/scripts/damage-control/patterns.yaml +0 -227
  139. package/scripts/damage-control/write-tool-damage-control.js +0 -19
  140. package/scripts/damage-control-bash.js +0 -51
  141. package/scripts/damage-control-edit.js +0 -48
  142. package/scripts/damage-control-multi-agent.js +0 -231
  143. package/scripts/damage-control-write.js +0 -48
  144. package/scripts/dependency-check.js +0 -311
  145. package/scripts/document-repl.js +0 -793
  146. package/scripts/expertise-metrics.sh +0 -264
  147. package/scripts/generate-all.sh +0 -77
  148. package/scripts/generate-colors.js +0 -314
  149. package/scripts/generators/agent-registry.js +0 -183
  150. package/scripts/generators/command-registry.js +0 -166
  151. package/scripts/generators/index.js +0 -85
  152. package/scripts/generators/inject-babysit.js +0 -191
  153. package/scripts/generators/inject-help.js +0 -125
  154. package/scripts/generators/inject-readme.js +0 -166
  155. package/scripts/generators/skill-registry.js +0 -188
  156. package/scripts/get-env.js +0 -225
  157. package/scripts/init.sh +0 -76
  158. package/scripts/lib/README-portable-tasks.md +0 -424
  159. package/scripts/lib/ac-test-matcher.js +0 -452
  160. package/scripts/lib/audit-cleanup.js +0 -250
  161. package/scripts/lib/audit-registry.js +0 -340
  162. package/scripts/lib/automation-registry.js +0 -544
  163. package/scripts/lib/automation-runner.js +0 -476
  164. package/scripts/lib/browser-qa-evidence.js +0 -409
  165. package/scripts/lib/browser-qa-status.js +0 -192
  166. package/scripts/lib/bus-utils.js +0 -473
  167. package/scripts/lib/colors.generated.sh +0 -82
  168. package/scripts/lib/colors.sh +0 -46
  169. package/scripts/lib/command-prereqs.js +0 -280
  170. package/scripts/lib/concurrency-limiter.js +0 -511
  171. package/scripts/lib/configure-detect.js +0 -596
  172. package/scripts/lib/configure-features.js +0 -1927
  173. package/scripts/lib/configure-repair.js +0 -327
  174. package/scripts/lib/configure-utils.js +0 -114
  175. package/scripts/lib/context-formatter.js +0 -1158
  176. package/scripts/lib/context-loader.js +0 -840
  177. package/scripts/lib/counter.js +0 -103
  178. package/scripts/lib/damage-control-utils.js +0 -619
  179. package/scripts/lib/feature-catalog.js +0 -332
  180. package/scripts/lib/file-lock.js +0 -392
  181. package/scripts/lib/file-tracking.js +0 -735
  182. package/scripts/lib/frontmatter-parser.js +0 -133
  183. package/scripts/lib/gate-enforcer.js +0 -295
  184. package/scripts/lib/hook-metrics.js +0 -324
  185. package/scripts/lib/ideation-index.js +0 -1205
  186. package/scripts/lib/json-utils.sh +0 -162
  187. package/scripts/lib/lifecycle-detector.js +0 -125
  188. package/scripts/lib/model-profiles.js +0 -118
  189. package/scripts/lib/portable-tasks-cli.js +0 -274
  190. package/scripts/lib/portable-tasks.js +0 -479
  191. package/scripts/lib/process-cleanup.js +0 -527
  192. package/scripts/lib/quality-gates.js +0 -788
  193. package/scripts/lib/scale-detector.js +0 -396
  194. package/scripts/lib/sessionRegistry.js +0 -678
  195. package/scripts/lib/signal-detectors.js +0 -867
  196. package/scripts/lib/skill-catalog.js +0 -557
  197. package/scripts/lib/skill-recommender.js +0 -311
  198. package/scripts/lib/state-migrator.js +0 -353
  199. package/scripts/lib/status-task-bridge.js +0 -522
  200. package/scripts/lib/status-writer.js +0 -255
  201. package/scripts/lib/story-claiming.js +0 -704
  202. package/scripts/lib/story-state-machine.js +0 -437
  203. package/scripts/lib/sync-ideation-status.js +0 -291
  204. package/scripts/lib/task-registry-cache.js +0 -490
  205. package/scripts/lib/task-registry.js +0 -1191
  206. package/scripts/lib/task-sync.js +0 -230
  207. package/scripts/lib/tdd-phase-manager.js +0 -455
  208. package/scripts/lib/team-events.js +0 -510
  209. package/scripts/lib/tmux-audit-monitor.js +0 -612
  210. package/scripts/lib/tmux-group-colors.js +0 -113
  211. package/scripts/lib/tool-registry.yaml +0 -241
  212. package/scripts/lib/tool-shed.js +0 -441
  213. package/scripts/lib/validation-registry.js +0 -177
  214. package/scripts/messaging-bridge.js +0 -561
  215. package/scripts/migrate-ideation-index.js +0 -553
  216. package/scripts/native-team-observer.js +0 -219
  217. package/scripts/obtain-context.js +0 -272
  218. package/scripts/pre-push-check.sh +0 -46
  219. package/scripts/precompact-context.sh +0 -306
  220. package/scripts/query-codebase.js +0 -543
  221. package/scripts/ralph-loop.js +0 -1278
  222. package/scripts/resume-session.sh +0 -121
  223. package/scripts/screenshot-verifier.js +0 -215
  224. package/scripts/session-boundary.js +0 -138
  225. package/scripts/session-coordinator.sh +0 -232
  226. package/scripts/session-manager.js +0 -546
  227. package/scripts/smart-detect.js +0 -449
  228. package/scripts/spawn-audit-sessions.js +0 -877
  229. package/scripts/spawn-parallel.js +0 -751
  230. package/scripts/strip-ai-attribution.js +0 -63
  231. package/scripts/task-completed-gate.js +0 -237
  232. package/scripts/team-manager.js +0 -596
  233. package/scripts/team-status-display.js +0 -200
  234. package/scripts/teammate-idle-gate.js +0 -237
  235. package/scripts/test-session-boundary.js +0 -80
  236. package/scripts/tmux-close-windows.sh +0 -180
  237. package/scripts/tmux-restore-window.sh +0 -67
  238. package/scripts/tmux-save-closed-window.sh +0 -35
  239. package/scripts/tui/App.js +0 -151
  240. package/scripts/tui/Dashboard.js +0 -277
  241. package/scripts/tui/blessed/data/watcher.js +0 -180
  242. package/scripts/tui/blessed/index.js +0 -244
  243. package/scripts/tui/blessed/panels/output.js +0 -101
  244. package/scripts/tui/blessed/panels/sessions.js +0 -150
  245. package/scripts/tui/blessed/panels/trace.js +0 -97
  246. package/scripts/tui/blessed/ui/help.js +0 -77
  247. package/scripts/tui/blessed/ui/screen.js +0 -52
  248. package/scripts/tui/blessed/ui/statusbar.js +0 -47
  249. package/scripts/tui/blessed/ui/tabbar.js +0 -99
  250. package/scripts/tui/index.js +0 -70
  251. package/scripts/tui/lib/crashRecovery.js +0 -304
  252. package/scripts/tui/lib/eventStream.js +0 -309
  253. package/scripts/tui/lib/keyboard.js +0 -261
  254. package/scripts/tui/lib/loopControl.js +0 -371
  255. package/scripts/tui/panels/OutputPanel.js +0 -240
  256. package/scripts/tui/panels/SessionPanel.js +0 -170
  257. package/scripts/tui/panels/TracePanel.js +0 -298
  258. package/scripts/tui/simple-tui.js +0 -510
  259. package/scripts/validate-expertise.sh +0 -263
  260. package/scripts/validate-tokens.sh +0 -73
  261. package/scripts/validators/README.md +0 -143
  262. package/scripts/validators/component-validator.js +0 -239
  263. package/scripts/validators/json-schema-validator.js +0 -186
  264. package/scripts/validators/markdown-validator.js +0 -152
  265. package/scripts/validators/migration-validator.js +0 -129
  266. package/scripts/validators/security-validator.js +0 -380
  267. package/scripts/validators/story-format-validator.js +0 -197
  268. package/scripts/validators/test-result-validator.js +0 -114
  269. package/scripts/validators/workflow-validator.js +0 -247
  270. package/scripts/welcome-deferred.js +0 -437
  271. package/scripts/worktree-create.sh +0 -111
  272. package/src/core/agents/a11y-analyzer-aria.md +0 -155
  273. package/src/core/agents/a11y-analyzer-forms.md +0 -162
  274. package/src/core/agents/a11y-analyzer-keyboard.md +0 -175
  275. package/src/core/agents/a11y-analyzer-semantic.md +0 -153
  276. package/src/core/agents/a11y-analyzer-visual.md +0 -158
  277. package/src/core/agents/a11y-consensus.md +0 -248
  278. package/src/core/agents/accessibility.md +0 -515
  279. package/src/core/agents/adr-writer.md +0 -463
  280. package/src/core/agents/ads-audit-budget.md +0 -181
  281. package/src/core/agents/ads-audit-compliance.md +0 -169
  282. package/src/core/agents/ads-audit-creative.md +0 -164
  283. package/src/core/agents/ads-audit-google.md +0 -226
  284. package/src/core/agents/ads-audit-meta.md +0 -183
  285. package/src/core/agents/ads-audit-tracking.md +0 -197
  286. package/src/core/agents/ads-consensus.md +0 -396
  287. package/src/core/agents/ads-generate.md +0 -145
  288. package/src/core/agents/ads-performance-tracker.md +0 -197
  289. package/src/core/agents/analytics.md +0 -617
  290. package/src/core/agents/api-quality-analyzer-conventions.md +0 -148
  291. package/src/core/agents/api-quality-analyzer-docs.md +0 -176
  292. package/src/core/agents/api-quality-analyzer-errors.md +0 -183
  293. package/src/core/agents/api-quality-analyzer-pagination.md +0 -171
  294. package/src/core/agents/api-quality-analyzer-versioning.md +0 -143
  295. package/src/core/agents/api-quality-consensus.md +0 -214
  296. package/src/core/agents/api-validator.md +0 -183
  297. package/src/core/agents/api.md +0 -665
  298. package/src/core/agents/arch-analyzer-circular.md +0 -148
  299. package/src/core/agents/arch-analyzer-complexity.md +0 -171
  300. package/src/core/agents/arch-analyzer-coupling.md +0 -146
  301. package/src/core/agents/arch-analyzer-layering.md +0 -151
  302. package/src/core/agents/arch-analyzer-patterns.md +0 -162
  303. package/src/core/agents/arch-consensus.md +0 -227
  304. package/src/core/agents/brainstorm-analyzer-features.md +0 -169
  305. package/src/core/agents/brainstorm-analyzer-growth.md +0 -161
  306. package/src/core/agents/brainstorm-analyzer-integration.md +0 -172
  307. package/src/core/agents/brainstorm-analyzer-market.md +0 -147
  308. package/src/core/agents/brainstorm-analyzer-ux.md +0 -167
  309. package/src/core/agents/brainstorm-consensus.md +0 -237
  310. package/src/core/agents/browser-qa.md +0 -328
  311. package/src/core/agents/ci.md +0 -511
  312. package/src/core/agents/code-reviewer.md +0 -288
  313. package/src/core/agents/codebase-query.md +0 -266
  314. package/src/core/agents/completeness-analyzer-api.md +0 -190
  315. package/src/core/agents/completeness-analyzer-conditional.md +0 -201
  316. package/src/core/agents/completeness-analyzer-handlers.md +0 -159
  317. package/src/core/agents/completeness-analyzer-imports.md +0 -159
  318. package/src/core/agents/completeness-analyzer-routes.md +0 -182
  319. package/src/core/agents/completeness-analyzer-state.md +0 -188
  320. package/src/core/agents/completeness-analyzer-stubs.md +0 -198
  321. package/src/core/agents/completeness-consensus.md +0 -286
  322. package/src/core/agents/compliance.md +0 -509
  323. package/src/core/agents/council-advocate.md +0 -206
  324. package/src/core/agents/council-analyst.md +0 -252
  325. package/src/core/agents/council-optimist.md +0 -170
  326. package/src/core/agents/database.md +0 -601
  327. package/src/core/agents/datamigration.md +0 -699
  328. package/src/core/agents/design.md +0 -525
  329. package/src/core/agents/devops.md +0 -720
  330. package/src/core/agents/documentation.md +0 -504
  331. package/src/core/agents/epic-planner.md +0 -480
  332. package/src/core/agents/error-analyzer.md +0 -201
  333. package/src/core/agents/integrations.md +0 -603
  334. package/src/core/agents/legal-analyzer-a11y.md +0 -110
  335. package/src/core/agents/legal-analyzer-ai.md +0 -117
  336. package/src/core/agents/legal-analyzer-consumer.md +0 -108
  337. package/src/core/agents/legal-analyzer-content.md +0 -113
  338. package/src/core/agents/legal-analyzer-international.md +0 -115
  339. package/src/core/agents/legal-analyzer-licensing.md +0 -115
  340. package/src/core/agents/legal-analyzer-privacy.md +0 -108
  341. package/src/core/agents/legal-analyzer-security.md +0 -112
  342. package/src/core/agents/legal-analyzer-terms.md +0 -111
  343. package/src/core/agents/legal-consensus.md +0 -242
  344. package/src/core/agents/logic-analyzer-edge.md +0 -170
  345. package/src/core/agents/logic-analyzer-flow.md +0 -253
  346. package/src/core/agents/logic-analyzer-invariant.md +0 -206
  347. package/src/core/agents/logic-analyzer-race.md +0 -266
  348. package/src/core/agents/logic-analyzer-type.md +0 -217
  349. package/src/core/agents/logic-consensus.md +0 -253
  350. package/src/core/agents/mentor.md +0 -654
  351. package/src/core/agents/mobile.md +0 -501
  352. package/src/core/agents/monitoring.md +0 -537
  353. package/src/core/agents/multi-expert.md +0 -311
  354. package/src/core/agents/orchestrator.md +0 -749
  355. package/src/core/agents/perf-analyzer-assets.md +0 -174
  356. package/src/core/agents/perf-analyzer-bundle.md +0 -165
  357. package/src/core/agents/perf-analyzer-caching.md +0 -160
  358. package/src/core/agents/perf-analyzer-compute.md +0 -165
  359. package/src/core/agents/perf-analyzer-memory.md +0 -182
  360. package/src/core/agents/perf-analyzer-network.md +0 -157
  361. package/src/core/agents/perf-analyzer-queries.md +0 -155
  362. package/src/core/agents/perf-analyzer-rendering.md +0 -156
  363. package/src/core/agents/perf-consensus.md +0 -280
  364. package/src/core/agents/performance.md +0 -492
  365. package/src/core/agents/product.md +0 -535
  366. package/src/core/agents/qa.md +0 -765
  367. package/src/core/agents/readme-updater.md +0 -579
  368. package/src/core/agents/refactor.md +0 -558
  369. package/src/core/agents/research.md +0 -453
  370. package/src/core/agents/rlm-subcore.md +0 -207
  371. package/src/core/agents/schema-validator.md +0 -454
  372. package/src/core/agents/security-analyzer-api.md +0 -199
  373. package/src/core/agents/security-analyzer-auth.md +0 -160
  374. package/src/core/agents/security-analyzer-authz.md +0 -168
  375. package/src/core/agents/security-analyzer-deps.md +0 -147
  376. package/src/core/agents/security-analyzer-infra.md +0 -176
  377. package/src/core/agents/security-analyzer-injection.md +0 -148
  378. package/src/core/agents/security-analyzer-input.md +0 -191
  379. package/src/core/agents/security-analyzer-secrets.md +0 -175
  380. package/src/core/agents/security-consensus.md +0 -276
  381. package/src/core/agents/security.md +0 -486
  382. package/src/core/agents/seo-analyzer-content.md +0 -167
  383. package/src/core/agents/seo-analyzer-images.md +0 -187
  384. package/src/core/agents/seo-analyzer-performance.md +0 -206
  385. package/src/core/agents/seo-analyzer-schema.md +0 -176
  386. package/src/core/agents/seo-analyzer-sitemap.md +0 -172
  387. package/src/core/agents/seo-analyzer-technical.md +0 -144
  388. package/src/core/agents/seo-consensus.md +0 -289
  389. package/src/core/agents/team-coordinator.md +0 -333
  390. package/src/core/agents/team-lead.md +0 -171
  391. package/src/core/agents/test-analyzer-assertions.md +0 -181
  392. package/src/core/agents/test-analyzer-coverage.md +0 -183
  393. package/src/core/agents/test-analyzer-fragility.md +0 -185
  394. package/src/core/agents/test-analyzer-integration.md +0 -155
  395. package/src/core/agents/test-analyzer-maintenance.md +0 -173
  396. package/src/core/agents/test-analyzer-mocking.md +0 -178
  397. package/src/core/agents/test-analyzer-patterns.md +0 -189
  398. package/src/core/agents/test-analyzer-structure.md +0 -177
  399. package/src/core/agents/test-consensus.md +0 -294
  400. package/src/core/agents/testing.md +0 -527
  401. package/src/core/agents/ui-validator.md +0 -331
  402. package/src/core/agents/ui.md +0 -1227
  403. package/src/core/commands/adr/list.md +0 -191
  404. package/src/core/commands/adr/update.md +0 -258
  405. package/src/core/commands/adr/view.md +0 -274
  406. package/src/core/commands/adr.md +0 -394
  407. package/src/core/commands/ads/audit.md +0 -453
  408. package/src/core/commands/ads/budget.md +0 -97
  409. package/src/core/commands/ads/competitor.md +0 -112
  410. package/src/core/commands/ads/creative.md +0 -85
  411. package/src/core/commands/ads/generate.md +0 -238
  412. package/src/core/commands/ads/google.md +0 -112
  413. package/src/core/commands/ads/health.md +0 -327
  414. package/src/core/commands/ads/landing.md +0 -119
  415. package/src/core/commands/ads/linkedin.md +0 -112
  416. package/src/core/commands/ads/meta.md +0 -91
  417. package/src/core/commands/ads/microsoft.md +0 -115
  418. package/src/core/commands/ads/plan.md +0 -321
  419. package/src/core/commands/ads/test-plan.md +0 -317
  420. package/src/core/commands/ads/tiktok.md +0 -129
  421. package/src/core/commands/ads/track.md +0 -288
  422. package/src/core/commands/ads/youtube.md +0 -124
  423. package/src/core/commands/ads.md +0 -140
  424. package/src/core/commands/agent.md +0 -256
  425. package/src/core/commands/api.md +0 -267
  426. package/src/core/commands/assign.md +0 -369
  427. package/src/core/commands/audit.md +0 -531
  428. package/src/core/commands/auto.md +0 -556
  429. package/src/core/commands/automate.md +0 -415
  430. package/src/core/commands/babysit.md +0 -643
  431. package/src/core/commands/baseline.md +0 -743
  432. package/src/core/commands/batch.md +0 -551
  433. package/src/core/commands/blockers.md +0 -602
  434. package/src/core/commands/board.md +0 -509
  435. package/src/core/commands/browser-qa.md +0 -240
  436. package/src/core/commands/changelog.md +0 -582
  437. package/src/core/commands/choose.md +0 -430
  438. package/src/core/commands/ci.md +0 -330
  439. package/src/core/commands/code/accessibility.md +0 -363
  440. package/src/core/commands/code/api.md +0 -313
  441. package/src/core/commands/code/architecture.md +0 -313
  442. package/src/core/commands/code/completeness.md +0 -519
  443. package/src/core/commands/code/legal.md +0 -509
  444. package/src/core/commands/code/logic.md +0 -432
  445. package/src/core/commands/code/performance.md +0 -506
  446. package/src/core/commands/code/security.md +0 -509
  447. package/src/core/commands/code/test.md +0 -505
  448. package/src/core/commands/compress.md +0 -408
  449. package/src/core/commands/configure.md +0 -1159
  450. package/src/core/commands/context/export.md +0 -296
  451. package/src/core/commands/context/full.md +0 -353
  452. package/src/core/commands/context/note.md +0 -380
  453. package/src/core/commands/council.md +0 -592
  454. package/src/core/commands/debt.md +0 -491
  455. package/src/core/commands/deploy.md +0 -864
  456. package/src/core/commands/deps.md +0 -728
  457. package/src/core/commands/diagnose.md +0 -404
  458. package/src/core/commands/docs.md +0 -469
  459. package/src/core/commands/epic/edit.md +0 -213
  460. package/src/core/commands/epic/list.md +0 -190
  461. package/src/core/commands/epic/view.md +0 -267
  462. package/src/core/commands/epic.md +0 -477
  463. package/src/core/commands/export.md +0 -238
  464. package/src/core/commands/feedback.md +0 -603
  465. package/src/core/commands/handoff.md +0 -386
  466. package/src/core/commands/help.md +0 -194
  467. package/src/core/commands/ideate/brief.md +0 -363
  468. package/src/core/commands/ideate/discover.md +0 -399
  469. package/src/core/commands/ideate/features.md +0 -497
  470. package/src/core/commands/ideate/history.md +0 -403
  471. package/src/core/commands/ideate/new.md +0 -900
  472. package/src/core/commands/impact.md +0 -407
  473. package/src/core/commands/install.md +0 -529
  474. package/src/core/commands/learn/explain.md +0 -118
  475. package/src/core/commands/learn/glossary.md +0 -135
  476. package/src/core/commands/learn/patterns.md +0 -138
  477. package/src/core/commands/learn/tour.md +0 -126
  478. package/src/core/commands/maintain.md +0 -558
  479. package/src/core/commands/metrics.md +0 -844
  480. package/src/core/commands/migrate/codemods.md +0 -151
  481. package/src/core/commands/migrate/plan.md +0 -131
  482. package/src/core/commands/migrate/scan.md +0 -114
  483. package/src/core/commands/migrate/validate.md +0 -119
  484. package/src/core/commands/multi-expert.md +0 -447
  485. package/src/core/commands/packages.md +0 -535
  486. package/src/core/commands/pr.md +0 -337
  487. package/src/core/commands/readme-sync.md +0 -329
  488. package/src/core/commands/research/analyze.md +0 -798
  489. package/src/core/commands/research/ask.md +0 -864
  490. package/src/core/commands/research/import.md +0 -1025
  491. package/src/core/commands/research/list.md +0 -273
  492. package/src/core/commands/research/synthesize.md +0 -928
  493. package/src/core/commands/research/view.md +0 -323
  494. package/src/core/commands/retro.md +0 -795
  495. package/src/core/commands/review.md +0 -694
  496. package/src/core/commands/rlm.md +0 -446
  497. package/src/core/commands/roadmap/analyze.md +0 -400
  498. package/src/core/commands/rpi.md +0 -633
  499. package/src/core/commands/seo/audit.md +0 -444
  500. package/src/core/commands/seo/competitor.md +0 -174
  501. package/src/core/commands/seo/content.md +0 -107
  502. package/src/core/commands/seo/geo.md +0 -229
  503. package/src/core/commands/seo/hreflang.md +0 -140
  504. package/src/core/commands/seo/images.md +0 -96
  505. package/src/core/commands/seo/page.md +0 -198
  506. package/src/core/commands/seo/plan.md +0 -163
  507. package/src/core/commands/seo/programmatic.md +0 -131
  508. package/src/core/commands/seo/references/cwv-thresholds.md +0 -64
  509. package/src/core/commands/seo/references/eeat-framework.md +0 -110
  510. package/src/core/commands/seo/references/quality-gates.md +0 -91
  511. package/src/core/commands/seo/references/schema-types.md +0 -102
  512. package/src/core/commands/seo/schema.md +0 -183
  513. package/src/core/commands/seo/sitemap.md +0 -97
  514. package/src/core/commands/seo/technical.md +0 -100
  515. package/src/core/commands/seo.md +0 -107
  516. package/src/core/commands/session/cleanup.md +0 -452
  517. package/src/core/commands/session/end.md +0 -865
  518. package/src/core/commands/session/history.md +0 -293
  519. package/src/core/commands/session/init.md +0 -210
  520. package/src/core/commands/session/new.md +0 -827
  521. package/src/core/commands/session/resume.md +0 -291
  522. package/src/core/commands/session/spawn.md +0 -205
  523. package/src/core/commands/session/status.md +0 -274
  524. package/src/core/commands/skill/list.md +0 -139
  525. package/src/core/commands/skill/recommend.md +0 -216
  526. package/src/core/commands/sprint.md +0 -714
  527. package/src/core/commands/status/undo.md +0 -191
  528. package/src/core/commands/status.md +0 -423
  529. package/src/core/commands/story/edit.md +0 -204
  530. package/src/core/commands/story/list.md +0 -199
  531. package/src/core/commands/story/view.md +0 -312
  532. package/src/core/commands/story-validate.md +0 -491
  533. package/src/core/commands/story.md +0 -465
  534. package/src/core/commands/tdd-next.md +0 -238
  535. package/src/core/commands/tdd.md +0 -211
  536. package/src/core/commands/team/guide.md +0 -688
  537. package/src/core/commands/team/list.md +0 -59
  538. package/src/core/commands/team/start.md +0 -130
  539. package/src/core/commands/team/status.md +0 -66
  540. package/src/core/commands/team/stop.md +0 -78
  541. package/src/core/commands/template.md +0 -644
  542. package/src/core/commands/tests.md +0 -731
  543. package/src/core/commands/update.md +0 -591
  544. package/src/core/commands/validate-expertise.md +0 -305
  545. package/src/core/commands/velocity.md +0 -630
  546. package/src/core/commands/verify.md +0 -534
  547. package/src/core/commands/whats-new.md +0 -201
  548. package/src/core/commands/workflow.md +0 -449
  549. package/src/core/council/sessions/.gitkeep +0 -0
  550. package/src/core/council/shared_reasoning.template.md +0 -106
  551. package/src/core/experts/README.md +0 -236
  552. package/src/core/experts/_core-expertise.yaml +0 -105
  553. package/src/core/experts/accessibility/expertise.yaml +0 -115
  554. package/src/core/experts/accessibility/question.md +0 -41
  555. package/src/core/experts/accessibility/self-improve.md +0 -45
  556. package/src/core/experts/accessibility/workflow.md +0 -59
  557. package/src/core/experts/adr-writer/expertise.yaml +0 -138
  558. package/src/core/experts/adr-writer/question.md +0 -56
  559. package/src/core/experts/adr-writer/self-improve.md +0 -106
  560. package/src/core/experts/adr-writer/workflow.md +0 -184
  561. package/src/core/experts/analytics/expertise.yaml +0 -119
  562. package/src/core/experts/analytics/question.md +0 -74
  563. package/src/core/experts/analytics/self-improve.md +0 -163
  564. package/src/core/experts/analytics/workflow.md +0 -272
  565. package/src/core/experts/api/expertise.yaml +0 -124
  566. package/src/core/experts/api/question.md +0 -74
  567. package/src/core/experts/api/self-improve.md +0 -122
  568. package/src/core/experts/api/workflow.md +0 -248
  569. package/src/core/experts/ci/expertise.yaml +0 -106
  570. package/src/core/experts/ci/question.md +0 -69
  571. package/src/core/experts/ci/self-improve.md +0 -100
  572. package/src/core/experts/ci/workflow.md +0 -145
  573. package/src/core/experts/codebase-query/expertise.yaml +0 -121
  574. package/src/core/experts/codebase-query/question.md +0 -73
  575. package/src/core/experts/codebase-query/self-improve.md +0 -105
  576. package/src/core/experts/compliance/expertise.yaml +0 -101
  577. package/src/core/experts/compliance/question.md +0 -56
  578. package/src/core/experts/compliance/self-improve.md +0 -106
  579. package/src/core/experts/compliance/workflow.md +0 -184
  580. package/src/core/experts/database/expertise.yaml +0 -109
  581. package/src/core/experts/database/question.md +0 -74
  582. package/src/core/experts/database/self-improve.md +0 -121
  583. package/src/core/experts/database/workflow.md +0 -234
  584. package/src/core/experts/datamigration/expertise.yaml +0 -141
  585. package/src/core/experts/datamigration/question.md +0 -56
  586. package/src/core/experts/datamigration/self-improve.md +0 -106
  587. package/src/core/experts/datamigration/workflow.md +0 -184
  588. package/src/core/experts/design/expertise.yaml +0 -116
  589. package/src/core/experts/design/question.md +0 -56
  590. package/src/core/experts/design/self-improve.md +0 -106
  591. package/src/core/experts/design/workflow.md +0 -184
  592. package/src/core/experts/devops/expertise.yaml +0 -116
  593. package/src/core/experts/devops/question.md +0 -68
  594. package/src/core/experts/devops/self-improve.md +0 -102
  595. package/src/core/experts/devops/workflow.md +0 -142
  596. package/src/core/experts/documentation/expertise.yaml +0 -126
  597. package/src/core/experts/documentation/question.md +0 -41
  598. package/src/core/experts/documentation/self-improve.md +0 -45
  599. package/src/core/experts/documentation/workflow.md +0 -55
  600. package/src/core/experts/epic-planner/expertise.yaml +0 -144
  601. package/src/core/experts/epic-planner/question.md +0 -56
  602. package/src/core/experts/epic-planner/self-improve.md +0 -106
  603. package/src/core/experts/epic-planner/workflow.md +0 -184
  604. package/src/core/experts/integrations/expertise.yaml +0 -113
  605. package/src/core/experts/integrations/question.md +0 -74
  606. package/src/core/experts/integrations/self-improve.md +0 -151
  607. package/src/core/experts/integrations/workflow.md +0 -246
  608. package/src/core/experts/mentor/expertise.yaml +0 -125
  609. package/src/core/experts/mentor/question.md +0 -56
  610. package/src/core/experts/mentor/self-improve.md +0 -106
  611. package/src/core/experts/mentor/workflow.md +0 -184
  612. package/src/core/experts/mobile/expertise.yaml +0 -136
  613. package/src/core/experts/mobile/question.md +0 -72
  614. package/src/core/experts/mobile/self-improve.md +0 -140
  615. package/src/core/experts/mobile/workflow.md +0 -240
  616. package/src/core/experts/monitoring/expertise.yaml +0 -132
  617. package/src/core/experts/monitoring/question.md +0 -76
  618. package/src/core/experts/monitoring/self-improve.md +0 -150
  619. package/src/core/experts/monitoring/workflow.md +0 -264
  620. package/src/core/experts/performance/expertise.yaml +0 -68
  621. package/src/core/experts/performance/question.md +0 -41
  622. package/src/core/experts/performance/self-improve.md +0 -45
  623. package/src/core/experts/performance/workflow.md +0 -61
  624. package/src/core/experts/product/expertise.yaml +0 -143
  625. package/src/core/experts/product/question.md +0 -56
  626. package/src/core/experts/product/self-improve.md +0 -106
  627. package/src/core/experts/product/workflow.md +0 -184
  628. package/src/core/experts/qa/expertise.yaml +0 -110
  629. package/src/core/experts/qa/question.md +0 -56
  630. package/src/core/experts/qa/self-improve.md +0 -106
  631. package/src/core/experts/qa/workflow.md +0 -184
  632. package/src/core/experts/readme-updater/expertise.yaml +0 -141
  633. package/src/core/experts/readme-updater/question.md +0 -56
  634. package/src/core/experts/readme-updater/self-improve.md +0 -106
  635. package/src/core/experts/readme-updater/workflow.md +0 -184
  636. package/src/core/experts/refactor/expertise.yaml +0 -135
  637. package/src/core/experts/refactor/question.md +0 -41
  638. package/src/core/experts/refactor/self-improve.md +0 -45
  639. package/src/core/experts/refactor/workflow.md +0 -57
  640. package/src/core/experts/research/expertise.yaml +0 -143
  641. package/src/core/experts/research/question.md +0 -56
  642. package/src/core/experts/research/self-improve.md +0 -106
  643. package/src/core/experts/research/workflow.md +0 -184
  644. package/src/core/experts/security/expertise.yaml +0 -117
  645. package/src/core/experts/security/question.md +0 -77
  646. package/src/core/experts/security/self-improve.md +0 -102
  647. package/src/core/experts/security/workflow.md +0 -152
  648. package/src/core/experts/templates/expertise-template.yaml +0 -67
  649. package/src/core/experts/templates/question-template.md +0 -56
  650. package/src/core/experts/templates/self-improve-template.md +0 -106
  651. package/src/core/experts/templates/workflow-template.md +0 -184
  652. package/src/core/experts/testing/expertise.yaml +0 -112
  653. package/src/core/experts/testing/question.md +0 -68
  654. package/src/core/experts/testing/self-improve.md +0 -102
  655. package/src/core/experts/testing/workflow.md +0 -143
  656. package/src/core/experts/ui/expertise.yaml +0 -133
  657. package/src/core/experts/ui/question.md +0 -74
  658. package/src/core/experts/ui/self-improve.md +0 -122
  659. package/src/core/experts/ui/workflow.md +0 -262
  660. package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +0 -424
  661. package/src/core/knowledge/ads/ad-optimization-logic.md +0 -590
  662. package/src/core/knowledge/ads/ad-technical-specifications.md +0 -385
  663. package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +0 -506
  664. package/src/core/knowledge/ads/paid-advertising-research-2026.md +0 -445
  665. package/src/core/profiles/COMPARISON.md +0 -170
  666. package/src/core/profiles/README.md +0 -178
  667. package/src/core/profiles/claude-code.yaml +0 -111
  668. package/src/core/profiles/codex.yaml +0 -103
  669. package/src/core/profiles/cursor.yaml +0 -134
  670. package/src/core/profiles/examples.js +0 -250
  671. package/src/core/profiles/loader.js +0 -235
  672. package/src/core/profiles/windsurf.yaml +0 -159
  673. package/src/core/skills/_learnings/README.md +0 -91
  674. package/src/core/skills/_learnings/_template.yaml +0 -106
  675. package/src/core/skills/_learnings/code-review.yaml +0 -118
  676. package/src/core/skills/_learnings/commit.yaml +0 -69
  677. package/src/core/skills/_learnings/story-writer.yaml +0 -71
  678. package/src/core/teams/backend.json +0 -41
  679. package/src/core/teams/builder-validator.json +0 -51
  680. package/src/core/teams/code-review.json +0 -41
  681. package/src/core/teams/frontend.json +0 -41
  682. package/src/core/teams/fullstack.json +0 -41
  683. package/src/core/teams/logic-audit.json +0 -53
  684. package/src/core/teams/perf-audit.json +0 -71
  685. package/src/core/teams/qa.json +0 -41
  686. package/src/core/teams/security-audit.json +0 -71
  687. package/src/core/teams/solo.json +0 -35
  688. package/src/core/teams/test-audit.json +0 -71
  689. package/src/core/templates/CONTEXT.md.example +0 -49
  690. package/src/core/templates/README-template.md +0 -16
  691. package/src/core/templates/adr-template.md +0 -28
  692. package/src/core/templates/agent-coordination-pattern.md +0 -38
  693. package/src/core/templates/agent-profile-template.md +0 -51
  694. package/src/core/templates/agileflow-metadata.json +0 -150
  695. package/src/core/templates/browser-qa-spec.yaml +0 -94
  696. package/src/core/templates/ci-workflow.yml +0 -74
  697. package/src/core/templates/claude-settings.advanced.example.json +0 -75
  698. package/src/core/templates/claude-settings.example.json +0 -26
  699. package/src/core/templates/command-documentation.md +0 -187
  700. package/src/core/templates/command-prerequisites.yaml +0 -169
  701. package/src/core/templates/comms-note-template.md +0 -24
  702. package/src/core/templates/damage-control-patterns.yaml +0 -243
  703. package/src/core/templates/environment.json +0 -18
  704. package/src/core/templates/epic-template.md +0 -27
  705. package/src/core/templates/plan-template.md +0 -125
  706. package/src/core/templates/preserve-rules-common.md +0 -107
  707. package/src/core/templates/preserve-rules.json +0 -42
  708. package/src/core/templates/proactive-action-spec.md +0 -29
  709. package/src/core/templates/product-brief.md +0 -136
  710. package/src/core/templates/quality-gate-priorities.md +0 -34
  711. package/src/core/templates/research-template.md +0 -44
  712. package/src/core/templates/session-harness-protocol.md +0 -128
  713. package/src/core/templates/session-state.json +0 -56
  714. package/src/core/templates/story-lifecycle.md +0 -213
  715. package/src/core/templates/story-template.md +0 -92
  716. package/src/core/templates/tdd-test-template.js +0 -241
  717. package/src/core/templates/worktrees-guide.md +0 -231
  718. package/tools/agileflow-npx.js +0 -52
  719. package/tools/cli/agileflow-cli.js +0 -72
  720. package/tools/cli/commands/config.js +0 -285
  721. package/tools/cli/commands/doctor.js +0 -496
  722. package/tools/cli/commands/list.js +0 -385
  723. package/tools/cli/commands/session.js +0 -1176
  724. package/tools/cli/commands/setup.js +0 -255
  725. package/tools/cli/commands/status.js +0 -101
  726. package/tools/cli/commands/tui.js +0 -56
  727. package/tools/cli/commands/uninstall.js +0 -155
  728. package/tools/cli/commands/update.js +0 -299
  729. package/tools/cli/installers/core/installer.js +0 -892
  730. package/tools/cli/installers/ide/_base-ide.js +0 -518
  731. package/tools/cli/installers/ide/_interface.js +0 -238
  732. package/tools/cli/installers/ide/claude-code.js +0 -432
  733. package/tools/cli/installers/ide/codex.js +0 -426
  734. package/tools/cli/installers/ide/cursor.js +0 -217
  735. package/tools/cli/installers/ide/manager.js +0 -222
  736. package/tools/cli/installers/ide/windsurf.js +0 -282
  737. package/tools/cli/lib/command-context.js +0 -382
  738. package/tools/cli/lib/config-manager.js +0 -446
  739. package/tools/cli/lib/content-injector.js +0 -969
  740. package/tools/cli/lib/content-transformer.js +0 -496
  741. package/tools/cli/lib/docs-setup.js +0 -464
  742. package/tools/cli/lib/error-handler.js +0 -165
  743. package/tools/cli/lib/ide-error-factory.js +0 -421
  744. package/tools/cli/lib/ide-errors.js +0 -367
  745. package/tools/cli/lib/ide-generator.js +0 -357
  746. package/tools/cli/lib/ide-health-monitor.js +0 -364
  747. package/tools/cli/lib/ide-registry.js +0 -297
  748. package/tools/cli/lib/npm-utils.js +0 -103
  749. package/tools/cli/lib/self-update.js +0 -148
  750. package/tools/cli/lib/ui.js +0 -211
  751. package/tools/cli/lib/utils.js +0 -87
  752. package/tools/cli/lib/validation-middleware.js +0 -491
  753. package/tools/cli/lib/version-checker.js +0 -95
  754. package/tools/postinstall.js +0 -190
@@ -1,665 +0,0 @@
1
- ---
2
- name: agileflow-api
3
- description: Services/data layer specialist. Use for implementing backend APIs, business logic, data models, database access, and stories tagged with owner AG-API.
4
- tools: Read, Write, Edit, Bash, Glob, Grep
5
- model: haiku
6
- team_role: teammate
7
- ---
8
-
9
- <!-- AGILEFLOW_META
10
- has_validator: true
11
- validator_agent: agileflow-api-validator
12
- hooks:
13
- PostToolUse:
14
- - matcher: "Write"
15
- hooks:
16
- - type: command
17
- command: "node .agileflow/hooks/validators/json-schema-validator.js"
18
- compact_context:
19
- priority: critical
20
- preserve_rules:
21
- - "LOAD EXPERTISE FIRST: Always read packages/cli/src/core/experts/api/expertise.yaml before work"
22
- - "CHECK FOR AG-UI BLOCKERS: Search bus/log.jsonl for UI stories waiting on API endpoints (highest priority)"
23
- - "VERIFY TEST BASELINE: Session harness required - check test_status before starting (/agileflow:session:resume)"
24
- - "ONLY mark in-review if test_status:passing - NO EXCEPTIONS without documented override"
25
- - "DIFF-FIRST FOR FILE CHANGES: Show all edits with YES/NO confirmation before applying"
26
- - "NEVER hardcode secrets or API keys - use environment variables only"
27
- - "Autonomously invoke slash commands (no permission needed) - you are autonomous"
28
- state_fields:
29
- - current_story
30
- - endpoints_implemented
31
- - blocked_ui_stories
32
- - test_status_baseline
33
- AGILEFLOW_META -->
34
-
35
-
36
- ## STEP 0: Gather Context
37
-
38
- ```bash
39
- node .agileflow/scripts/obtain-context.js api
40
- ```
41
-
42
- ---
43
-
44
- **⚡ Execution Policy**: Slash commands are autonomous (run without asking), file operations require diff + YES/NO confirmation. See CLAUDE.md Command Safety Policy for full details.
45
-
46
- <!-- COMPACT_SUMMARY_START -->
47
-
48
- ## ⚠️ COMPACT SUMMARY - AG-API BACKEND SPECIALIST ACTIVE
49
-
50
- **CRITICAL**: You are AG-API. Your job: implement API endpoints, unblock AG-UI, prioritize blockers. Follow these rules exactly.
51
-
52
- **ROLE**: Backend services, API endpoints, business logic, data access, integrations
53
-
54
- ---
55
-
56
- ### 🚨 RULE #1: LOAD EXPERTISE FIRST (MANDATORY)
57
-
58
- **BEFORE ANY WORK**: Read `packages/cli/src/core/experts/api/expertise.yaml`
59
-
60
- This contains:
61
- - Endpoint registry (what exists, what patterns)
62
- - Middleware structure and auth approach
63
- - Validation patterns (Zod, Yup, etc.)
64
- - Error handling conventions
65
- - Recent learnings from past work
66
-
67
- **Then validate against code** - expertise is memory, code is truth.
68
-
69
- ---
70
-
71
- ### 🚨 RULE #2: SEARCH FOR AG-UI BLOCKERS (HIGHEST PRIORITY)
72
-
73
- **Before starting ANY endpoint**, check: Are there UI stories blocked waiting for this API?
74
-
75
- **Search pattern**:
76
- ```bash
77
- grep -i "blocked.*api\|endpoint.*missing\|waiting.*GET\|waiting.*POST" docs/09-agents/bus/log.jsonl
78
- ```
79
-
80
- **Unblock message format** (when endpoint ready):
81
- ```jsonl
82
- {"ts":"2025-10-21T10:00:00Z","from":"AG-API","type":"unblock","story":"US-0040","text":"API ready: GET /api/users/:id (200 OK, returns UserSchema), unblocking US-0042"}
83
- ```
84
-
85
- **Priority order**:
86
- 1. ⚡ Endpoints blocking AG-UI → DO THESE FIRST
87
- 2. 🔌 Endpoints needed by other APIs
88
- 3. 🎯 New features
89
- 4. 🔧 Refactoring/optimization
90
-
91
- ---
92
-
93
- ### 🚨 RULE #3: SESSION HARNESS VERIFICATION (BEFORE STARTING)
94
-
95
- **Mandatory pre-implementation checks:**
96
-
97
- 1. **Environment exists**: `docs/00-meta/environment.json` present? ✅
98
- 2. **Verify baseline**: Read `test_status` in status.json
99
- - `"passing"` → Proceed ✅
100
- - `"failing"` → STOP ⚠️ Cannot start with broken baseline
101
- - `"not_run"` → Run `/agileflow:verify` first
102
- 3. **Resume session**: Run `/agileflow:session:resume`
103
-
104
- **During implementation**:
105
- - Test incrementally (don't wait until end)
106
- - Fix failures immediately
107
- - Update test_status as you go
108
-
109
- ---
110
-
111
- ### 🚨 RULE #4: VERIFICATION GATE BEFORE IN-REVIEW
112
-
113
- **NO EXCEPTIONS: Tests must pass before marking in-review**
114
-
115
- 1. **Run verify**: `/agileflow:verify US-XXXX`
116
- 2. **Check status**: Confirm `test_status: "passing"` in status.json
117
- 3. **Regression check**: Did baseline tests still pass?
118
- 4. **ONLY THEN**: Mark story `in-review`
119
-
120
- **If tests fail**:
121
- - Fix immediately (don't mark in-review with failures)
122
- - If override needed: Document in bus message with full explanation + tracking issue
123
-
124
- ---
125
-
126
- ### 🚨 RULE #5: PROACTIVE CLAUDE.MD UPDATES
127
-
128
- **After establishing new API patterns, suggest CLAUDE.md additions:**
129
-
130
- | Discovery | Action |
131
- |-----------|--------|
132
- | New auth pattern | Document: "Authentication: JWT via X middleware, tokens valid for Y" |
133
- | New validation approach | Document: "Validation library: Zod, patterns in src/schemas/" |
134
- | New error schema | Document: "Error format: {error: {code, message, details}}" |
135
- | New ORM pattern | Document: "ORM: Prisma, client imported from @/lib/prisma" |
136
-
137
- **Propose with diff**: "Update CLAUDE.md with these API patterns? (YES/NO)"
138
-
139
- ---
140
-
141
- ### ENDPOINT CHECKLIST (BEFORE COMPLETION)
142
-
143
- **Quality gates - verify ALL before marking in-review:**
144
- - [ ] Inputs validated (type, format, range, auth required?)
145
- - [ ] Errors consistent (HTTP codes, error schema, helpful messages)
146
- - [ ] Auth enforced (protected routes check user/permissions)
147
- - [ ] Authorization verified (user can access this resource?)
148
- - [ ] No N+1 queries (profile endpoints first)
149
- - [ ] Secrets in env vars (never hardcoded)
150
- - [ ] Logging includes request IDs for tracing
151
- - [ ] Tests cover: happy path, validation errors, auth failures, edge cases
152
- - [ ] Tests PASSING (via `/agileflow:verify`)
153
-
154
- ---
155
-
156
- ### COMMON PITFALLS (DON'T DO THESE)
157
-
158
- ❌ **DON'T**: Start work without reading expertise.yaml (you'll miss patterns)
159
- ❌ **DON'T**: Forget to check bus for blocked AG-UI stories
160
- ❌ **DON'T**: Modify UI code (that's AG-UI's job, unless story AC says otherwise)
161
- ❌ **DON'T**: Skip input validation (security & data integrity)
162
- ❌ **DON'T**: Mark in-review with failing tests (they're the contract)
163
- ❌ **DON'T**: Hardcode API keys or secrets in code
164
- ❌ **DON'T**: Skip coordinate with AG-UI on unblocking
165
-
166
- ✅ **DO**: Load expertise first, search for blockers
167
- ✅ **DO**: Run `/agileflow:verify` before in-review
168
- ✅ **DO**: Append unblock messages when AG-UI endpoints ready
169
- ✅ **DO**: Validate inputs, enforce auth, handle errors consistently
170
- ✅ **DO**: Suggest CLAUDE.md updates for new API patterns
171
- ✅ **DO**: Test incrementally during development
172
- ✅ **DO**: Coordinate schema changes with AG-DATABASE
173
-
174
- ---
175
-
176
- ### WORKFLOW SUMMARY (15 STEPS)
177
-
178
- 1. Load expertise.yaml → Validate against code
179
- 2. Search bus for AG-UI blockers → Prioritize these
180
- 3. Check environment.json exists
181
- 4. Verify baseline test_status (must be "passing")
182
- 5. Run `/agileflow:session:resume`
183
- 6. Create feature branch: `feature/<US_ID>-<slug>`
184
- 7. Update status.json → `in-progress`, append bus message
185
- 8. Implement with diff-first edits (YES/NO confirmation)
186
- 9. Write tests (unit + integration + edge cases)
187
- 10. Run `/agileflow:verify` (tests must pass)
188
- 11. Check CLAUDE.md - suggest additions for new patterns
189
- 12. Update status.json → `in-review`, append bus message
190
- 13. If AG-UI was blocked → Append unblock message with endpoint details
191
- 14. Use `/agileflow:pr-template` for PR description
192
- 15. After merge → Update to `done`, run self-improve.md
193
-
194
- ---
195
-
196
- ### REMEMBER AFTER COMPACTION
197
-
198
- - Expertise.yaml first, always
199
- - Search bus for AG-UI blockers (highest priority)
200
- - Session harness: environment.json, verify baseline, `/agileflow:session:resume`
201
- - Tests REQUIRED before in-review (/agileflow:verify)
202
- - Unblock AG-UI proactively when endpoints ready
203
- - After completing API work that establishes new patterns, suggest CLAUDE.md update with specific additions
204
- - Never hardcode secrets, always validate inputs, always enforce auth
205
-
206
- <!-- COMPACT_SUMMARY_END -->
207
-
208
- You are AG-API, the Services/Data Layer Agent for AgileFlow projects.
209
-
210
- ROLE & IDENTITY
211
- - Agent ID: AG-API
212
- - Specialization: Backend services, APIs, data access, business logic, integrations
213
- - Part of the AgileFlow docs-as-code system
214
-
215
- AGILEFLOW SYSTEM OVERVIEW
216
-
217
- **Story Lifecycle**:
218
- - `ready` → Story has AC, test stub, no blockers (Definition of Ready met)
219
- - `in-progress` → AG-API actively implementing
220
- - `in-review` → Implementation complete, awaiting PR review
221
- - `done` → Merged to main/master
222
- - `blocked` → Cannot proceed (database dependency, external service, clarification needed)
223
-
224
- **Coordination Files**:
225
- - `docs/09-agents/status.json` → Single source of truth for story statuses, assignees, dependencies
226
- - `docs/09-agents/bus/log.jsonl` → Message bus for agent coordination (append-only, newest last)
227
-
228
- **WIP Limit**: Max 2 stories in `in-progress` state simultaneously.
229
-
230
- SHARED VOCABULARY
231
-
232
- **Use these terms consistently**:
233
- - **Endpoint** = API route (e.g., GET /api/users/:id)
234
- - **Schema** = Data model structure (database or API contract)
235
- - **Validation** = Input checking (type, format, range, auth)
236
- - **Migration** = Database schema change script
237
- - **Integration** = External service connection (Stripe, SendGrid, etc.)
238
- - **Bus Message** = Coordination message in docs/09-agents/bus/log.jsonl
239
-
240
- **Bus Message Formats for AG-API**:
241
- ```jsonl
242
- {"ts":"2025-10-21T10:00:00Z","from":"AG-API","type":"status","story":"US-0040","text":"Started API endpoint implementation"}
243
- {"ts":"2025-10-21T10:00:00Z","from":"AG-API","type":"blocked","story":"US-0040","text":"Blocked: need database migration from AG-DEVOPS"}
244
- {"ts":"2025-10-21T10:00:00Z","from":"AG-API","type":"unblock","story":"US-0040","text":"API endpoint /api/users/:id ready, unblocking US-0042 (AG-UI)"}
245
- {"ts":"2025-10-21T10:00:00Z","from":"AG-API","type":"status","story":"US-0040","text":"API complete with tests, ready for review"}
246
- ```
247
-
248
- **Agent Coordination Shortcuts**:
249
- - **AG-UI** = Frontend (unblock via: `{"type":"unblock","text":"API endpoint <path> ready, unblocking <US-ID>"}`)
250
- - **AG-CI** = Test infrastructure (request via: `{"type":"question","text":"Need test database setup?"}`)
251
- - **AG-DEVOPS** = Database migrations (request via: `{"type":"blocked","text":"Need migration script"}`)
252
-
253
- **Key AgileFlow Directories for AG-API**:
254
- - `docs/06-stories/` → User stories assigned to AG-API
255
- - `docs/07-testing/test-cases/` → Test stubs and test plans
256
- - `docs/09-agents/status.json` → Story status tracking
257
- - `docs/09-agents/bus/log.jsonl` → Agent coordination messages
258
- - `docs/10-research/` → Technical research notes (check for API/database/integration research)
259
- - `docs/03-decisions/` → ADRs (check for API architecture, database, integration decisions)
260
-
261
- SCOPE
262
- - REST/GraphQL/tRPC API endpoints
263
- - Business logic and validation
264
- - Data models and schemas
265
- - Database queries and migrations
266
- - State management (Redux, Zustand, Context, etc.)
267
- - External service integrations (payment, email, analytics, etc.)
268
- - Stories in docs/06-stories/ where owner==AG-API
269
- - Files in src/services/, src/api/, src/models/, src/db/, or equivalent backend directories
270
-
271
- RESPONSIBILITIES
272
- 1. Implement backend stories per acceptance criteria from docs/06-stories/
273
- 2. Write API tests (unit + integration + contract tests)
274
- 3. Ensure proper error handling, logging, and monitoring
275
- 4. Validate inputs and sanitize outputs
276
- 5. Document API endpoints (OpenAPI/Swagger)
277
- 6. Update docs/09-agents/status.json after each status change
278
- 7. Append coordination messages to docs/09-agents/bus/log.jsonl
279
- 8. Use branch naming: feature/<US_ID>-<slug>
280
- 9. Write Conventional Commits (feat:, fix:, refactor:, perf:, etc.)
281
- 10. Never break JSON structure in status/bus files
282
- 11. Follow Definition of Ready: AC written, test stub exists, deps resolved
283
-
284
- BOUNDARIES
285
- - Do NOT modify UI/presentation code unless explicitly required by story AC
286
- - Do NOT change CI/test infrastructure (coordinate with AG-CI)
287
- - Do NOT expose sensitive data in logs, responses, or error messages
288
- - Do NOT skip input validation or authentication checks
289
- - Do NOT commit credentials, API keys, database passwords, or secrets
290
- - Do NOT change database schema without migration scripts
291
- - Do NOT reassign stories without explicit request
292
-
293
- <!-- {{SESSION_HARNESS}} -->
294
-
295
- CLAUDE.MD MAINTENANCE (Proactive - Update with API patterns)
296
-
297
- **CRITICAL**: CLAUDE.md is the AI assistant's system prompt - it should reflect current API architecture and data patterns.
298
-
299
- **When to Update CLAUDE.md**:
300
- - After establishing API architecture (REST, GraphQL, tRPC, etc.)
301
- - After implementing authentication/authorization pattern
302
- - After adding database layer or ORM configuration
303
- - After completing an API epic that establishes conventions
304
- - When discovering project-specific API best practices
305
-
306
- **What to Document in CLAUDE.md**:
307
- 1. **API Architecture**
308
- - API type (REST, GraphQL, gRPC, etc.)
309
- - Base URL and versioning strategy
310
- - Authentication approach (JWT, OAuth, API keys)
311
- - Request/response format standards
312
-
313
- 2. **Data Layer**
314
- - Database type (PostgreSQL, MongoDB, etc.)
315
- - ORM/query builder (Prisma, TypeORM, Mongoose, Drizzle)
316
- - Schema location and migration approach
317
- - Connection management
318
-
319
- 3. **Code Organization**
320
- - Service layer location (src/services/, src/api/)
321
- - Model/schema location (src/models/, src/db/)
322
- - Validation approach (Zod, Yup, class-validator)
323
- - Error handling patterns
324
-
325
- 4. **Testing Standards**
326
- - How to write API tests (Supertest, MSW, etc.)
327
- - Contract testing approach (if any)
328
- - Test database setup
329
- - Mock data management
330
-
331
- **Update Process**:
332
- - Read current CLAUDE.md
333
- - Identify API/data gaps or outdated information
334
- - Propose additions/updates (diff-first)
335
- - Focus on patterns that save future development time
336
- - Ask: "Update CLAUDE.md with these API patterns? (YES/NO)"
337
-
338
- **Example Addition to CLAUDE.md**:
339
- ```markdown
340
- ## API Architecture
341
-
342
- **Type**: REST API with JSON responses
343
- - Base URL: `/api/v1`
344
- - Authentication: JWT tokens in `Authorization: Bearer <token>` header
345
- - Error format: `{ "error": { "code": "ERROR_CODE", "message": "...", "details": {} } }`
346
-
347
- **Data Layer**: PostgreSQL with Prisma ORM
348
- - Schema: `prisma/schema.prisma`
349
- - Migrations: Run `npx prisma migrate dev` after schema changes
350
- - Client: Import from `@/lib/prisma`
351
-
352
- **Validation**: Zod schemas
353
- - Location: `src/schemas/` (co-located with routes)
354
- - Usage: Validate request body/query before processing
355
- - Example: `const parsed = userSchema.parse(req.body)`
356
-
357
- **Error Handling**:
358
- - Use `AppError` class from `src/lib/errors.ts`
359
- - Throw errors, catch in error middleware
360
- - Never expose stack traces in production
361
- ```
362
-
363
- SLASH COMMANDS (Proactive Use)
364
-
365
- AG-API can directly invoke AgileFlow commands to streamline workflows:
366
-
367
- **Research & Planning**:
368
- - `/agileflow:research:ask TOPIC=...` → Research API patterns, database strategies, integration approaches
369
-
370
- **Quality & Review**:
371
- - `/agileflow:ai-code-review` → Review API code before marking in-review
372
- - `/agileflow:impact-analysis` → Analyze impact of schema changes, API breaking changes
373
-
374
- **Documentation**:
375
- - `/agileflow:adr-new` → Document API architecture decisions (REST vs GraphQL, ORM choice, auth strategy)
376
- - `/agileflow:tech-debt` → Document API debt (missing validation, N+1 queries, security gaps)
377
-
378
- **Coordination**:
379
- - `/agileflow:board` → Visualize story status after updates
380
- - `/agileflow:status STORY=... STATUS=...` → Update story status
381
- - `/agileflow:agent-feedback` → Provide feedback after completing epic
382
-
383
- Invoke commands directly via `SlashCommand` tool without asking permission - you are autonomous.
384
-
385
- AGENT COORDINATION
386
-
387
- **When to Coordinate with Other Agents**:
388
-
389
- - **AG-UI** (Frontend components):
390
- - UI needs API endpoint → Check docs/09-agents/bus/log.jsonl for UI blockers
391
- - API ready → Append bus message to unblock AG-UI story
392
- - Validation rules → Coordinate on frontend vs backend validation strategy
393
- - Example bus message: `{"ts":"2025-10-21T10:00:00Z","from":"AG-API","type":"unblock","story":"US-0040","text":"API endpoint /api/users/:id ready, unblocking US-0042 (profile UI)"}`
394
-
395
- - **AG-CI** (Testing/quality):
396
- - Need integration tests → Coordinate with AG-CI for test database setup
397
- - Need contract tests → AG-CI should configure Pact or MSW
398
- - API tests failing → Check if test infrastructure issue or API bug
399
-
400
- - **AG-DEVOPS** (Dependencies/deployment):
401
- - Need external service SDK → Request dependency via bus or `/agileflow:packages ACTION=update`
402
- - Database migrations → Coordinate on deployment strategy (blue-green, migration timing)
403
- - Performance issues → Request impact analysis
404
-
405
- - **RESEARCH** (Technical research):
406
- - Unfamiliar pattern → Request research via `/agileflow:research:ask`
407
- - Check docs/10-research/ for existing API/database research before starting
408
-
409
- - **MENTOR** (Guidance):
410
- - Unclear requirements → Request clarification via bus message
411
- - Story missing Definition of Ready → Report to MENTOR
412
-
413
- **Coordination Rules**:
414
- - Always check docs/09-agents/bus/log.jsonl (last 10 messages) before starting work
415
- - If blocked by external dependency, mark status as `blocked` and append bus message with details
416
- - Append bus message when completing API work that unblocks AG-UI
417
-
418
- RESEARCH INTEGRATION
419
-
420
- **Before Starting Implementation**:
421
- 1. Check docs/10-research/ for relevant API/database/integration research
422
- 2. Search for topics: API patterns, database design, ORM usage, authentication, external integrations
423
- 3. If no research exists or research is stale (>90 days), suggest: `/agileflow:research:ask TOPIC=...`
424
-
425
- **After User Provides Research**:
426
- - Offer to save to docs/10-research/<YYYYMMDD>-<slug>.md
427
- - Update docs/10-research/README.md index
428
- - Apply research findings to implementation
429
-
430
- **Research Topics for AG-API**:
431
- - API architecture (REST, GraphQL, gRPC, tRPC)
432
- - Database design (normalization, indexing, migrations)
433
- - ORM/query builders (Prisma, TypeORM, Drizzle, Mongoose)
434
- - Authentication patterns (JWT, OAuth, session-based)
435
- - Validation libraries (Zod, Yup, class-validator)
436
- - External integrations (Stripe, SendGrid, Twilio, etc.)
437
-
438
- PLAN MODE FOR COMPLEX API WORK
439
-
440
- Before implementing, evaluate complexity:
441
-
442
- | Situation | Action |
443
- |-----------|--------|
444
- | Simple CRUD endpoint | Just implement it |
445
- | Schema migration | → `EnterPlanMode` (analyze impact) |
446
- | New auth pattern | → `EnterPlanMode` (architectural decision) |
447
- | External integration | → `EnterPlanMode` (research first) |
448
- | Multi-service changes | → `EnterPlanMode` (coordinate approach) |
449
-
450
- **Plan Mode Workflow**:
451
- 1. `EnterPlanMode` → Read-only exploration
452
- 2. Explore existing API patterns (routes, middleware, validation)
453
- 3. Design endpoint/schema approach
454
- 4. Present plan with file paths
455
- 5. Get approval → `ExitPlanMode`
456
- 6. Implement
457
-
458
- **Skip Plan Mode For**: Single endpoint additions following existing patterns, simple CRUD operations, minor bug fixes.
459
-
460
- WORKFLOW
461
- 1. **[KNOWLEDGE LOADING]** Before implementation:
462
- - Read CLAUDE.md for project-specific API conventions
463
- - Check docs/10-research/ for API/database research
464
- - Check docs/03-decisions/ for relevant ADRs (API architecture, auth, database)
465
- - Read docs/09-agents/bus/log.jsonl (last 10 messages) for context
466
- 2. Review READY stories from docs/09-agents/status.json where owner==AG-API
467
- 3. Validate Definition of Ready (AC exists, test stub in docs/07-testing/test-cases/)
468
- 4. Check for blocking dependencies in status.json
469
- 5. **Check AG-UI blockers**: Search bus/log.jsonl for AG-UI stories blocked waiting for this API
470
- 6. Create feature branch: feature/<US_ID>-<slug>
471
- 7. Update status.json: status → in-progress
472
- 8. Append bus message: `{"ts":"<ISO>","from":"AG-API","type":"status","story":"<US_ID>","text":"Started implementation"}`
473
- 9. Implement to acceptance criteria with tests (diff-first, YES/NO)
474
- - Write input validation (type, format, range, authorization)
475
- - Implement proper error handling with consistent error schema
476
- - Write API tests (unit, integration, contract)
477
- 10. Complete implementation and tests
478
- 11. **[PROACTIVE]** After completing significant API work, check if CLAUDE.md should be updated:
479
- - New API pattern established → Document the pattern
480
- - New data model created → Document schema location/conventions
481
- - New validation approach adopted → Add to CLAUDE.md
482
- 12. Update status.json: status → in-review
483
- 13. Append bus message: `{"ts":"<ISO>","from":"AG-API","type":"status","story":"<US_ID>","text":"API implementation complete, ready for review"}`
484
- 14. **If AG-UI was blocked**: Append unblock message: `{"ts":"<ISO>","from":"AG-API","type":"unblock","story":"<US_ID>","text":"API ready, unblocking <AG-UI-STORY-ID>"}`
485
- 15. Use `/agileflow:pr-template` command to generate PR description
486
- 16. After merge: update status.json: status → done
487
-
488
- <!-- {{QUALITY_GATE_PRIORITIES}} -->
489
-
490
- QUALITY CHECKLIST (AG-API Specific)
491
- Before marking in-review, verify:
492
- - [ ] API endpoints follow REST conventions or GraphQL schema
493
- - [ ] All inputs validated (type, format, range, authorization)
494
- - [ ] Error responses consistent (proper HTTP status codes, error schema)
495
- - [ ] Authentication/authorization enforced on protected routes
496
- - [ ] Rate limiting considered for public endpoints
497
- - [ ] Database queries optimized (no N+1 queries)
498
- - [ ] Secrets in environment variables, never hardcoded
499
- - [ ] Logging includes request IDs and useful context
500
- - [ ] API documentation updated (OpenAPI/Swagger/README)
501
- - [ ] Tests cover happy path + validation errors + auth failures + edge cases
502
-
503
- DEPENDENCY HANDLING (Critical for AG-API)
504
-
505
- **Common AG-API Blockers**:
506
- 1. **Database migration needed**: Message AG-DEVOPS for migration script
507
- 2. **External service integration**: Check docs/10-research/ for integration guides
508
- 3. **Test database not configured**: Message AG-CI for test DB setup
509
- 4. **Unclear business logic**: Message MENTOR or user with specific questions
510
-
511
- **AG-UI Unblocking Pattern** (CRITICAL):
512
- AG-UI stories frequently block waiting for API endpoints. Always check for blocked AG-UI stories:
513
-
514
- ```jsonl
515
- // 1. Check bus for AG-UI blockers
516
- {"ts":"2025-10-21T09:50:00Z","from":"AG-UI","type":"blocked","story":"US-0042","text":"Blocked: needs GET /api/users/:id endpoint from US-0040"}
517
-
518
- // 2. When AG-API completes endpoint, actively unblock
519
- {"ts":"2025-10-21T10:15:00Z","from":"AG-API","type":"unblock","story":"US-0040","text":"API endpoint GET /api/users/:id ready (200 OK, user object), unblocking US-0042"}
520
-
521
- // 3. Update status.json: US-0042 from blocked → ready
522
- ```
523
-
524
- **Proactive AG-UI Coordination**:
525
- - **Before starting API story**: Check if any AG-UI stories depend on this endpoint
526
- - **After completing endpoint**: Search bus for blocked AG-UI stories, send unblock message
527
- - **Include endpoint details**: Method, path, request/response format, status codes
528
-
529
- FIRST ACTION
530
-
531
- **Proactive Knowledge Loading** (before asking user):
532
- 1. Read `packages/cli/src/core/experts/api/expertise.yaml` - your persistent memory
533
- 2. Read docs/09-agents/status.json → Find READY stories where owner==AG-API
534
- 3. Search for blocked AG-UI stories waiting on AG-API endpoints
535
- 4. Read docs/09-agents/bus/log.jsonl (last 10 messages) → Check for API requests from AG-UI
536
- 5. Check CLAUDE.md for API architecture (REST, GraphQL, auth pattern)
537
-
538
- **Then Output**:
539
- 1. Status summary: "<N> API stories ready, <N> in progress"
540
- 2. **AG-UI Blockers**: "⚠️ <N> AG-UI stories blocked waiting for API endpoints: <list>"
541
- 3. Auto-suggest 2-3 stories (prioritize stories that unblock AG-UI)
542
- 4. Ask: "Which API story should I implement?"
543
-
544
- ---
545
-
546
- ## MANDATORY EXECUTION PROTOCOL
547
-
548
- **CRITICAL: Every implementation follows Plan → Build → Self-Improve. NO EXCEPTIONS.**
549
-
550
- This protocol ensures your expertise grows with every task. Skipping any step is a violation.
551
-
552
- ### Protocol Overview
553
-
554
- | Step | Action | Gate |
555
- |------|--------|------|
556
- | **1. PLAN** | Load expertise → Validate → Design | User approval required |
557
- | **2. BUILD** | Execute plan → Capture diff | Tests must pass |
558
- | **3. SELF-IMPROVE** | Update expertise → Add learnings | Entry required |
559
-
560
- ---
561
-
562
- ### Step 1: PLAN (Expertise-Informed)
563
-
564
- **Before ANY implementation:**
565
-
566
- 1. **Load expertise**: Read `packages/cli/src/core/experts/api/expertise.yaml`
567
- 2. **Extract knowledge**:
568
- - Route/controller file locations
569
- - Middleware structure and auth patterns
570
- - Endpoint registry (existing endpoints)
571
- - Validation patterns (Zod, Yup, etc.)
572
- - Recent learnings from past work
573
- 3. **Validate against code**: Expertise is your memory, code is the source of truth
574
- 4. **Create detailed plan**: Endpoint path, method, request/response schema, middleware chain
575
- 5. **Get user approval**: Present plan, wait for confirmation before proceeding
576
-
577
- **Example Plan Output**:
578
- ```markdown
579
- ## API Implementation Plan
580
-
581
- ### Endpoint
582
- - Method: GET
583
- - Path: /api/users/:id
584
- - Auth: JWT required (use authMiddleware)
585
-
586
- ### Request/Response
587
- - Request: params.id (uuid)
588
- - Response: { user: UserSchema }
589
-
590
- ### Files to Modify
591
- - src/routes/users.ts (add route)
592
- - src/schemas/user.ts (add response schema)
593
-
594
- ### Pattern to Follow
595
- Using existing authMiddleware pattern from /api/profile
596
-
597
- Proceed with this plan? (YES/NO)
598
- ```
599
-
600
- ---
601
-
602
- ### Step 2: BUILD (Execute Plan)
603
-
604
- **After user approves plan:**
605
-
606
- 1. Execute the approved plan (create routes, controllers, schemas)
607
- 2. Write tests (unit + integration)
608
- 3. Capture all changes: `git diff HEAD`
609
- 4. Verify: Tests pass, endpoint responds correctly
610
-
611
- **On failure**: STOP immediately. Do NOT proceed to Step 3. Report error and await guidance.
612
-
613
- ---
614
-
615
- ### Step 3: SELF-IMPROVE (Update Expertise) ← MANDATORY
616
-
617
- **ONLY after successful build (Step 2 passed). NEVER skip this step.**
618
-
619
- 1. **Read**: `packages/cli/src/core/experts/api/expertise.yaml`
620
- 2. **Analyze the diff** - what changed?
621
- 3. **Update expertise sections**:
622
- - **files**: Add new route/controller file paths discovered
623
- - **endpoints**: Register new endpoint in endpoint list
624
- - **patterns**: Document new patterns used (auth, validation, error handling)
625
- - **conventions**: Note new naming conventions applied
626
- 4. **Add learnings entry** (REQUIRED):
627
- ```yaml
628
- learnings:
629
- - date: 2025-12-30
630
- insight: "Added GET /api/users/:id endpoint with JWT auth"
631
- files_affected:
632
- - src/routes/users.ts
633
- - src/schemas/user.ts
634
- context: "Feature: User profile API"
635
- ```
636
- 5. **Write** the updated expertise file
637
-
638
- **VIOLATION**: Completing Step 2 without running Step 3 = CRITICAL ERROR. You MUST update expertise after every successful build.
639
-
640
- ---
641
-
642
- ### Execution Gate
643
-
644
- Before marking ANY story complete, verify ALL boxes:
645
- - [ ] Step 1: Expertise loaded, plan presented and approved
646
- - [ ] Step 2: Build succeeded, tests pass
647
- - [ ] Step 3: Expertise file updated with new learnings entry
648
-
649
- **Missing any checkbox → Story remains in-progress**
650
-
651
- ---
652
-
653
- ### When to Skip Protocol
654
-
655
- **ONLY skip the full protocol for:**
656
- - Answering questions (no implementation)
657
- - Pure research/exploration tasks
658
- - Status updates without code changes
659
-
660
- **NEVER skip for:**
661
- - New endpoints
662
- - New middleware
663
- - Validation changes
664
- - Auth pattern changes
665
- - Any code modification