agileflow 3.4.3 → 4.0.0-alpha.10

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 (1093) hide show
  1. package/CHANGELOG.md +294 -478
  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/accessibility/plugin.yaml +14 -0
  11. package/content/plugins/accessibility/skills/agileflow-accessibility/SKILL.md +392 -0
  12. package/content/plugins/accessibility/skills/agileflow-accessibility/references/aria-patterns.md +528 -0
  13. package/content/plugins/accessibility/skills/agileflow-accessibility/references/testing-checklist.md +457 -0
  14. package/content/plugins/accessibility/skills/agileflow-accessibility/references/wcag-guide.md +683 -0
  15. package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/audit-page.md +310 -0
  16. package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/implement-accessible-component.md +479 -0
  17. package/content/plugins/ads/agents/ads-audit-budget.md +185 -0
  18. package/content/plugins/ads/agents/ads-audit-compliance.md +171 -0
  19. package/content/plugins/ads/agents/ads-audit-creative.md +168 -0
  20. package/content/plugins/ads/agents/ads-audit-google.md +227 -0
  21. package/content/plugins/ads/agents/ads-audit-meta.md +184 -0
  22. package/content/plugins/ads/agents/ads-audit-tracking.md +205 -0
  23. package/content/plugins/ads/agents/ads-consensus.md +410 -0
  24. package/content/plugins/ads/agents/ads-generate.md +152 -0
  25. package/content/plugins/ads/agents/ads-performance-tracker.md +212 -0
  26. package/content/plugins/ads/plugin.yaml +33 -0
  27. package/content/plugins/ads/skills/agileflow-ads/SKILL.md +218 -0
  28. package/content/plugins/ads/skills/agileflow-ads/references/ad-copy-formula-guide.md +131 -0
  29. package/content/plugins/ads/skills/agileflow-ads/references/audience-targeting-guide.md +137 -0
  30. package/content/plugins/ads/skills/agileflow-ads/references/bid-strategy-guide.md +115 -0
  31. package/content/plugins/ads/skills/agileflow-ads/references/platform-benchmarks.md +100 -0
  32. package/content/plugins/ads/skills/agileflow-ads/workflows/audit.md +118 -0
  33. package/content/plugins/ads/skills/agileflow-ads/workflows/generate.md +84 -0
  34. package/content/plugins/audit/agents/a11y-analyzer-aria.md +173 -0
  35. package/content/plugins/audit/agents/a11y-analyzer-forms.md +173 -0
  36. package/content/plugins/audit/agents/a11y-analyzer-keyboard.md +183 -0
  37. package/content/plugins/audit/agents/a11y-analyzer-semantic.md +169 -0
  38. package/content/plugins/audit/agents/a11y-analyzer-visual.md +172 -0
  39. package/content/plugins/audit/agents/a11y-consensus.md +249 -0
  40. package/content/plugins/audit/agents/accessibility.md +558 -0
  41. package/content/plugins/audit/agents/api-quality-analyzer-conventions.md +156 -0
  42. package/content/plugins/audit/agents/api-quality-analyzer-docs.md +184 -0
  43. package/content/plugins/audit/agents/api-quality-analyzer-errors.md +191 -0
  44. package/content/plugins/audit/agents/api-quality-analyzer-pagination.md +179 -0
  45. package/content/plugins/audit/agents/api-quality-analyzer-versioning.md +150 -0
  46. package/content/plugins/audit/agents/api-quality-consensus.md +217 -0
  47. package/content/plugins/audit/agents/api-validator.md +191 -0
  48. package/content/plugins/audit/agents/arch-analyzer-circular.md +156 -0
  49. package/content/plugins/audit/agents/arch-analyzer-complexity.md +193 -0
  50. package/content/plugins/audit/agents/arch-analyzer-coupling.md +152 -0
  51. package/content/plugins/audit/agents/arch-analyzer-layering.md +160 -0
  52. package/content/plugins/audit/agents/arch-analyzer-patterns.md +210 -0
  53. package/content/plugins/audit/agents/arch-consensus.md +228 -0
  54. package/content/plugins/audit/agents/browser-qa.md +342 -0
  55. package/content/plugins/audit/agents/code-reviewer.md +298 -0
  56. package/content/plugins/audit/agents/completeness-analyzer-api.md +199 -0
  57. package/content/plugins/audit/agents/completeness-analyzer-conditional.md +211 -0
  58. package/content/plugins/audit/agents/completeness-analyzer-handlers.md +166 -0
  59. package/content/plugins/audit/agents/completeness-analyzer-imports.md +165 -0
  60. package/content/plugins/audit/agents/completeness-analyzer-routes.md +190 -0
  61. package/content/plugins/audit/agents/completeness-analyzer-state.md +196 -0
  62. package/content/plugins/audit/agents/completeness-analyzer-stubs.md +206 -0
  63. package/content/plugins/audit/agents/completeness-consensus.md +295 -0
  64. package/content/plugins/audit/agents/error-analyzer.md +213 -0
  65. package/content/plugins/audit/agents/flow-analyzer-authorization.md +182 -0
  66. package/content/plugins/audit/agents/flow-analyzer-discovery.md +174 -0
  67. package/content/plugins/audit/agents/flow-analyzer-errors.md +186 -0
  68. package/content/plugins/audit/agents/flow-analyzer-feedback.md +185 -0
  69. package/content/plugins/audit/agents/flow-analyzer-navigation.md +177 -0
  70. package/content/plugins/audit/agents/flow-analyzer-persistence.md +193 -0
  71. package/content/plugins/audit/agents/flow-analyzer-wiring.md +169 -0
  72. package/content/plugins/audit/agents/flow-consensus.md +237 -0
  73. package/content/plugins/audit/agents/legal-analyzer-a11y.md +114 -0
  74. package/content/plugins/audit/agents/legal-analyzer-ai.md +121 -0
  75. package/content/plugins/audit/agents/legal-analyzer-consumer.md +114 -0
  76. package/content/plugins/audit/agents/legal-analyzer-content.md +117 -0
  77. package/content/plugins/audit/agents/legal-analyzer-international.md +119 -0
  78. package/content/plugins/audit/agents/legal-analyzer-licensing.md +119 -0
  79. package/content/plugins/audit/agents/legal-analyzer-privacy.md +112 -0
  80. package/content/plugins/audit/agents/legal-analyzer-security.md +116 -0
  81. package/content/plugins/audit/agents/legal-analyzer-terms.md +115 -0
  82. package/content/plugins/audit/agents/legal-consensus.md +250 -0
  83. package/content/plugins/audit/agents/logic-analyzer-edge.md +179 -0
  84. package/content/plugins/audit/agents/logic-analyzer-flow.md +264 -0
  85. package/content/plugins/audit/agents/logic-analyzer-invariant.md +215 -0
  86. package/content/plugins/audit/agents/logic-analyzer-race.md +280 -0
  87. package/content/plugins/audit/agents/logic-analyzer-type.md +227 -0
  88. package/content/plugins/audit/agents/logic-consensus.md +259 -0
  89. package/content/plugins/audit/agents/perf-analyzer-assets.md +182 -0
  90. package/content/plugins/audit/agents/perf-analyzer-bundle.md +173 -0
  91. package/content/plugins/audit/agents/perf-analyzer-caching.md +170 -0
  92. package/content/plugins/audit/agents/perf-analyzer-compute.md +173 -0
  93. package/content/plugins/audit/agents/perf-analyzer-memory.md +193 -0
  94. package/content/plugins/audit/agents/perf-analyzer-network.md +165 -0
  95. package/content/plugins/audit/agents/perf-analyzer-queries.md +162 -0
  96. package/content/plugins/audit/agents/perf-analyzer-rendering.md +168 -0
  97. package/content/plugins/audit/agents/perf-consensus.md +287 -0
  98. package/content/plugins/audit/agents/qa.md +820 -0
  99. package/content/plugins/audit/agents/quality-analyzer-comments.md +159 -0
  100. package/content/plugins/audit/agents/quality-analyzer-duplication.md +184 -0
  101. package/content/plugins/audit/agents/quality-analyzer-naming.md +160 -0
  102. package/content/plugins/audit/agents/quality-consensus.md +241 -0
  103. package/content/plugins/audit/agents/schema-validator.md +473 -0
  104. package/content/plugins/audit/agents/security-analyzer-api.md +210 -0
  105. package/content/plugins/audit/agents/security-analyzer-auth.md +169 -0
  106. package/content/plugins/audit/agents/security-analyzer-authz.md +180 -0
  107. package/content/plugins/audit/agents/security-analyzer-deps.md +153 -0
  108. package/content/plugins/audit/agents/security-analyzer-infra.md +184 -0
  109. package/content/plugins/audit/agents/security-analyzer-injection.md +155 -0
  110. package/content/plugins/audit/agents/security-analyzer-input.md +201 -0
  111. package/content/plugins/audit/agents/security-analyzer-secrets.md +183 -0
  112. package/content/plugins/audit/agents/security-consensus.md +283 -0
  113. package/content/plugins/audit/agents/test-analyzer-assertions.md +188 -0
  114. package/content/plugins/audit/agents/test-analyzer-coverage.md +189 -0
  115. package/content/plugins/audit/agents/test-analyzer-fragility.md +193 -0
  116. package/content/plugins/audit/agents/test-analyzer-integration.md +161 -0
  117. package/content/plugins/audit/agents/test-analyzer-maintenance.md +180 -0
  118. package/content/plugins/audit/agents/test-analyzer-mocking.md +188 -0
  119. package/content/plugins/audit/agents/test-analyzer-patterns.md +196 -0
  120. package/content/plugins/audit/agents/test-analyzer-structure.md +184 -0
  121. package/content/plugins/audit/agents/test-consensus.md +301 -0
  122. package/content/plugins/audit/agents/testing.md +561 -0
  123. package/content/plugins/audit/agents/ui-validator.md +344 -0
  124. package/content/plugins/audit/plugin.yaml +195 -0
  125. package/content/plugins/audit/skills/agileflow-audit/SKILL.md +113 -0
  126. package/content/plugins/audit/skills/agileflow-audit/references/audit-depth-guide.md +151 -0
  127. package/content/plugins/audit/skills/agileflow-audit/references/dependency-risk-guide.md +139 -0
  128. package/content/plugins/audit/skills/agileflow-audit/references/owasp-top10.md +120 -0
  129. package/content/plugins/audit/skills/agileflow-audit/references/performance-budget-guide.md +143 -0
  130. package/content/plugins/audit/skills/agileflow-audit/references/wcag-criteria.md +117 -0
  131. package/content/plugins/audit/skills/agileflow-audit/workflows/run-audit.md +52 -0
  132. package/content/plugins/audit/skills/agileflow-audit/workflows/tdd.md +66 -0
  133. package/content/plugins/core/agents/adr-writer.md +521 -0
  134. package/content/plugins/core/agents/epic-planner.md +520 -0
  135. package/content/plugins/core/agents/mentor.md +709 -0
  136. package/content/plugins/core/agents/orchestrator.md +776 -0
  137. package/content/plugins/core/agents/team-coordinator.md +334 -0
  138. package/content/plugins/core/agents/team-lead.md +181 -0
  139. package/content/plugins/core/agents/workspace-orchestrator.md +146 -0
  140. package/content/plugins/core/hooks/context-loader.js +196 -0
  141. package/content/plugins/core/hooks/damage-control-bash.js +86 -0
  142. package/content/plugins/core/hooks/damage-control-edit.js +79 -0
  143. package/content/plugins/core/hooks/damage-control-patterns.yaml +100 -0
  144. package/content/plugins/core/hooks/damage-control-write.js +75 -0
  145. package/content/plugins/core/hooks/post-compact-state.js +107 -0
  146. package/content/plugins/core/hooks/preferences-injector.js +352 -0
  147. package/content/plugins/core/hooks/session-welcome.js +19 -0
  148. package/content/plugins/core/plugin.yaml +78 -0
  149. package/content/plugins/core/skills/agileflow-adr/SKILL.md +205 -0
  150. package/content/plugins/core/skills/agileflow-adr/references/madr-format-guide.md +86 -0
  151. package/content/plugins/core/skills/agileflow-adr/workflows/write-adr.md +57 -0
  152. package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +211 -0
  153. package/content/plugins/core/skills/agileflow-babysit-mentor/references/mentor-decision-guide.md +81 -0
  154. package/content/plugins/core/skills/agileflow-babysit-mentor/workflows/mentor-session.md +79 -0
  155. package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +209 -0
  156. package/content/plugins/core/skills/agileflow-epic-planner/references/epic-sizing-guide.md +81 -0
  157. package/content/plugins/core/skills/agileflow-epic-planner/workflows/plan-epic.md +55 -0
  158. package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +148 -0
  159. package/content/plugins/core/skills/agileflow-status-updater/references/status-transitions.md +89 -0
  160. package/content/plugins/core/skills/agileflow-status-updater/workflows/update-status.md +56 -0
  161. package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +125 -0
  162. package/content/plugins/core/skills/agileflow-story-writer/references/estimation-reference.md +36 -0
  163. package/content/plugins/core/skills/agileflow-story-writer/references/story-template.md +92 -0
  164. package/content/plugins/core/skills/agileflow-story-writer/workflows/write-story.md +138 -0
  165. package/content/plugins/council/agents/council-advocate.md +223 -0
  166. package/content/plugins/council/agents/council-analyst.md +278 -0
  167. package/content/plugins/council/agents/council-compounder.md +204 -0
  168. package/content/plugins/council/agents/council-contrarian.md +217 -0
  169. package/content/plugins/council/agents/council-moonshot.md +217 -0
  170. package/content/plugins/council/agents/council-optimist.md +185 -0
  171. package/content/plugins/council/agents/council-revenue.md +200 -0
  172. package/content/plugins/council/agents/council-technical.md +218 -0
  173. package/content/plugins/council/agents/multi-expert.md +334 -0
  174. package/content/plugins/council/plugin.yaml +33 -0
  175. package/content/plugins/council/skills/agileflow-council/SKILL.md +102 -0
  176. package/content/plugins/council/skills/agileflow-council/references/decision-log-template.md +109 -0
  177. package/content/plugins/council/skills/agileflow-council/references/perspective-guide.md +104 -0
  178. package/content/plugins/council/skills/agileflow-council/references/when-to-convene-guide.md +112 -0
  179. package/content/plugins/council/skills/agileflow-council/workflows/convene.md +73 -0
  180. package/content/plugins/council/skills/agileflow-council/workflows/multi-expert.md +75 -0
  181. package/content/plugins/database/plugin.yaml +14 -0
  182. package/content/plugins/database/skills/agileflow-database/SKILL.md +284 -0
  183. package/content/plugins/database/skills/agileflow-database/references/indexing-guide.md +313 -0
  184. package/content/plugins/database/skills/agileflow-database/references/migration-guide.md +328 -0
  185. package/content/plugins/database/skills/agileflow-database/references/schema-design-guide.md +467 -0
  186. package/content/plugins/database/skills/agileflow-database/workflows/design-schema.md +213 -0
  187. package/content/plugins/database/skills/agileflow-database/workflows/optimize-query.md +253 -0
  188. package/content/plugins/debugging/plugin.yaml +14 -0
  189. package/content/plugins/debugging/skills/agileflow-debug/SKILL.md +236 -0
  190. package/content/plugins/debugging/skills/agileflow-debug/references/common-patterns.md +350 -0
  191. package/content/plugins/debugging/skills/agileflow-debug/references/debugging-strategies.md +328 -0
  192. package/content/plugins/debugging/skills/agileflow-debug/workflows/debug-issue.md +187 -0
  193. package/content/plugins/debugging/skills/agileflow-debug/workflows/reproduce-bug.md +194 -0
  194. package/content/plugins/delivery/agents/ci.md +547 -0
  195. package/content/plugins/delivery/agents/devops.md +789 -0
  196. package/content/plugins/delivery/plugin.yaml +19 -0
  197. package/content/plugins/delivery/skills/agileflow-delivery/SKILL.md +111 -0
  198. package/content/plugins/delivery/skills/agileflow-delivery/references/changelog-format-guide.md +133 -0
  199. package/content/plugins/delivery/skills/agileflow-delivery/references/ci-pipeline-guide.md +158 -0
  200. package/content/plugins/delivery/skills/agileflow-delivery/references/pr-checklist-guide.md +133 -0
  201. package/content/plugins/delivery/skills/agileflow-delivery/references/release-checklist.md +142 -0
  202. package/content/plugins/delivery/skills/agileflow-delivery/workflows/changelog.md +72 -0
  203. package/content/plugins/delivery/skills/agileflow-delivery/workflows/deploy.md +74 -0
  204. package/content/plugins/delivery/skills/agileflow-delivery/workflows/pr.md +75 -0
  205. package/content/plugins/docs/agents/documentation.md +544 -0
  206. package/content/plugins/docs/agents/readme-updater.md +640 -0
  207. package/content/plugins/docs/plugin.yaml +19 -0
  208. package/content/plugins/docs/skills/agileflow-docs/SKILL.md +106 -0
  209. package/content/plugins/docs/skills/agileflow-docs/references/api-doc-template.md +167 -0
  210. package/content/plugins/docs/skills/agileflow-docs/references/doc-types-guide.md +141 -0
  211. package/content/plugins/docs/skills/agileflow-docs/references/readme-template.md +156 -0
  212. package/content/plugins/docs/skills/agileflow-docs/workflows/readme-sync.md +57 -0
  213. package/content/plugins/docs/skills/agileflow-docs/workflows/sync.md +64 -0
  214. package/content/plugins/engineering/agents/api.md +718 -0
  215. package/content/plugins/engineering/agents/codebase-query.md +285 -0
  216. package/content/plugins/engineering/agents/compliance.md +559 -0
  217. package/content/plugins/engineering/agents/database.md +644 -0
  218. package/content/plugins/engineering/agents/integrations.md +644 -0
  219. package/content/plugins/engineering/agents/mobile.md +552 -0
  220. package/content/plugins/engineering/agents/monitoring.md +585 -0
  221. package/content/plugins/engineering/agents/performance.md +529 -0
  222. package/content/plugins/engineering/agents/refactor.md +592 -0
  223. package/content/plugins/engineering/agents/security.md +524 -0
  224. package/content/plugins/engineering/agents/ui.md +1336 -0
  225. package/content/plugins/engineering/plugin.yaml +37 -0
  226. package/content/plugins/engineering/skills/agileflow-engineering/SKILL.md +127 -0
  227. package/content/plugins/engineering/skills/agileflow-engineering/references/code-review-guide.md +126 -0
  228. package/content/plugins/engineering/skills/agileflow-engineering/references/domain-routing-guide.md +89 -0
  229. package/content/plugins/engineering/skills/agileflow-engineering/references/refactoring-guide.md +136 -0
  230. package/content/plugins/engineering/skills/agileflow-engineering/workflows/diagnose.md +63 -0
  231. package/content/plugins/engineering/skills/agileflow-engineering/workflows/impact.md +60 -0
  232. package/content/plugins/ideation/agents/brainstorm-analyzer-features.md +179 -0
  233. package/content/plugins/ideation/agents/brainstorm-analyzer-growth.md +169 -0
  234. package/content/plugins/ideation/agents/brainstorm-analyzer-integration.md +181 -0
  235. package/content/plugins/ideation/agents/brainstorm-analyzer-market.md +150 -0
  236. package/content/plugins/ideation/agents/brainstorm-analyzer-ux.md +180 -0
  237. package/content/plugins/ideation/agents/brainstorm-consensus.md +245 -0
  238. package/content/plugins/ideation/agents/design.md +568 -0
  239. package/content/plugins/ideation/agents/product.md +582 -0
  240. package/content/plugins/ideation/plugin.yaml +31 -0
  241. package/content/plugins/ideation/skills/agileflow-ideation/SKILL.md +109 -0
  242. package/content/plugins/ideation/skills/agileflow-ideation/references/brainstorm-techniques.md +138 -0
  243. package/content/plugins/ideation/skills/agileflow-ideation/references/competitive-analysis-template.md +148 -0
  244. package/content/plugins/ideation/skills/agileflow-ideation/references/feature-prioritization-guide.md +147 -0
  245. package/content/plugins/ideation/skills/agileflow-ideation/references/user-story-patterns.md +152 -0
  246. package/content/plugins/ideation/skills/agileflow-ideation/workflows/features.md +65 -0
  247. package/content/plugins/ideation/skills/agileflow-ideation/workflows/ideate.md +54 -0
  248. package/content/plugins/migration/agents/datamigration.md +757 -0
  249. package/content/plugins/migration/plugin.yaml +17 -0
  250. package/content/plugins/migration/skills/agileflow-migration/SKILL.md +106 -0
  251. package/content/plugins/migration/skills/agileflow-migration/references/data-validation-checklist.md +154 -0
  252. package/content/plugins/migration/skills/agileflow-migration/references/migration-patterns.md +209 -0
  253. package/content/plugins/migration/skills/agileflow-migration/references/rollback-playbook.md +171 -0
  254. package/content/plugins/migration/skills/agileflow-migration/references/version-compatibility-matrix.md +155 -0
  255. package/content/plugins/migration/skills/agileflow-migration/workflows/plan.md +73 -0
  256. package/content/plugins/migration/skills/agileflow-migration/workflows/validate.md +71 -0
  257. package/content/plugins/performance/plugin.yaml +14 -0
  258. package/content/plugins/performance/skills/agileflow-performance/SKILL.md +224 -0
  259. package/content/plugins/performance/skills/agileflow-performance/references/optimization-patterns.md +554 -0
  260. package/content/plugins/performance/skills/agileflow-performance/references/profiling-guide.md +383 -0
  261. package/content/plugins/performance/skills/agileflow-performance/references/web-vitals-guide.md +360 -0
  262. package/content/plugins/performance/skills/agileflow-performance/workflows/improve-web-vitals.md +344 -0
  263. package/content/plugins/performance/skills/agileflow-performance/workflows/profile-and-fix.md +254 -0
  264. package/content/plugins/planning/agents/analytics.md +670 -0
  265. package/content/plugins/planning/agents/rlm-subcore.md +215 -0
  266. package/content/plugins/planning/plugin.yaml +19 -0
  267. package/content/plugins/planning/skills/agileflow-planning/SKILL.md +111 -0
  268. package/content/plugins/planning/skills/agileflow-planning/references/estimation-guide.md +114 -0
  269. package/content/plugins/planning/skills/agileflow-planning/references/rpi-workflow.md +119 -0
  270. package/content/plugins/planning/skills/agileflow-planning/references/sprint-planning-guide.md +145 -0
  271. package/content/plugins/planning/skills/agileflow-planning/workflows/impact.md +63 -0
  272. package/content/plugins/planning/skills/agileflow-planning/workflows/rpi.md +104 -0
  273. package/content/plugins/psychology/plugin.yaml +14 -0
  274. package/content/plugins/psychology/skills/agileflow-retention/SKILL.md +252 -0
  275. package/content/plugins/psychology/skills/agileflow-retention/references/competitor-analysis.md +240 -0
  276. package/content/plugins/psychology/skills/agileflow-retention/references/psychology-models.md +349 -0
  277. package/content/plugins/psychology/skills/agileflow-retention/references/retention-patterns.md +279 -0
  278. package/content/plugins/psychology/skills/agileflow-retention/workflows/design-retention-feature.md +287 -0
  279. package/content/plugins/psychology/skills/agileflow-retention/workflows/retention-audit.md +259 -0
  280. package/content/plugins/refactoring/plugin.yaml +14 -0
  281. package/content/plugins/refactoring/skills/agileflow-refactor/SKILL.md +235 -0
  282. package/content/plugins/refactoring/skills/agileflow-refactor/references/refactoring-patterns.md +405 -0
  283. package/content/plugins/refactoring/skills/agileflow-refactor/references/safety-checks.md +177 -0
  284. package/content/plugins/refactoring/skills/agileflow-refactor/workflows/extract-module.md +226 -0
  285. package/content/plugins/refactoring/skills/agileflow-refactor/workflows/safe-refactor.md +169 -0
  286. package/content/plugins/research/agents/research.md +503 -0
  287. package/content/plugins/research/plugin.yaml +17 -0
  288. package/content/plugins/research/skills/agileflow-research/SKILL.md +110 -0
  289. package/content/plugins/research/skills/agileflow-research/references/knowledge-decay-guide.md +121 -0
  290. package/content/plugins/research/skills/agileflow-research/references/research-prompt-guide.md +141 -0
  291. package/content/plugins/research/skills/agileflow-research/references/synthesis-template.md +154 -0
  292. package/content/plugins/research/skills/agileflow-research/workflows/analyze.md +60 -0
  293. package/content/plugins/research/skills/agileflow-research/workflows/ask.md +64 -0
  294. package/content/plugins/research/skills/agileflow-research/workflows/import.md +66 -0
  295. package/content/plugins/research/skills/agileflow-research/workflows/synthesize.md +66 -0
  296. package/content/plugins/reviews/plugin.yaml +14 -0
  297. package/content/plugins/reviews/skills/agileflow-pr-reviewer/SKILL.md +241 -0
  298. package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/review-checklist.md +200 -0
  299. package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/security-patterns.md +328 -0
  300. package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/review-pr.md +153 -0
  301. package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/security-review.md +177 -0
  302. package/content/plugins/seo/agents/seo-analyzer-content.md +169 -0
  303. package/content/plugins/seo/agents/seo-analyzer-images.md +198 -0
  304. package/content/plugins/seo/agents/seo-analyzer-performance.md +217 -0
  305. package/content/plugins/seo/agents/seo-analyzer-schema.md +184 -0
  306. package/content/plugins/seo/agents/seo-analyzer-sitemap.md +177 -0
  307. package/content/plugins/seo/agents/seo-analyzer-technical.md +151 -0
  308. package/content/plugins/seo/agents/seo-consensus.md +304 -0
  309. package/content/plugins/seo/plugin.yaml +29 -0
  310. package/content/plugins/seo/skills/agileflow-seo/SKILL.md +188 -0
  311. package/content/plugins/seo/skills/agileflow-seo/references/cwv-thresholds.md +110 -0
  312. package/content/plugins/seo/skills/agileflow-seo/references/eeat-framework.md +144 -0
  313. package/content/plugins/seo/skills/agileflow-seo/references/keyword-research-guide.md +125 -0
  314. package/content/plugins/seo/skills/agileflow-seo/references/schema-types.md +139 -0
  315. package/content/plugins/seo/skills/agileflow-seo/references/technical-seo-checklist.md +139 -0
  316. package/content/plugins/seo/skills/agileflow-seo/workflows/audit.md +98 -0
  317. package/content/plugins/seo/skills/agileflow-seo/workflows/page.md +118 -0
  318. package/content/plugins/testing/plugin.yaml +16 -0
  319. package/content/plugins/testing/skills/agileflow-test-writer/SKILL.md +260 -0
  320. package/content/plugins/testing/skills/agileflow-test-writer/references/coverage-targets.md +239 -0
  321. package/content/plugins/testing/skills/agileflow-test-writer/references/test-patterns.md +420 -0
  322. package/content/plugins/testing/skills/agileflow-test-writer/workflows/add-coverage.md +154 -0
  323. package/content/plugins/testing/skills/agileflow-test-writer/workflows/write-tests-from-ac.md +225 -0
  324. package/package.json +30 -50
  325. package/src/cli/commands/doctor.js +947 -0
  326. package/src/cli/commands/hook.js +83 -0
  327. package/src/cli/commands/launch.js +1385 -0
  328. package/src/cli/commands/learn.js +149 -0
  329. package/src/cli/commands/plugins.js +113 -0
  330. package/src/cli/commands/setup.js +637 -0
  331. package/src/cli/commands/skills.js +324 -0
  332. package/src/cli/commands/status.js +45 -0
  333. package/src/cli/commands/update.js +144 -0
  334. package/src/cli/index.js +137 -0
  335. package/src/cli/wizard/babysit-mode-picker.js +192 -0
  336. package/src/cli/wizard/behaviors-picker.js +262 -0
  337. package/src/cli/wizard/ide-picker.js +69 -0
  338. package/src/cli/wizard/install-scope-picker.js +57 -0
  339. package/src/cli/wizard/launch-alias-picker.js +50 -0
  340. package/src/cli/wizard/launch-cli-picker.js +129 -0
  341. package/src/cli/wizard/launch-tmux-picker.js +133 -0
  342. package/src/cli/wizard/learnings-picker.js +40 -0
  343. package/src/cli/wizard/plugin-picker.js +137 -0
  344. package/src/lib/brand.js +116 -0
  345. package/src/lib/errors.js +120 -0
  346. package/src/lib/hash.js +41 -0
  347. package/src/lib/path-check.js +39 -0
  348. package/src/runtime/config/defaults.js +66 -0
  349. package/src/runtime/config/loader.js +186 -0
  350. package/src/runtime/config/schema.json +126 -0
  351. package/src/runtime/config/writer.js +57 -0
  352. package/src/runtime/hooks/aggregator.js +157 -0
  353. package/src/runtime/hooks/chain.js +93 -0
  354. package/src/runtime/hooks/logger.js +68 -0
  355. package/src/runtime/hooks/manifest-loader.js +228 -0
  356. package/src/runtime/hooks/orchestrator.js +322 -0
  357. package/src/runtime/ide/babysit-skill.js +202 -0
  358. package/src/runtime/ide/capabilities.js +166 -0
  359. package/src/runtime/ide/claude-code-content.js +177 -0
  360. package/src/runtime/ide/claude-code-settings.js +272 -0
  361. package/src/runtime/ide/claude-code-skills.js +217 -0
  362. package/src/runtime/ide/codex-config.js +295 -0
  363. package/src/runtime/installer/file-index.js +112 -0
  364. package/src/runtime/installer/install.js +557 -0
  365. package/src/runtime/installer/stash.js +61 -0
  366. package/src/runtime/installer/sync-engine.js +205 -0
  367. package/src/runtime/launch/alias-installer.js +191 -0
  368. package/src/runtime/launch/cli-resume.js +244 -0
  369. package/src/runtime/launch/closed-windows.js +338 -0
  370. package/src/runtime/launch/defaults.js +66 -0
  371. package/src/runtime/launch/detect-clis.js +69 -0
  372. package/src/runtime/launch/doctor.js +464 -0
  373. package/src/runtime/launch/exec-wrapper.js +114 -0
  374. package/src/runtime/launch/parallel-session.js +247 -0
  375. package/src/runtime/launch/prefs.js +211 -0
  376. package/src/runtime/launch/project-prefs.js +234 -0
  377. package/src/runtime/launch/resolve-cli.js +56 -0
  378. package/src/runtime/launch/restore.js +142 -0
  379. package/src/runtime/launch/schema.json +75 -0
  380. package/src/runtime/launch/session-lifecycle.js +313 -0
  381. package/src/runtime/launch/session-registry.js +401 -0
  382. package/src/runtime/launch/spawn.js +103 -0
  383. package/src/runtime/launch/tabs.js +315 -0
  384. package/src/runtime/launch/tmux.js +654 -0
  385. package/src/runtime/launch/worktree.js +260 -0
  386. package/src/runtime/plugins/registry.js +137 -0
  387. package/src/runtime/plugins/resolver.js +138 -0
  388. package/src/runtime/plugins/validator.js +210 -0
  389. package/src/runtime/skills/learnings.js +308 -0
  390. package/src/runtime/skills/validator.js +335 -0
  391. package/lib/README.md +0 -178
  392. package/lib/api-routes.js +0 -625
  393. package/lib/api-server.js +0 -278
  394. package/lib/cache-provider.js +0 -155
  395. package/lib/codebase-indexer.js +0 -819
  396. package/lib/colors.generated.js +0 -117
  397. package/lib/colors.js +0 -341
  398. package/lib/consent.js +0 -232
  399. package/lib/content-sanitizer.js +0 -464
  400. package/lib/correlation.js +0 -277
  401. package/lib/drivers/claude-driver.ts +0 -312
  402. package/lib/drivers/codex-driver.ts +0 -464
  403. package/lib/drivers/driver-manager.ts +0 -159
  404. package/lib/drivers/gemini-driver.ts +0 -498
  405. package/lib/drivers/index.ts +0 -17
  406. package/lib/error-codes.js +0 -590
  407. package/lib/errors.js +0 -670
  408. package/lib/feature-flags.js +0 -171
  409. package/lib/feedback.js +0 -595
  410. package/lib/file-cache.js +0 -541
  411. package/lib/flag-detection.js +0 -344
  412. package/lib/format-error.js +0 -156
  413. package/lib/gate-runner.js +0 -282
  414. package/lib/generator-factory.js +0 -333
  415. package/lib/git-operations.js +0 -266
  416. package/lib/lazy-require.js +0 -59
  417. package/lib/lock-file.js +0 -144
  418. package/lib/logger.js +0 -106
  419. package/lib/merge-operations.js +0 -1006
  420. package/lib/path-resolver.js +0 -544
  421. package/lib/path-utils.js +0 -49
  422. package/lib/paths.js +0 -291
  423. package/lib/placeholder-registry.js +0 -822
  424. package/lib/process-executor.js +0 -214
  425. package/lib/progress.js +0 -334
  426. package/lib/protocol/driver.ts +0 -354
  427. package/lib/protocol/index.ts +0 -12
  428. package/lib/protocol/ir.ts +0 -271
  429. package/lib/registry-cache.js +0 -80
  430. package/lib/registry-di.js +0 -358
  431. package/lib/result-schema.js +0 -363
  432. package/lib/result.js +0 -210
  433. package/lib/session-display.js +0 -331
  434. package/lib/session-operations.js +0 -611
  435. package/lib/session-registry.js +0 -484
  436. package/lib/session-state-machine.js +0 -465
  437. package/lib/session-switching.js +0 -191
  438. package/lib/skill-loader.js +0 -213
  439. package/lib/smart-json-file.js +0 -682
  440. package/lib/state-machine.js +0 -286
  441. package/lib/table-formatter.js +0 -519
  442. package/lib/template-loader.js +0 -143
  443. package/lib/transient-status.js +0 -374
  444. package/lib/ui-manager.js +0 -612
  445. package/lib/validate-args.js +0 -213
  446. package/lib/validate-commands.js +0 -308
  447. package/lib/validate-names.js +0 -143
  448. package/lib/validate-paths.js +0 -434
  449. package/lib/validate.js +0 -134
  450. package/lib/worktree-operations.js +0 -201
  451. package/lib/yaml-utils.js +0 -164
  452. package/scripts/README.md +0 -267
  453. package/scripts/af +0 -34
  454. package/scripts/agent-loop.js +0 -879
  455. package/scripts/agileflow-configure.js +0 -368
  456. package/scripts/agileflow-statusline.sh +0 -857
  457. package/scripts/agileflow-welcome.js +0 -2246
  458. package/scripts/api-server-runner.js +0 -177
  459. package/scripts/archive-completed-stories.sh +0 -308
  460. package/scripts/auto-self-improve.js +0 -326
  461. package/scripts/automation-run-due.js +0 -128
  462. package/scripts/babysit-clear-restore.js +0 -154
  463. package/scripts/babysit-context-restore.js +0 -89
  464. package/scripts/backfill-ideation-status.js +0 -128
  465. package/scripts/batch-pmap-loop.js +0 -551
  466. package/scripts/check-sessions.js +0 -116
  467. package/scripts/check-update.js +0 -282
  468. package/scripts/ci-summary.js +0 -294
  469. package/scripts/claude-smart.sh +0 -85
  470. package/scripts/claude-tmux.sh +0 -737
  471. package/scripts/claude-watchdog.sh +0 -225
  472. package/scripts/clear-active-command.js +0 -48
  473. package/scripts/compress-status.sh +0 -116
  474. package/scripts/context-loader.js +0 -310
  475. package/scripts/damage-control/bash-tool-damage-control.js +0 -22
  476. package/scripts/damage-control/edit-tool-damage-control.js +0 -19
  477. package/scripts/damage-control/patterns.yaml +0 -227
  478. package/scripts/damage-control/write-tool-damage-control.js +0 -19
  479. package/scripts/damage-control-bash.js +0 -51
  480. package/scripts/damage-control-edit.js +0 -48
  481. package/scripts/damage-control-multi-agent.js +0 -231
  482. package/scripts/damage-control-write.js +0 -48
  483. package/scripts/dependency-check.js +0 -311
  484. package/scripts/document-repl.js +0 -793
  485. package/scripts/expertise-metrics.sh +0 -264
  486. package/scripts/generate-all.sh +0 -77
  487. package/scripts/generate-colors.js +0 -314
  488. package/scripts/generators/agent-registry.js +0 -183
  489. package/scripts/generators/command-registry.js +0 -166
  490. package/scripts/generators/index.js +0 -85
  491. package/scripts/generators/inject-babysit.js +0 -191
  492. package/scripts/generators/inject-help.js +0 -125
  493. package/scripts/generators/inject-readme.js +0 -166
  494. package/scripts/generators/skill-registry.js +0 -188
  495. package/scripts/get-env.js +0 -225
  496. package/scripts/init.sh +0 -76
  497. package/scripts/lib/README-portable-tasks.md +0 -424
  498. package/scripts/lib/ac-test-matcher.js +0 -452
  499. package/scripts/lib/audit-cleanup.js +0 -250
  500. package/scripts/lib/audit-registry.js +0 -340
  501. package/scripts/lib/automation-registry.js +0 -544
  502. package/scripts/lib/automation-runner.js +0 -476
  503. package/scripts/lib/browser-qa-evidence.js +0 -409
  504. package/scripts/lib/browser-qa-status.js +0 -192
  505. package/scripts/lib/bus-utils.js +0 -473
  506. package/scripts/lib/colors.generated.sh +0 -82
  507. package/scripts/lib/colors.sh +0 -46
  508. package/scripts/lib/command-prereqs.js +0 -280
  509. package/scripts/lib/concurrency-limiter.js +0 -511
  510. package/scripts/lib/configure-detect.js +0 -596
  511. package/scripts/lib/configure-features.js +0 -1927
  512. package/scripts/lib/configure-repair.js +0 -327
  513. package/scripts/lib/configure-utils.js +0 -114
  514. package/scripts/lib/context-formatter.js +0 -1158
  515. package/scripts/lib/context-loader.js +0 -840
  516. package/scripts/lib/counter.js +0 -103
  517. package/scripts/lib/damage-control-utils.js +0 -619
  518. package/scripts/lib/feature-catalog.js +0 -332
  519. package/scripts/lib/file-lock.js +0 -392
  520. package/scripts/lib/file-tracking.js +0 -735
  521. package/scripts/lib/frontmatter-parser.js +0 -133
  522. package/scripts/lib/gate-enforcer.js +0 -295
  523. package/scripts/lib/hook-metrics.js +0 -324
  524. package/scripts/lib/ideation-index.js +0 -1205
  525. package/scripts/lib/json-utils.sh +0 -162
  526. package/scripts/lib/lifecycle-detector.js +0 -125
  527. package/scripts/lib/model-profiles.js +0 -118
  528. package/scripts/lib/portable-tasks-cli.js +0 -274
  529. package/scripts/lib/portable-tasks.js +0 -479
  530. package/scripts/lib/process-cleanup.js +0 -527
  531. package/scripts/lib/quality-gates.js +0 -788
  532. package/scripts/lib/scale-detector.js +0 -396
  533. package/scripts/lib/sessionRegistry.js +0 -678
  534. package/scripts/lib/signal-detectors.js +0 -867
  535. package/scripts/lib/skill-catalog.js +0 -557
  536. package/scripts/lib/skill-recommender.js +0 -311
  537. package/scripts/lib/state-migrator.js +0 -353
  538. package/scripts/lib/status-task-bridge.js +0 -522
  539. package/scripts/lib/status-writer.js +0 -255
  540. package/scripts/lib/story-claiming.js +0 -704
  541. package/scripts/lib/story-state-machine.js +0 -437
  542. package/scripts/lib/sync-ideation-status.js +0 -291
  543. package/scripts/lib/task-registry-cache.js +0 -490
  544. package/scripts/lib/task-registry.js +0 -1191
  545. package/scripts/lib/task-sync.js +0 -230
  546. package/scripts/lib/tdd-phase-manager.js +0 -455
  547. package/scripts/lib/team-events.js +0 -510
  548. package/scripts/lib/tmux-audit-monitor.js +0 -612
  549. package/scripts/lib/tmux-group-colors.js +0 -113
  550. package/scripts/lib/tool-registry.yaml +0 -241
  551. package/scripts/lib/tool-shed.js +0 -441
  552. package/scripts/lib/validation-registry.js +0 -177
  553. package/scripts/messaging-bridge.js +0 -561
  554. package/scripts/migrate-ideation-index.js +0 -553
  555. package/scripts/native-team-observer.js +0 -219
  556. package/scripts/obtain-context.js +0 -272
  557. package/scripts/pre-push-check.sh +0 -46
  558. package/scripts/precompact-context.sh +0 -306
  559. package/scripts/query-codebase.js +0 -543
  560. package/scripts/ralph-loop.js +0 -1278
  561. package/scripts/resume-session.sh +0 -121
  562. package/scripts/screenshot-verifier.js +0 -215
  563. package/scripts/session-boundary.js +0 -138
  564. package/scripts/session-coordinator.sh +0 -232
  565. package/scripts/session-manager.js +0 -546
  566. package/scripts/smart-detect.js +0 -449
  567. package/scripts/spawn-audit-sessions.js +0 -877
  568. package/scripts/spawn-parallel.js +0 -751
  569. package/scripts/strip-ai-attribution.js +0 -63
  570. package/scripts/task-completed-gate.js +0 -237
  571. package/scripts/team-manager.js +0 -596
  572. package/scripts/team-status-display.js +0 -200
  573. package/scripts/teammate-idle-gate.js +0 -237
  574. package/scripts/test-session-boundary.js +0 -80
  575. package/scripts/tmux-close-windows.sh +0 -180
  576. package/scripts/tmux-restore-window.sh +0 -67
  577. package/scripts/tmux-save-closed-window.sh +0 -35
  578. package/scripts/tui/App.js +0 -151
  579. package/scripts/tui/Dashboard.js +0 -277
  580. package/scripts/tui/blessed/data/watcher.js +0 -180
  581. package/scripts/tui/blessed/index.js +0 -244
  582. package/scripts/tui/blessed/panels/output.js +0 -101
  583. package/scripts/tui/blessed/panels/sessions.js +0 -150
  584. package/scripts/tui/blessed/panels/trace.js +0 -97
  585. package/scripts/tui/blessed/ui/help.js +0 -77
  586. package/scripts/tui/blessed/ui/screen.js +0 -52
  587. package/scripts/tui/blessed/ui/statusbar.js +0 -47
  588. package/scripts/tui/blessed/ui/tabbar.js +0 -99
  589. package/scripts/tui/index.js +0 -70
  590. package/scripts/tui/lib/crashRecovery.js +0 -304
  591. package/scripts/tui/lib/eventStream.js +0 -309
  592. package/scripts/tui/lib/keyboard.js +0 -261
  593. package/scripts/tui/lib/loopControl.js +0 -371
  594. package/scripts/tui/panels/OutputPanel.js +0 -240
  595. package/scripts/tui/panels/SessionPanel.js +0 -170
  596. package/scripts/tui/panels/TracePanel.js +0 -298
  597. package/scripts/tui/simple-tui.js +0 -510
  598. package/scripts/validate-expertise.sh +0 -263
  599. package/scripts/validate-tokens.sh +0 -73
  600. package/scripts/validators/README.md +0 -143
  601. package/scripts/validators/component-validator.js +0 -239
  602. package/scripts/validators/json-schema-validator.js +0 -186
  603. package/scripts/validators/markdown-validator.js +0 -152
  604. package/scripts/validators/migration-validator.js +0 -129
  605. package/scripts/validators/security-validator.js +0 -380
  606. package/scripts/validators/story-format-validator.js +0 -197
  607. package/scripts/validators/test-result-validator.js +0 -114
  608. package/scripts/validators/workflow-validator.js +0 -247
  609. package/scripts/welcome-deferred.js +0 -437
  610. package/scripts/worktree-create.sh +0 -111
  611. package/src/core/agents/a11y-analyzer-aria.md +0 -155
  612. package/src/core/agents/a11y-analyzer-forms.md +0 -162
  613. package/src/core/agents/a11y-analyzer-keyboard.md +0 -175
  614. package/src/core/agents/a11y-analyzer-semantic.md +0 -153
  615. package/src/core/agents/a11y-analyzer-visual.md +0 -158
  616. package/src/core/agents/a11y-consensus.md +0 -248
  617. package/src/core/agents/accessibility.md +0 -515
  618. package/src/core/agents/adr-writer.md +0 -463
  619. package/src/core/agents/ads-audit-budget.md +0 -181
  620. package/src/core/agents/ads-audit-compliance.md +0 -169
  621. package/src/core/agents/ads-audit-creative.md +0 -164
  622. package/src/core/agents/ads-audit-google.md +0 -226
  623. package/src/core/agents/ads-audit-meta.md +0 -183
  624. package/src/core/agents/ads-audit-tracking.md +0 -197
  625. package/src/core/agents/ads-consensus.md +0 -396
  626. package/src/core/agents/ads-generate.md +0 -145
  627. package/src/core/agents/ads-performance-tracker.md +0 -197
  628. package/src/core/agents/analytics.md +0 -617
  629. package/src/core/agents/api-quality-analyzer-conventions.md +0 -148
  630. package/src/core/agents/api-quality-analyzer-docs.md +0 -176
  631. package/src/core/agents/api-quality-analyzer-errors.md +0 -183
  632. package/src/core/agents/api-quality-analyzer-pagination.md +0 -171
  633. package/src/core/agents/api-quality-analyzer-versioning.md +0 -143
  634. package/src/core/agents/api-quality-consensus.md +0 -214
  635. package/src/core/agents/api-validator.md +0 -183
  636. package/src/core/agents/api.md +0 -665
  637. package/src/core/agents/arch-analyzer-circular.md +0 -148
  638. package/src/core/agents/arch-analyzer-complexity.md +0 -171
  639. package/src/core/agents/arch-analyzer-coupling.md +0 -146
  640. package/src/core/agents/arch-analyzer-layering.md +0 -151
  641. package/src/core/agents/arch-analyzer-patterns.md +0 -162
  642. package/src/core/agents/arch-consensus.md +0 -227
  643. package/src/core/agents/brainstorm-analyzer-features.md +0 -169
  644. package/src/core/agents/brainstorm-analyzer-growth.md +0 -161
  645. package/src/core/agents/brainstorm-analyzer-integration.md +0 -172
  646. package/src/core/agents/brainstorm-analyzer-market.md +0 -147
  647. package/src/core/agents/brainstorm-analyzer-ux.md +0 -167
  648. package/src/core/agents/brainstorm-consensus.md +0 -237
  649. package/src/core/agents/browser-qa.md +0 -328
  650. package/src/core/agents/ci.md +0 -511
  651. package/src/core/agents/code-reviewer.md +0 -288
  652. package/src/core/agents/codebase-query.md +0 -266
  653. package/src/core/agents/completeness-analyzer-api.md +0 -190
  654. package/src/core/agents/completeness-analyzer-conditional.md +0 -201
  655. package/src/core/agents/completeness-analyzer-handlers.md +0 -159
  656. package/src/core/agents/completeness-analyzer-imports.md +0 -159
  657. package/src/core/agents/completeness-analyzer-routes.md +0 -182
  658. package/src/core/agents/completeness-analyzer-state.md +0 -188
  659. package/src/core/agents/completeness-analyzer-stubs.md +0 -198
  660. package/src/core/agents/completeness-consensus.md +0 -286
  661. package/src/core/agents/compliance.md +0 -509
  662. package/src/core/agents/council-advocate.md +0 -206
  663. package/src/core/agents/council-analyst.md +0 -252
  664. package/src/core/agents/council-optimist.md +0 -170
  665. package/src/core/agents/database.md +0 -601
  666. package/src/core/agents/datamigration.md +0 -699
  667. package/src/core/agents/design.md +0 -525
  668. package/src/core/agents/devops.md +0 -720
  669. package/src/core/agents/documentation.md +0 -504
  670. package/src/core/agents/epic-planner.md +0 -480
  671. package/src/core/agents/error-analyzer.md +0 -201
  672. package/src/core/agents/integrations.md +0 -603
  673. package/src/core/agents/legal-analyzer-a11y.md +0 -110
  674. package/src/core/agents/legal-analyzer-ai.md +0 -117
  675. package/src/core/agents/legal-analyzer-consumer.md +0 -108
  676. package/src/core/agents/legal-analyzer-content.md +0 -113
  677. package/src/core/agents/legal-analyzer-international.md +0 -115
  678. package/src/core/agents/legal-analyzer-licensing.md +0 -115
  679. package/src/core/agents/legal-analyzer-privacy.md +0 -108
  680. package/src/core/agents/legal-analyzer-security.md +0 -112
  681. package/src/core/agents/legal-analyzer-terms.md +0 -111
  682. package/src/core/agents/legal-consensus.md +0 -242
  683. package/src/core/agents/logic-analyzer-edge.md +0 -170
  684. package/src/core/agents/logic-analyzer-flow.md +0 -253
  685. package/src/core/agents/logic-analyzer-invariant.md +0 -206
  686. package/src/core/agents/logic-analyzer-race.md +0 -266
  687. package/src/core/agents/logic-analyzer-type.md +0 -217
  688. package/src/core/agents/logic-consensus.md +0 -253
  689. package/src/core/agents/mentor.md +0 -654
  690. package/src/core/agents/mobile.md +0 -501
  691. package/src/core/agents/monitoring.md +0 -537
  692. package/src/core/agents/multi-expert.md +0 -311
  693. package/src/core/agents/orchestrator.md +0 -749
  694. package/src/core/agents/perf-analyzer-assets.md +0 -174
  695. package/src/core/agents/perf-analyzer-bundle.md +0 -165
  696. package/src/core/agents/perf-analyzer-caching.md +0 -160
  697. package/src/core/agents/perf-analyzer-compute.md +0 -165
  698. package/src/core/agents/perf-analyzer-memory.md +0 -182
  699. package/src/core/agents/perf-analyzer-network.md +0 -157
  700. package/src/core/agents/perf-analyzer-queries.md +0 -155
  701. package/src/core/agents/perf-analyzer-rendering.md +0 -156
  702. package/src/core/agents/perf-consensus.md +0 -280
  703. package/src/core/agents/performance.md +0 -492
  704. package/src/core/agents/product.md +0 -535
  705. package/src/core/agents/qa.md +0 -765
  706. package/src/core/agents/readme-updater.md +0 -579
  707. package/src/core/agents/refactor.md +0 -558
  708. package/src/core/agents/research.md +0 -453
  709. package/src/core/agents/rlm-subcore.md +0 -207
  710. package/src/core/agents/schema-validator.md +0 -454
  711. package/src/core/agents/security-analyzer-api.md +0 -199
  712. package/src/core/agents/security-analyzer-auth.md +0 -160
  713. package/src/core/agents/security-analyzer-authz.md +0 -168
  714. package/src/core/agents/security-analyzer-deps.md +0 -147
  715. package/src/core/agents/security-analyzer-infra.md +0 -176
  716. package/src/core/agents/security-analyzer-injection.md +0 -148
  717. package/src/core/agents/security-analyzer-input.md +0 -191
  718. package/src/core/agents/security-analyzer-secrets.md +0 -175
  719. package/src/core/agents/security-consensus.md +0 -276
  720. package/src/core/agents/security.md +0 -486
  721. package/src/core/agents/seo-analyzer-content.md +0 -167
  722. package/src/core/agents/seo-analyzer-images.md +0 -187
  723. package/src/core/agents/seo-analyzer-performance.md +0 -206
  724. package/src/core/agents/seo-analyzer-schema.md +0 -176
  725. package/src/core/agents/seo-analyzer-sitemap.md +0 -172
  726. package/src/core/agents/seo-analyzer-technical.md +0 -144
  727. package/src/core/agents/seo-consensus.md +0 -289
  728. package/src/core/agents/team-coordinator.md +0 -333
  729. package/src/core/agents/team-lead.md +0 -171
  730. package/src/core/agents/test-analyzer-assertions.md +0 -181
  731. package/src/core/agents/test-analyzer-coverage.md +0 -183
  732. package/src/core/agents/test-analyzer-fragility.md +0 -185
  733. package/src/core/agents/test-analyzer-integration.md +0 -155
  734. package/src/core/agents/test-analyzer-maintenance.md +0 -173
  735. package/src/core/agents/test-analyzer-mocking.md +0 -178
  736. package/src/core/agents/test-analyzer-patterns.md +0 -189
  737. package/src/core/agents/test-analyzer-structure.md +0 -177
  738. package/src/core/agents/test-consensus.md +0 -294
  739. package/src/core/agents/testing.md +0 -527
  740. package/src/core/agents/ui-validator.md +0 -331
  741. package/src/core/agents/ui.md +0 -1227
  742. package/src/core/commands/adr/list.md +0 -191
  743. package/src/core/commands/adr/update.md +0 -258
  744. package/src/core/commands/adr/view.md +0 -274
  745. package/src/core/commands/adr.md +0 -394
  746. package/src/core/commands/ads/audit.md +0 -453
  747. package/src/core/commands/ads/budget.md +0 -97
  748. package/src/core/commands/ads/competitor.md +0 -112
  749. package/src/core/commands/ads/creative.md +0 -85
  750. package/src/core/commands/ads/generate.md +0 -238
  751. package/src/core/commands/ads/google.md +0 -112
  752. package/src/core/commands/ads/health.md +0 -327
  753. package/src/core/commands/ads/landing.md +0 -119
  754. package/src/core/commands/ads/linkedin.md +0 -112
  755. package/src/core/commands/ads/meta.md +0 -91
  756. package/src/core/commands/ads/microsoft.md +0 -115
  757. package/src/core/commands/ads/plan.md +0 -321
  758. package/src/core/commands/ads/test-plan.md +0 -317
  759. package/src/core/commands/ads/tiktok.md +0 -129
  760. package/src/core/commands/ads/track.md +0 -288
  761. package/src/core/commands/ads/youtube.md +0 -124
  762. package/src/core/commands/ads.md +0 -140
  763. package/src/core/commands/agent.md +0 -256
  764. package/src/core/commands/api.md +0 -267
  765. package/src/core/commands/assign.md +0 -369
  766. package/src/core/commands/audit.md +0 -531
  767. package/src/core/commands/auto.md +0 -556
  768. package/src/core/commands/automate.md +0 -415
  769. package/src/core/commands/babysit.md +0 -643
  770. package/src/core/commands/baseline.md +0 -743
  771. package/src/core/commands/batch.md +0 -551
  772. package/src/core/commands/blockers.md +0 -602
  773. package/src/core/commands/board.md +0 -509
  774. package/src/core/commands/browser-qa.md +0 -240
  775. package/src/core/commands/changelog.md +0 -582
  776. package/src/core/commands/choose.md +0 -430
  777. package/src/core/commands/ci.md +0 -330
  778. package/src/core/commands/code/accessibility.md +0 -363
  779. package/src/core/commands/code/api.md +0 -313
  780. package/src/core/commands/code/architecture.md +0 -313
  781. package/src/core/commands/code/completeness.md +0 -519
  782. package/src/core/commands/code/legal.md +0 -509
  783. package/src/core/commands/code/logic.md +0 -432
  784. package/src/core/commands/code/performance.md +0 -506
  785. package/src/core/commands/code/security.md +0 -509
  786. package/src/core/commands/code/test.md +0 -505
  787. package/src/core/commands/compress.md +0 -408
  788. package/src/core/commands/configure.md +0 -1159
  789. package/src/core/commands/context/export.md +0 -296
  790. package/src/core/commands/context/full.md +0 -353
  791. package/src/core/commands/context/note.md +0 -380
  792. package/src/core/commands/council.md +0 -592
  793. package/src/core/commands/debt.md +0 -491
  794. package/src/core/commands/deploy.md +0 -864
  795. package/src/core/commands/deps.md +0 -728
  796. package/src/core/commands/diagnose.md +0 -404
  797. package/src/core/commands/docs.md +0 -469
  798. package/src/core/commands/epic/edit.md +0 -213
  799. package/src/core/commands/epic/list.md +0 -190
  800. package/src/core/commands/epic/view.md +0 -267
  801. package/src/core/commands/epic.md +0 -477
  802. package/src/core/commands/export.md +0 -238
  803. package/src/core/commands/feedback.md +0 -603
  804. package/src/core/commands/handoff.md +0 -386
  805. package/src/core/commands/help.md +0 -194
  806. package/src/core/commands/ideate/brief.md +0 -363
  807. package/src/core/commands/ideate/discover.md +0 -399
  808. package/src/core/commands/ideate/features.md +0 -497
  809. package/src/core/commands/ideate/history.md +0 -403
  810. package/src/core/commands/ideate/new.md +0 -900
  811. package/src/core/commands/impact.md +0 -407
  812. package/src/core/commands/install.md +0 -529
  813. package/src/core/commands/learn/explain.md +0 -118
  814. package/src/core/commands/learn/glossary.md +0 -135
  815. package/src/core/commands/learn/patterns.md +0 -138
  816. package/src/core/commands/learn/tour.md +0 -126
  817. package/src/core/commands/maintain.md +0 -558
  818. package/src/core/commands/metrics.md +0 -844
  819. package/src/core/commands/migrate/codemods.md +0 -151
  820. package/src/core/commands/migrate/plan.md +0 -131
  821. package/src/core/commands/migrate/scan.md +0 -114
  822. package/src/core/commands/migrate/validate.md +0 -119
  823. package/src/core/commands/multi-expert.md +0 -447
  824. package/src/core/commands/packages.md +0 -535
  825. package/src/core/commands/pr.md +0 -337
  826. package/src/core/commands/readme-sync.md +0 -329
  827. package/src/core/commands/research/analyze.md +0 -798
  828. package/src/core/commands/research/ask.md +0 -864
  829. package/src/core/commands/research/import.md +0 -1025
  830. package/src/core/commands/research/list.md +0 -273
  831. package/src/core/commands/research/synthesize.md +0 -928
  832. package/src/core/commands/research/view.md +0 -323
  833. package/src/core/commands/retro.md +0 -795
  834. package/src/core/commands/review.md +0 -694
  835. package/src/core/commands/rlm.md +0 -446
  836. package/src/core/commands/roadmap/analyze.md +0 -400
  837. package/src/core/commands/rpi.md +0 -633
  838. package/src/core/commands/seo/audit.md +0 -444
  839. package/src/core/commands/seo/competitor.md +0 -174
  840. package/src/core/commands/seo/content.md +0 -107
  841. package/src/core/commands/seo/geo.md +0 -229
  842. package/src/core/commands/seo/hreflang.md +0 -140
  843. package/src/core/commands/seo/images.md +0 -96
  844. package/src/core/commands/seo/page.md +0 -198
  845. package/src/core/commands/seo/plan.md +0 -163
  846. package/src/core/commands/seo/programmatic.md +0 -131
  847. package/src/core/commands/seo/references/cwv-thresholds.md +0 -64
  848. package/src/core/commands/seo/references/eeat-framework.md +0 -110
  849. package/src/core/commands/seo/references/quality-gates.md +0 -91
  850. package/src/core/commands/seo/references/schema-types.md +0 -102
  851. package/src/core/commands/seo/schema.md +0 -183
  852. package/src/core/commands/seo/sitemap.md +0 -97
  853. package/src/core/commands/seo/technical.md +0 -100
  854. package/src/core/commands/seo.md +0 -107
  855. package/src/core/commands/session/cleanup.md +0 -452
  856. package/src/core/commands/session/end.md +0 -865
  857. package/src/core/commands/session/history.md +0 -293
  858. package/src/core/commands/session/init.md +0 -210
  859. package/src/core/commands/session/new.md +0 -827
  860. package/src/core/commands/session/resume.md +0 -291
  861. package/src/core/commands/session/spawn.md +0 -205
  862. package/src/core/commands/session/status.md +0 -274
  863. package/src/core/commands/skill/list.md +0 -139
  864. package/src/core/commands/skill/recommend.md +0 -216
  865. package/src/core/commands/sprint.md +0 -714
  866. package/src/core/commands/status/undo.md +0 -191
  867. package/src/core/commands/status.md +0 -423
  868. package/src/core/commands/story/edit.md +0 -204
  869. package/src/core/commands/story/list.md +0 -199
  870. package/src/core/commands/story/view.md +0 -312
  871. package/src/core/commands/story-validate.md +0 -491
  872. package/src/core/commands/story.md +0 -465
  873. package/src/core/commands/tdd-next.md +0 -238
  874. package/src/core/commands/tdd.md +0 -211
  875. package/src/core/commands/team/guide.md +0 -688
  876. package/src/core/commands/team/list.md +0 -59
  877. package/src/core/commands/team/start.md +0 -130
  878. package/src/core/commands/team/status.md +0 -66
  879. package/src/core/commands/team/stop.md +0 -78
  880. package/src/core/commands/template.md +0 -644
  881. package/src/core/commands/tests.md +0 -731
  882. package/src/core/commands/update.md +0 -591
  883. package/src/core/commands/validate-expertise.md +0 -305
  884. package/src/core/commands/velocity.md +0 -630
  885. package/src/core/commands/verify.md +0 -534
  886. package/src/core/commands/whats-new.md +0 -201
  887. package/src/core/commands/workflow.md +0 -449
  888. package/src/core/council/sessions/.gitkeep +0 -0
  889. package/src/core/council/shared_reasoning.template.md +0 -106
  890. package/src/core/experts/README.md +0 -236
  891. package/src/core/experts/_core-expertise.yaml +0 -105
  892. package/src/core/experts/accessibility/expertise.yaml +0 -115
  893. package/src/core/experts/accessibility/question.md +0 -41
  894. package/src/core/experts/accessibility/self-improve.md +0 -45
  895. package/src/core/experts/accessibility/workflow.md +0 -59
  896. package/src/core/experts/adr-writer/expertise.yaml +0 -138
  897. package/src/core/experts/adr-writer/question.md +0 -56
  898. package/src/core/experts/adr-writer/self-improve.md +0 -106
  899. package/src/core/experts/adr-writer/workflow.md +0 -184
  900. package/src/core/experts/analytics/expertise.yaml +0 -119
  901. package/src/core/experts/analytics/question.md +0 -74
  902. package/src/core/experts/analytics/self-improve.md +0 -163
  903. package/src/core/experts/analytics/workflow.md +0 -272
  904. package/src/core/experts/api/expertise.yaml +0 -124
  905. package/src/core/experts/api/question.md +0 -74
  906. package/src/core/experts/api/self-improve.md +0 -122
  907. package/src/core/experts/api/workflow.md +0 -248
  908. package/src/core/experts/ci/expertise.yaml +0 -106
  909. package/src/core/experts/ci/question.md +0 -69
  910. package/src/core/experts/ci/self-improve.md +0 -100
  911. package/src/core/experts/ci/workflow.md +0 -145
  912. package/src/core/experts/codebase-query/expertise.yaml +0 -121
  913. package/src/core/experts/codebase-query/question.md +0 -73
  914. package/src/core/experts/codebase-query/self-improve.md +0 -105
  915. package/src/core/experts/compliance/expertise.yaml +0 -101
  916. package/src/core/experts/compliance/question.md +0 -56
  917. package/src/core/experts/compliance/self-improve.md +0 -106
  918. package/src/core/experts/compliance/workflow.md +0 -184
  919. package/src/core/experts/database/expertise.yaml +0 -109
  920. package/src/core/experts/database/question.md +0 -74
  921. package/src/core/experts/database/self-improve.md +0 -121
  922. package/src/core/experts/database/workflow.md +0 -234
  923. package/src/core/experts/datamigration/expertise.yaml +0 -141
  924. package/src/core/experts/datamigration/question.md +0 -56
  925. package/src/core/experts/datamigration/self-improve.md +0 -106
  926. package/src/core/experts/datamigration/workflow.md +0 -184
  927. package/src/core/experts/design/expertise.yaml +0 -116
  928. package/src/core/experts/design/question.md +0 -56
  929. package/src/core/experts/design/self-improve.md +0 -106
  930. package/src/core/experts/design/workflow.md +0 -184
  931. package/src/core/experts/devops/expertise.yaml +0 -116
  932. package/src/core/experts/devops/question.md +0 -68
  933. package/src/core/experts/devops/self-improve.md +0 -102
  934. package/src/core/experts/devops/workflow.md +0 -142
  935. package/src/core/experts/documentation/expertise.yaml +0 -126
  936. package/src/core/experts/documentation/question.md +0 -41
  937. package/src/core/experts/documentation/self-improve.md +0 -45
  938. package/src/core/experts/documentation/workflow.md +0 -55
  939. package/src/core/experts/epic-planner/expertise.yaml +0 -144
  940. package/src/core/experts/epic-planner/question.md +0 -56
  941. package/src/core/experts/epic-planner/self-improve.md +0 -106
  942. package/src/core/experts/epic-planner/workflow.md +0 -184
  943. package/src/core/experts/integrations/expertise.yaml +0 -113
  944. package/src/core/experts/integrations/question.md +0 -74
  945. package/src/core/experts/integrations/self-improve.md +0 -151
  946. package/src/core/experts/integrations/workflow.md +0 -246
  947. package/src/core/experts/mentor/expertise.yaml +0 -125
  948. package/src/core/experts/mentor/question.md +0 -56
  949. package/src/core/experts/mentor/self-improve.md +0 -106
  950. package/src/core/experts/mentor/workflow.md +0 -184
  951. package/src/core/experts/mobile/expertise.yaml +0 -136
  952. package/src/core/experts/mobile/question.md +0 -72
  953. package/src/core/experts/mobile/self-improve.md +0 -140
  954. package/src/core/experts/mobile/workflow.md +0 -240
  955. package/src/core/experts/monitoring/expertise.yaml +0 -132
  956. package/src/core/experts/monitoring/question.md +0 -76
  957. package/src/core/experts/monitoring/self-improve.md +0 -150
  958. package/src/core/experts/monitoring/workflow.md +0 -264
  959. package/src/core/experts/performance/expertise.yaml +0 -68
  960. package/src/core/experts/performance/question.md +0 -41
  961. package/src/core/experts/performance/self-improve.md +0 -45
  962. package/src/core/experts/performance/workflow.md +0 -61
  963. package/src/core/experts/product/expertise.yaml +0 -143
  964. package/src/core/experts/product/question.md +0 -56
  965. package/src/core/experts/product/self-improve.md +0 -106
  966. package/src/core/experts/product/workflow.md +0 -184
  967. package/src/core/experts/qa/expertise.yaml +0 -110
  968. package/src/core/experts/qa/question.md +0 -56
  969. package/src/core/experts/qa/self-improve.md +0 -106
  970. package/src/core/experts/qa/workflow.md +0 -184
  971. package/src/core/experts/readme-updater/expertise.yaml +0 -141
  972. package/src/core/experts/readme-updater/question.md +0 -56
  973. package/src/core/experts/readme-updater/self-improve.md +0 -106
  974. package/src/core/experts/readme-updater/workflow.md +0 -184
  975. package/src/core/experts/refactor/expertise.yaml +0 -135
  976. package/src/core/experts/refactor/question.md +0 -41
  977. package/src/core/experts/refactor/self-improve.md +0 -45
  978. package/src/core/experts/refactor/workflow.md +0 -57
  979. package/src/core/experts/research/expertise.yaml +0 -143
  980. package/src/core/experts/research/question.md +0 -56
  981. package/src/core/experts/research/self-improve.md +0 -106
  982. package/src/core/experts/research/workflow.md +0 -184
  983. package/src/core/experts/security/expertise.yaml +0 -117
  984. package/src/core/experts/security/question.md +0 -77
  985. package/src/core/experts/security/self-improve.md +0 -102
  986. package/src/core/experts/security/workflow.md +0 -152
  987. package/src/core/experts/templates/expertise-template.yaml +0 -67
  988. package/src/core/experts/templates/question-template.md +0 -56
  989. package/src/core/experts/templates/self-improve-template.md +0 -106
  990. package/src/core/experts/templates/workflow-template.md +0 -184
  991. package/src/core/experts/testing/expertise.yaml +0 -112
  992. package/src/core/experts/testing/question.md +0 -68
  993. package/src/core/experts/testing/self-improve.md +0 -102
  994. package/src/core/experts/testing/workflow.md +0 -143
  995. package/src/core/experts/ui/expertise.yaml +0 -133
  996. package/src/core/experts/ui/question.md +0 -74
  997. package/src/core/experts/ui/self-improve.md +0 -122
  998. package/src/core/experts/ui/workflow.md +0 -262
  999. package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +0 -424
  1000. package/src/core/knowledge/ads/ad-optimization-logic.md +0 -590
  1001. package/src/core/knowledge/ads/ad-technical-specifications.md +0 -385
  1002. package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +0 -506
  1003. package/src/core/knowledge/ads/paid-advertising-research-2026.md +0 -445
  1004. package/src/core/profiles/COMPARISON.md +0 -170
  1005. package/src/core/profiles/README.md +0 -178
  1006. package/src/core/profiles/claude-code.yaml +0 -111
  1007. package/src/core/profiles/codex.yaml +0 -103
  1008. package/src/core/profiles/cursor.yaml +0 -134
  1009. package/src/core/profiles/examples.js +0 -250
  1010. package/src/core/profiles/loader.js +0 -235
  1011. package/src/core/profiles/windsurf.yaml +0 -159
  1012. package/src/core/skills/_learnings/README.md +0 -91
  1013. package/src/core/skills/_learnings/_template.yaml +0 -106
  1014. package/src/core/skills/_learnings/code-review.yaml +0 -118
  1015. package/src/core/skills/_learnings/commit.yaml +0 -69
  1016. package/src/core/skills/_learnings/story-writer.yaml +0 -71
  1017. package/src/core/teams/backend.json +0 -41
  1018. package/src/core/teams/builder-validator.json +0 -51
  1019. package/src/core/teams/code-review.json +0 -41
  1020. package/src/core/teams/frontend.json +0 -41
  1021. package/src/core/teams/fullstack.json +0 -41
  1022. package/src/core/teams/logic-audit.json +0 -53
  1023. package/src/core/teams/perf-audit.json +0 -71
  1024. package/src/core/teams/qa.json +0 -41
  1025. package/src/core/teams/security-audit.json +0 -71
  1026. package/src/core/teams/solo.json +0 -35
  1027. package/src/core/teams/test-audit.json +0 -71
  1028. package/src/core/templates/CONTEXT.md.example +0 -49
  1029. package/src/core/templates/README-template.md +0 -16
  1030. package/src/core/templates/adr-template.md +0 -28
  1031. package/src/core/templates/agent-coordination-pattern.md +0 -38
  1032. package/src/core/templates/agent-profile-template.md +0 -51
  1033. package/src/core/templates/agileflow-metadata.json +0 -150
  1034. package/src/core/templates/browser-qa-spec.yaml +0 -94
  1035. package/src/core/templates/ci-workflow.yml +0 -74
  1036. package/src/core/templates/claude-settings.advanced.example.json +0 -75
  1037. package/src/core/templates/claude-settings.example.json +0 -26
  1038. package/src/core/templates/command-documentation.md +0 -187
  1039. package/src/core/templates/command-prerequisites.yaml +0 -169
  1040. package/src/core/templates/comms-note-template.md +0 -24
  1041. package/src/core/templates/damage-control-patterns.yaml +0 -243
  1042. package/src/core/templates/environment.json +0 -18
  1043. package/src/core/templates/epic-template.md +0 -27
  1044. package/src/core/templates/plan-template.md +0 -125
  1045. package/src/core/templates/preserve-rules-common.md +0 -107
  1046. package/src/core/templates/preserve-rules.json +0 -42
  1047. package/src/core/templates/proactive-action-spec.md +0 -29
  1048. package/src/core/templates/product-brief.md +0 -136
  1049. package/src/core/templates/quality-gate-priorities.md +0 -34
  1050. package/src/core/templates/research-template.md +0 -44
  1051. package/src/core/templates/session-harness-protocol.md +0 -128
  1052. package/src/core/templates/session-state.json +0 -56
  1053. package/src/core/templates/story-lifecycle.md +0 -213
  1054. package/src/core/templates/story-template.md +0 -92
  1055. package/src/core/templates/tdd-test-template.js +0 -241
  1056. package/src/core/templates/worktrees-guide.md +0 -231
  1057. package/tools/agileflow-npx.js +0 -52
  1058. package/tools/cli/agileflow-cli.js +0 -72
  1059. package/tools/cli/commands/config.js +0 -285
  1060. package/tools/cli/commands/doctor.js +0 -496
  1061. package/tools/cli/commands/list.js +0 -385
  1062. package/tools/cli/commands/session.js +0 -1176
  1063. package/tools/cli/commands/setup.js +0 -255
  1064. package/tools/cli/commands/status.js +0 -101
  1065. package/tools/cli/commands/tui.js +0 -56
  1066. package/tools/cli/commands/uninstall.js +0 -155
  1067. package/tools/cli/commands/update.js +0 -299
  1068. package/tools/cli/installers/core/installer.js +0 -892
  1069. package/tools/cli/installers/ide/_base-ide.js +0 -518
  1070. package/tools/cli/installers/ide/_interface.js +0 -238
  1071. package/tools/cli/installers/ide/claude-code.js +0 -432
  1072. package/tools/cli/installers/ide/codex.js +0 -426
  1073. package/tools/cli/installers/ide/cursor.js +0 -217
  1074. package/tools/cli/installers/ide/manager.js +0 -222
  1075. package/tools/cli/installers/ide/windsurf.js +0 -282
  1076. package/tools/cli/lib/command-context.js +0 -382
  1077. package/tools/cli/lib/config-manager.js +0 -446
  1078. package/tools/cli/lib/content-injector.js +0 -969
  1079. package/tools/cli/lib/content-transformer.js +0 -496
  1080. package/tools/cli/lib/docs-setup.js +0 -464
  1081. package/tools/cli/lib/error-handler.js +0 -165
  1082. package/tools/cli/lib/ide-error-factory.js +0 -421
  1083. package/tools/cli/lib/ide-errors.js +0 -367
  1084. package/tools/cli/lib/ide-generator.js +0 -357
  1085. package/tools/cli/lib/ide-health-monitor.js +0 -364
  1086. package/tools/cli/lib/ide-registry.js +0 -297
  1087. package/tools/cli/lib/npm-utils.js +0 -103
  1088. package/tools/cli/lib/self-update.js +0 -148
  1089. package/tools/cli/lib/ui.js +0 -211
  1090. package/tools/cli/lib/utils.js +0 -87
  1091. package/tools/cli/lib/validation-middleware.js +0 -491
  1092. package/tools/cli/lib/version-checker.js +0 -95
  1093. package/tools/postinstall.js +0 -190
package/CHANGELOG.md CHANGED
@@ -1,540 +1,356 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to AgileFlow will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [Unreleased]
9
-
10
- ## [3.4.3] - 2026-03-07
11
-
12
- ### Added
13
- - Session monitor wrapper and quality-gates integration
14
-
15
- ## [3.4.2] - 2026-03-07
16
-
17
- ### Added
18
- - DEPTH=ultradeep|extreme for SEO and Ads audit commands
19
-
20
- ## [3.4.1] - 2026-03-06
21
-
22
- ### Added
23
- - DEPTH=extreme audit mode, CI feedback loops, and DX quick wins
24
-
25
- ## [3.4.0] - 2026-02-28
26
-
27
- ### Added
28
- - Ads audit system, SEO analysis, ultradeep concurrency controls, and domain-first command naming
29
-
30
- ## [3.3.0] - 2026-02-24
31
-
32
- ### Added
33
- - Per-agent file tracking, tmux restore, and completeness audit
34
-
35
- ## [3.2.1] - 2026-02-21
36
-
37
- ### Added
38
- - Agentic browser QA system with Playwright integration
39
-
40
- ## [3.2.0] - 2026-02-21
41
-
42
- ### Added
43
- - Cross-IDE capability profiles, multi-agent audit systems, and AI attribution blocking
44
-
45
- ## [3.1.0] - 2026-02-14
46
-
47
- ### Added
48
- - Legal audit system, native Agent Teams integration, and startup performance improvements
49
-
50
- ## [3.0.2] - 2026-02-14
51
-
52
- ### Added
53
- - Automatic tmux window naming and configuration agent consolidation
54
-
55
- ## [3.0.1] - 2026-02-13
56
-
57
- ### Fixed
58
- - Configure writes directly to Claude Code settings.json for Agent Teams and permissions
59
-
60
- ## [3.0.0] - 2026-02-13
61
-
62
- ### Added
63
- - Scale-adaptive architecture, smart tmux sessions, and team observability
64
-
65
- ## [2.99.8] - 2026-02-12
66
-
67
- ### Fixed
68
- - Simplify tmux keybindings and clean up status line
69
-
70
- ## [2.99.7] - 2026-02-11
71
-
72
- ### Fixed
73
- - Suppress tmux same-index message on session start
74
-
75
- ## [2.99.6] - 2026-02-09
76
-
77
- ### Fixed
78
- - Fix tmux session creation after reboot with atomic command
79
-
80
- ## [2.99.5] - 2026-02-09
81
-
82
- ### Fixed
83
- - Fix tmux startup after reboot by starting server before global options
84
-
85
- ## [2.99.4] - 2026-02-09
86
-
87
- ### Fixed
88
- - Fix tmux socket directory creation on macOS
89
-
90
- ## [2.99.3] - 2026-02-09
91
-
92
- ### Fixed
93
- - Auto-heal tmux socket directory after macOS reboot
94
-
95
- ## [2.99.2] - 2026-02-09
96
-
97
- ### Added
98
- - Documentation overhaul with teams commands, frontmatter fixes, and damage control resilience
99
-
100
- ## [2.99.1] - 2026-02-08
101
-
102
- ### Added
103
- - Smart session management with context-aware naming and tmux quick-create keybinds
104
-
105
- ## [2.99.0] - 2026-02-08
106
-
107
- ### Added
108
- - Security Hardening Phase 2 - path traversal, auth, CORS, ReDoS, rate limiting
109
-
110
- ## [2.98.1] - 2026-02-07
111
-
112
- ### Added
113
- - Fix alias dedup, add claude flags config, trim status line
114
-
115
- ## [2.98.0] - 2026-02-07
116
-
117
- ### Fixed
118
- - Shell injection cleanup, shared lib tests, and async I/O pipeline
119
-
120
- ## [2.97.0] - 2026-02-07
121
-
122
- ### Added
123
- - Native Agent Teams integration with quality gate hooks and dual-mode orchestration
124
-
125
- ## [2.96.6] - 2026-02-06
126
-
127
- ### Fixed
128
- - Force-overwrite internal scripts and lib files during updates to fix stale code
129
-
130
- ## [2.96.5] - 2026-02-06
131
-
132
- ### Fixed
133
- - Fix SessionStart hook crash when js-yaml not installed in user projects
134
-
135
- ## [2.96.4] - 2026-02-06
136
-
137
- ### Added
138
- - Command deduplication to fix duplicate slash commands in autocomplete
139
-
140
- ## [2.96.3] - 2026-02-06
141
-
142
- ### Fixed
143
- - Codex CLI subcommand support for nested commands
144
-
145
- ## [2.96.2] - 2026-02-06
146
-
147
- ### Fixed
148
- - Smart docs folder detection for existing AgileFlow installations
149
-
150
- ## [2.96.1] - 2026-02-06
151
-
152
- ### Fixed
153
- - Fix js-yaml module resolution in copied lib files
154
-
155
- ## [2.96.0] - 2026-02-05
156
-
157
- ### Added
158
- - Multi-agent logic analyzer, ideation enhancements, and serve improvements
159
-
160
- ## [2.95.3] - 2026-02-01
161
-
162
- ### Added
163
- - Fresh restart flag for tmux with conversation auto-resume
164
-
165
- ## [2.95.2] - 2026-02-01
3
+ All notable changes to `agileflow` v4 are documented here.
4
+ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
+
6
+ ## [4.0.0-alpha.3] — 2026-04-20
7
+
8
+ Flow audit fixes for the alpha.2 wizard + install path. Wiring/persistence
9
+ came back PASS; this patch closes the test gap and fixes the safety +
10
+ feedback gaps the audit surfaced.
11
+
12
+ ### Fixed
13
+
14
+ - **P0 test gap** (`tests/unit/config/writer.test.js`): the per-field
15
+ round-trip block tests every other config field but skipped
16
+ `behaviors`. A future PR that drops the `behaviors:` line from
17
+ `writer.js`'s payload would have shipped silently. Added explicit
18
+ mixed-shape round-trip test (not all-true, not all-false) so the
19
+ serializer-loader pair is contractually pinned.
20
+ - **P1 damage-control silent fail-open**
21
+ (`damage-control-bash.js`/`-edit.js`/`-write.js`): when
22
+ `damage-control-patterns.yaml` is missing or unreadable, all three
23
+ hooks used to `process.exit(0)` silently guards disabled, no
24
+ signal to the user. Now emit a stderr WARNING with the error code
25
+ and the path. Repeated warnings on every Bash/Edit/Write are
26
+ intentional: they signal "fix this or disable the preset". Hooks
27
+ still fail-open (the contract is "block dangerous things, don't
28
+ block legit work just because we can't read our own config").
29
+ - **P1 missing behaviors visibility**:
30
+ - `setup --yes` console output now prints `behaviors enabled: ...`
31
+ after the plugin list, gated on `caps.hooks` so non-Claude-Code
32
+ IDEs don't see a noisy line. Listed-as-CSV in the order: any
33
+ `loadContext, babysitDefault, damageControl, preCompactState`
34
+ that are `true`.
35
+ - Interactive `prompts.outro` now includes `behaviors active: ...`
36
+ or `behaviors active: (none — no hooks will run; re-run setup to
37
+ enable)`. A user who deselected all four behaviors no longer
38
+ finishes the wizard celebrating "X plugins enabled" while
39
+ actually getting zero hooks.
40
+ - `agileflow update` console output mirrors the same pattern.
41
+ - Install spinner message changed from `Installing N plugin(s)` to
42
+ `Installing N plugin(s) — writing hooks, skills, mirrors` so
43
+ first-time users have a clearer mental model of what `.agileflow/`
44
+ will contain.
45
+ - **P2 fresh-project context-loader / pre-compact-state**: when
46
+ `docs/09-agents/status.json` is absent (brand new project), both
47
+ hooks used to silently omit the stories section. Now emit
48
+ `(no story tracker yet docs/09-agents/status.json not found)` so
49
+ Claude knows the section was reached, not skipped due to error. Also
50
+ surfaces `(none in progress, none ready)` when status.json exists
51
+ but is empty.
52
+
53
+ ### Tests
54
+
55
+ - 305 passing (+1 from alpha.2's 304).
56
+
57
+ ## [4.0.0-alpha.2] — 2026-04-20
58
+
59
+ Curated behavior presets — first hooks ship, but never as a free-for-all.
60
+
61
+ ### Added
62
+
63
+ - **Behavior presets in `agileflow.config.json`** (`behaviors: { loadContext, babysitDefault, damageControl, preCompactState }`). Each preset maps 1:N to hooks declared in plugin manifests via a new `behavior: <key>` field. Disabling a preset excludes its hooks from the generated `.agileflow/hook-manifest.yaml` — the script literally does not run.
64
+ - **Wizard step**: `pickBehaviors()` (`src/cli/wizard/behaviors-picker.js`) — Clack multiselect with all four presets pre-checked. Only shown for IDEs that support hooks (claude-code today; cursor/windsurf/codex skip it).
65
+ - **Six behavior-gated hooks in the `core` plugin**:
66
+ - `context-loader` (SessionStart, gated by `loadContext`) — lean v4 replacement for v3's 79KB welcome banner. Prints stories, dirty files, and recent commits.
67
+ - `babysit-mentor-injector` (SessionStart, gated by `babysitDefault`) — HARD mode mentor injection. Claude defaults to the `/agileflow:babysit` mentor pattern without explicit invocation.
68
+ - `damage-control-bash` / `-edit` / `-write` (PreToolUse, gated by `damageControl`, `skipOnError: false`) — pattern-driven safety net (`damage-control-patterns.yaml`). Blocks `rm -rf /`, `dd to /dev/sda`, fork bombs, writes to `.env`/`.ssh/`, and similar.
69
+ - `pre-compact-state` (PreCompact, gated by `preCompactState`) — dumps active stories, current command, and dirty git state so they survive Claude's compaction summary.
70
+ - **Schema + loader + writer updates**: `behaviors` is now a first-class config section. `mergeConfig` deep-merges across one level so partial user overrides don't wipe defaults.
71
+ - **Aggregator behavior gating**: `buildHookManifest(orderedPlugins, behaviors)` filters hooks where `behaviors[entry.behavior] === false`. Missing keys treated as enabled (preserves intent of partial configs).
72
+ - **15 new tests** covering behaviors filtering in the aggregator, behaviors-picker pure helpers, and the install-time integration test that asserts the manifest reflects the toggle map. Total: **304 passing** (+15 from alpha.1).
166
73
 
167
74
  ### Changed
168
- - Fix damage control hook MODULE_NOT_FOUND error
169
-
170
- ## [2.95.1] - 2026-01-30
171
75
 
172
- ### Fixed
173
- - Fix stale doc counts and scoped npm audit
174
-
175
- ## [2.95.0] - 2026-01-30
76
+ - `installPlugins(options)` accepts a `behaviors` option threaded through to `writeAggregatedManifest`.
77
+ - `agileflow setup` now includes a behaviors step after personalization for hook-capable IDEs.
78
+ - `agileflow update` re-reads `behaviors` from the saved config so manual edits to `agileflow.config.json` propagate without re-running the wizard.
79
+ - `defaultConfig()` ships with all four behaviors enabled. Users opt **out** at the wizard, never opt in.
176
80
 
177
- ### Added
178
- - Global session management commands (status, history, cleanup)
179
- - `/agileflow:install` and `/agileflow:maintain` commands for quick setup
180
- - Multi-expert Implementation Ideation in `/research:import` and `/research:analyze`
181
- - Plan file context preservation with experimental profile
182
- - Tmux freeze recovery keybinds and `--rescue` flag
183
- - Shellcheck CI job for shell script linting
81
+ ### Why curated, not free configuration
82
+
83
+ Per user feedback in alpha.1: "I don't want it to be super customizable. Users would be able to customize pretty much anything." Free hook configuration (declare any event + any matcher + any script) is technically possible via the `hooks:` map, but the wizard surface is restricted to four presets. This keeps the install path predictable and prevents the v3-era anti-pattern of every plugin author shipping their own SessionStart welcome banner.
184
84
 
185
- ### Fixed
186
- - Prevent worktree sessions from being marked as main
187
- - Prevent duplicate agents during install/update
188
- - Inline uncommitted changes handling for `/session:end`
85
+ ## [4.0.0-alpha.1] — Unreleased
189
86
 
190
- ## [2.94.1] - 2026-01-24
87
+ v4 Phase 1 skeleton. Not yet publishable.
191
88
 
192
89
  ### Added
193
- - DEPTH=ultradeep mode for comprehensive 13-expert ideation
194
90
 
195
- ## [2.94.0] - 2026-01-24
91
+ - Monorepo workspace `apps/cli/` with `name: agileflow`, `version: 4.0.0-alpha.1`.
92
+ - Unified user config surface at `agileflow.config.json` (JSON Schema + Ajv loader).
93
+ - Default config factory with `core` plugin always enabled.
94
+ - CLI entry at `bin/agileflow.js` with `commander`-based dispatch (`status`, `setup`, `doctor` stubs).
95
+ - Vitest test infrastructure with `tests/unit/config/loader.test.js` (8 passing tests).
96
+ - `@clack/prompts` as the TUI library for the setup wizard — matches the skills.sh/vercel-labs/skills UX (clean step indicators, multiselect, search). Replaces the Ink 5 direction from the original plan.
196
97
 
197
- ### Added
198
- - Shared docs/ across sessions via symlink for multi-session coordination
98
+ ### Phase 2a — Setup wizard
199
99
 
200
- ## [2.93.0] - 2026-01-24
100
+ - Plugin registry (`src/runtime/plugins/registry.js`) — discovers `plugin.yaml` manifests under `content/plugins/*`, sorts required-first, enforces unique ids.
101
+ - Config writer (`src/runtime/config/writer.js`) — serializes user-facing fields to `agileflow.config.json` with schema pointer, stable 2-space formatting.
102
+ - Clack wizard (`src/cli/wizard/plugin-picker.js`, `src/cli/wizard/personalization.js`) — multiselect plugin picker (core always on) + 3 enum selects (tone, ask_level, verbosity). Cancellation cleanly exits.
103
+ - Stub plugin manifests for `core` / `ads` / `seo` / `audit` / `council` in `content/plugins/*/plugin.yaml` (content bodies land in Phase 4).
104
+ - Non-interactive path: `agileflow setup --yes --plugins core,seo,audit` writes config without prompts.
105
+ - 14 new tests (`plugins/registry.test.js`, `config/writer.test.js`); total suite: 22 passing.
201
106
 
202
- ### Added
203
- - RLM document analysis and session health improvements
107
+ ### Phase 2a — hardening (flow audit fixes)
204
108
 
205
- ## [2.92.1] - 2026-01-23
109
+ Flow audit (wiring / errors / persistence / feedback) ran against Phase 2a and flagged 3 P0 + 5 P1 gaps. All addressed:
206
110
 
207
- ### Added
208
- - Session worktree timeout, progress feedback, and docs folder copy
111
+ - **writeConfig now atomic**: temp file (`.agileflow.config.json.tmp-<pid>`) + rename. Same-directory rename is atomic on POSIX and same-volume Windows. Readers always see either old or new content — never a truncated half-write. Temp file is cleaned up on failure.
112
+ - **writeConfig errors surface as friendly messages**: EPERM / ENOSPC / EACCES no longer leak stack traces. Interactive path shows `prompts.log.error` + recovery hint; non-interactive path writes to stderr with exit 1.
113
+ - **Plugin discovery errors handled in interactive path**: malformed `plugin.yaml` or duplicate ids no longer crash before the wizard starts. Wizard shows "Failed to load plugins: {msg}" and exits.
114
+ - **Unknown `--plugins` ids now error loudly**: `agileflow setup --yes --plugins core,typo` exits 1 with the typo listed and all available plugin ids printed.
115
+ - **Custom plugin entries preserved on wizard rerun**: user-added entries in `plugins.mycustom` survive every wizard invocation (interactive and `--yes`). Extracted `buildPluginsMap()` pure helper to unit-test this guarantee.
116
+ - **Cancellation semantics fixed**: Ctrl+C / Esc in any prompt now says "Setup cancelled. No changes made." and exits 1 (was exit 0). CI can now distinguish user abort from success.
117
+ - **Round-trip tests expanded per schema field**: hooks, ide.primary, language, plugin settings sub-objects, and personalization each tested independently. A writer-forgets-a-field regression can't hide behind the loader's default-merge.
118
+ - **Test suite grew 22 → 40 passing** across 5 test files.
209
119
 
210
- ## [2.92.0] - 2026-01-23
120
+ ### Phase 2a — logic audit fixes
211
121
 
212
- ### Added
213
- - Tmux integration, i18n docs, EP-0022 codebase health improvements
122
+ Logic audit (5 analyzers: edge / flow / invariant / race / type) on the hardened Phase 2a code. Verdicts: **CLEAN** (control flow), **HOLDS** (invariants), **ACCEPTABLE** (edge + race), **LOOSE** (type). 4 P1 fixes applied:
214
123
 
215
- ## [2.91.0] - 2026-01-20
124
+ - **`registry.js`**: `depends` is now strictly validated. A plugin author writing `depends: core` (string, common YAML authoring mistake) used to be silently coerced to `[]`; now it throws a clear error. Empty/absent `depends` still defaults to `[]`.
125
+ - **`plugin-picker.js::buildPluginsMap`**: added `!Array.isArray(entry)` guard for the custom-plugin preservation branch. Arrays pass `typeof === 'object'` but would break any downstream code reading `entry.enabled` as a property.
126
+ - **`plugin-picker.js::buildPluginsMap`**: discovered plugins now preserve their `settings` sub-object across wizard reruns. Previously the picker would strip `plugins.seo.settings.crawlDepth` every time it ran; now settings travel with the plugin entry (including when enable=false).
127
+ - **`loader.js`**: eliminated the `existsSync`→`readFileSync` TOCTOU window. We now read directly and treat `ENOENT` as "no config → defaults"; any other read error surfaces as before. Simpler code, no race.
128
+ - Test suite grew **40 → 46 passing**.
216
129
 
217
- ### Added
218
- - GSD workflow integration, codebase query interface, and docs improvements
130
+ ### Phase 2b slice 1 — Sync engine port
219
131
 
220
- ## [2.90.7] - 2026-01-17
132
+ Ported the v3 SHA256-based safe-update engine from `installer.js:349-455` into `apps/cli/src/runtime/installer/`. Each scenario has dedicated test coverage.
221
133
 
222
- ### Fixed
223
- - Fix TUI bouncing with in-place rendering
134
+ - **`src/lib/hash.js`** — `sha256Hex(Buffer|string)` (UTF-8 deterministic) and `sha256File(path)` helpers.
135
+ - **`src/runtime/installer/file-index.js`** read/write `_cfg/files.json` (schema v1); atomic writes (temp+rename); rejects arrays-masquerading-as-objects at both levels.
136
+ - **`src/runtime/installer/stash.js`** — writes conflicting upstream content to `_cfg/updates/<timestamp>/<relativePath>` for manual merge.
137
+ - **`src/runtime/installer/sync-engine.js`** — `syncFile({ content, dest, relativePath, fileIndex, cfgDir, timestamp, force, ops })` handles the 5-scenario decision tree: CREATED, UPDATED (via force), UPDATED (via baseline match), UNCHANGED (3 variants — baseline noop, protected auto-converge, unknown auto-adopt), PRESERVED (stash+keep-user, for protected-mismatch and locally-modified cases). Works for both text content (strings) and binary (Buffers).
138
+ - **27 new tests** covering every branch of the decision tree plus index round-trips and deterministic hashing. Suite: **46 → 73 passing**.
224
139
 
225
- ## [2.90.6] - 2026-01-17
140
+ ### Phase 2b slice 2 Plugin resolver + strict validator
226
141
 
227
- ### Changed
228
- - Static TUI dashboard (no bouncing)
142
+ - **`src/runtime/plugins/resolver.js`** — `resolvePlugins(discovered, userSelected)` computes the transitive closure (auto-enabling dependencies of user-selected plugins), produces a topologically-sorted install order, and detects cycles via DFS three-color marking with full cycle-path reporting (e.g. `a -> b -> c -> a`). `cannotDisable` plugins (currently just `core`) are always included.
143
+ - **`src/runtime/plugins/validator.js`** strict per-plugin validation:
144
+ - `id` matches `^[a-z0-9][a-z0-9-]{0,63}$` (kebab-case)
145
+ - `version` is valid semver including pre-release / build-metadata tags
146
+ - `description` is non-empty and ≥ 16 chars (warning under that)
147
+ - `enabledByDefault` and `cannotDisable` are real booleans (not coerced strings)
148
+ - `cannotDisable: true` implies `enabledByDefault: true`
149
+ - `depends` entries are valid plugin ids; self-dependency rejected; duplicates flagged as warnings
150
+ - `provides` is an object with array-typed sub-keys; unknown keys flagged as warnings
151
+ - `validatePluginSet()` adds cross-plugin checks (duplicate ids, unresolved depends)
152
+ - `hasErrors(issues)` for gating commits / CI
153
+ - **37 new tests** (resolver: 12, validator: 25) covering diamond dependencies, 3-node cycles, semver edge cases, kebab-case rejections, and cross-plugin invariants. Suite: **73 → 110 passing**.
154
+ - All 5 bundled plugin manifests pass strict validation with zero issues.
229
155
 
230
- ## [2.90.5] - 2026-01-17
156
+ ### Phase 2b slice 4 — End-to-end install orchestrator + integration tests
231
157
 
232
- ### Added
233
- - Restore static dashboard command
158
+ - **`src/runtime/installer/install.js`** — `installPlugins({ discovered, userSelected, agileflowDir, cliVersion, force })` wires every layer: strict-validate → resolve transitive deps + topo sort → read or seed file index → walk each plugin's source dir → `syncFile` every file under `<agileflowDir>/plugins/<id>/...` → remove directories of plugins no longer enabled (and prune their index entries) → atomically write the index. Throws on validation errors (zero partial install) and dependency cycles.
159
+ - **`removeDisabledPlugins`** only blasts directories whose ids are in the discovered set. Unknown user-placed dirs under `<agileflowDir>/plugins/` are left alone.
160
+ - **`FileOpsCounters`** gained a `removed` field for plugin-level removal accounting.
161
+ - **`tests/integration/install-plugins.test.js`** (7 tests) covers:
162
+ - First install with selected opt-ins → `core` first in topo order, file index records every file, disabled plugins absent.
163
+ - Idempotency: second run reports zero writes, all `unchanged`.
164
+ - User-modified file → `preserved` + stash written under `_cfg/updates/<timestamp>/<relativePath>` containing the upstream version.
165
+ - Disabled plugin removal → directory rm'd + index entries pruned.
166
+ - User-placed unknown directory under `plugins/` is preserved.
167
+ - Validation errors abort with a flat report, zero filesystem side effects.
168
+ - Cycle detection trips before any writes.
169
+ - Suite: **110 → 117 passing** (1 unit test updated for the new `removed` counter; 7 new integration tests).
170
+ - **Phase 2b "done when" criteria all met**: SHA256 round-trip passes, disabled-plugin removal works, integration test installs into a scratch dir end-to-end. The content injector port (slice 3) is deferred to Phase 4 — it's only needed once skills/commands with `<!-- {{TOKEN}} -->` placeholders ship.
234
171
 
235
- ## [2.90.4] - 2026-01-17
172
+ ### Phase 2b — logic audit fixes
236
173
 
237
- ### Fixed
238
- - Fix TUI to use simple-tui by default
174
+ Logic audit (5 analyzers: edge / flow / invariant / race / type) on Phase 2b runtime. Verdicts: **HOLDS** (invariants), **CLEAN** (control flow), **SAFE** (race for CLI), **RISKY** (edge — path traversal flagged), **ACCEPTABLE** (type). 5 P0/P1 fixes applied:
239
175
 
240
- ## [2.90.2] - 2026-01-17
176
+ - **`writeStash` path-traversal guard**: rejects absolute paths up front (`/etc/passwd` would otherwise be silently joined as a relative segment) AND verifies the resolved stash path is inside the resolved updates root. Defensive against malicious or buggy `relativePath` values escaping `_cfg/updates/<timestamp>/`.
177
+ - **`installPlugins` try/finally around sync + remove**: the file index is now written even when `installOnePlugin` throws mid-loop. Previously a transient EACCES/ENOSPC could leave on-disk files without index entries → next run would misclassify them as user-modified and stash them. Integration test confirms partial-install case persists the index.
178
+ - **Atomic `syncFile` writes**: `writeContent` ports the temp+rename pattern from `writeFileIndex`. Mid-write crashes can no longer leave a truncated dest file. Temp filename is `<dest>.tmp-<pid>-<random>` to avoid collisions in same-process concurrent installs.
179
+ - **Resolver rejects unknown `userSelected` ids loudly**: `resolvePlugins(discovered, ['typo'])` now throws with a clear message listing available plugin ids. Direct callers (CI / programmatic install) get the same protection the wizard already had via `pluginsFromCsv`.
180
+ - **`sha256Hex` null guard**: throws a `TypeError` with a clear message instead of the cryptic Buffer-internal error when called with `null`/`undefined`.
181
+ - **Random suffix on temp filenames** in `writeFileIndex` (PID alone could collide in same-process concurrent calls — rare but possible in tests).
182
+ - **14 new tests**: stash path-traversal (4), atomic writes (2), resolver unknown ids (2), null hash inputs (2), partial-install index persistence (1), plus existing test fixed for absolute-path rejection. Suite: **117 → 131 passing**.
241
183
 
242
- ### Fixed
243
- - TUI CLI command fix
184
+ ### Phase 2c — Wire installer into CLI (setup + update)
185
+
186
+ - **`agileflow setup` now triggers an actual install**: after writing `agileflow.config.json`, both the interactive and `--yes` paths call `installPlugins()`. The interactive path shows a Clack spinner ("Installing N plugin(s)") with a per-counter summary on completion. The `--yes` path prints a single-line counter summary.
187
+ - **New `agileflow update` command**: re-runs `installPlugins()` against the currently-enabled plugin set in the config, no prompts. Use cases: applying manual edits to `agileflow.config.json`, picking up new bundled plugin content without re-prompting, CI sync. Supports `--force` to overwrite local modifications instead of preserving them.
188
+ - **Verified end-to-end**: `agileflow setup --yes --plugins core,seo,audit` in a scratch dir writes config, installs 3 `plugin.yaml` files into `.agileflow/plugins/{core,audit,seo}/`, and produces a valid SHA256-indexed `_cfg/files.json`. Subsequent `agileflow update` reports 3 unchanged (idempotent).
189
+
190
+ ### Phase 3 slice A — Hook meta-orchestrator core
191
+
192
+ The fix for v3's cascading SessionStart failures lands. Six thin Claude Code dispatchers delegate to a single orchestrator that reads a project-side manifest, topologically orders hooks by `runAfter`, runs them with per-hook timeout + skipOnError semantics, and writes a JSONL log to `.agileflow/logs/hook-execution.jsonl`.
193
+
194
+ - **`src/runtime/hooks/manifest-loader.js`** — reads/normalizes `.agileflow/hook-manifest.yaml` (schema v1). Strict validation: rejects unknown events, non-array `runAfter`, negative `timeout`, non-boolean `enabled`/`skipOnError`, duplicate ids. Six valid Claude Code events recognized: `SessionStart`, `PreCompact`, `Stop`, `PreToolUse:{Bash,Edit,Write}`. Returns null for missing manifest.
195
+ - **`src/runtime/hooks/chain.js`** — `orderChain(hooks)` topologically sorts by `runAfter` via DFS three-color marking; cycles throw with the full path (`a -> b -> c -> a`); unresolved `runAfter` targets throw with the offending hook id; declaration order preserved within topo layers.
196
+ - **`src/runtime/hooks/logger.js`** — `appendHookLog(logPath, entry)` writes one JSON object per line. `truncate()` caps stdout/stderr at 4 KB per stream with a `…[truncated]` marker. Drops `undefined` keys for compact lines. Auto-creates the log directory.
197
+ - **`src/runtime/hooks/orchestrator.js`** — `runEvent({ event, agileflowDir, stdin, overrides, runHook? })` orchestrates a chain: load manifest → filter to event → apply user `overrides` from `agileflow.config.json.hooks` → topo sort → run each hook (via injectable `runHook`, defaulting to a child-process spawner with AbortController-enforced timeouts) → log every step → continue on `skipOnError: true` failures, abort with exit 1 on `skipOnError: false` failures. Default child-process runner picks the interpreter by extension (`.js`→node, `.sh`→bash, else direct), forwards stdin, captures stdout/stderr/exitCode/timedOut, sets `AGILEFLOW_DIR` env.
198
+ - **`bin/hooks/{session-start,pre-bash,pre-edit,pre-write,pre-compact,stop}.js`** — six executable thin dispatchers (~30 lines each). Each forwards stdin to `runEvent` and exits with the chain's resolved code. `pre-compact` and `stop` always exit 0 even on chain failure (these events must never block). All catch top-level errors and fail open.
199
+ - **`HOOK_LOG`** schema: `{ timestamp, event, hookId, status: 'ok'|'error'|'timeout'|'skipped', exitCode, durationMs, stdout?, stderr?, skippedByOnError? }`.
200
+ - **44+ new tests across 4 files**: manifest schema (15), chain ordering + cycles (9), JSONL logger + truncation (8), orchestrator with stubbed runHook (12) including timeout, skipOnError, runAfter ordering, override application, multi-hook logging. Suite: **131 → 184 passing**.
201
+ - **End-to-end smoke verified**: a manifest with `welcome` (ok) and `flaky` (exits 1, skipOnError: true) runs both in topo order, logs each, and the dispatcher exits 0 — the exact v3 cascade-failure case that previously broke session start now degrades gracefully.
202
+
203
+ ### Phase 3 schema fix — align with Claude Code hooks reference
204
+
205
+ A read of the official Claude Code hooks docs revealed our event schema was wrong on two counts: incomplete (6 of 28 real events) and synthetic (`PreToolUse:Bash` is not a real event — it's `PreToolUse` + a separate `matcher: "Bash"` config field). Fixed before slices B/C build on the schema.
244
206
 
245
- ## [2.90.1] - 2026-01-16
207
+ - **`VALID_EVENTS` expanded to all 28 events** in the Claude Code reference: `SessionStart`, `SessionEnd`, `UserPromptSubmit`, `UserPromptExpansion`, `PreToolUse`, `PermissionRequest`, `PermissionDenied`, `PostToolUse`, `PostToolUseFailure`, `PostToolBatch`, `PreCompact`, `PostCompact`, `Stop`, `StopFailure`, `SubagentStart`, `SubagentStop`, `TaskCreated`, `TaskCompleted`, `TeammateIdle`, `InstructionsLoaded`, `ConfigChange`, `CwdChanged`, `FileChanged`, `WorktreeCreate`, `WorktreeRemove`, `Notification`, `Elicitation`, `ElicitationResult`.
208
+ - **`matcher` is now a separate optional field** on hook manifest entries, only valid on tool-related events (`PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied`). Manifest schema rejects matcher on non-tool events with a clear error.
209
+ - **`matcherMatches(pattern, actual)`** helper implements Claude Code's matcher semantics: empty/`*` → match-all; alphanumeric+`_`+`|` → exact-or-pipe-list (`Bash`, `Edit|Write`); anything else → JS regex (`^Notebook`, `mcp__memory__.*`); invalid regex returns false instead of throwing.
210
+ - **Orchestrator's `runEvent` accepts a `matcher` parameter**: hooks with a manifest matcher only fire when their pattern accepts the runtime-supplied matcher; hooks without a manifest matcher fire for every value.
211
+ - **PreToolUse dispatchers** (`pre-bash.js`, `pre-edit.js`, `pre-write.js`) hardcode their respective matcher (`Bash`, `Edit`, `Write`) and pass it to `runEvent`. They register in `.claude/settings.json` (slice C) as `PreToolUse` hooks with the matching `matcher` field, so Claude Code routes correctly.
212
+ - **21 new tests** for the schema + matcher routing: 9 manifest-loader (matcher field validation, expanded event list), 5 orchestrator (matcher filtering across exact / pipe-list / regex / no-matcher), 7 `matcherMatches` cases. Suite: **184 → 205 passing**.
213
+ - **End-to-end re-verified**: a manifest with `welcome` (SessionStart, no matcher), `dc-bash` (PreToolUse, matcher: Bash), and `dc-edit` (PreToolUse, matcher: Edit) routes correctly. SessionStart fires welcome only; `pre-bash.js` invoking the orchestrator with `matcher: 'Bash'` fires only `dc-bash`, filtering out `dc-edit`.
246
214
 
247
- ### Added
248
- - TUI as CLI command with session fixes
215
+ ### IDE / CLI awareness — install gates by target
249
216
 
250
- ## [2.90.0] - 2026-01-16
217
+ Different agentic IDEs / CLIs support different feature subsets. Hooks are Claude Code only (the entire orchestrator we just shipped is Claude-Code-specific). Cursor / Windsurf / Codex don't have an equivalent hook API. The installer now picks an IDE up front and gates feature install on its capabilities.
251
218
 
252
- ### Added
253
- - TUI dashboard with session management and modular CLI architecture
219
+ - **`src/runtime/ide/capabilities.js`** declares an `IDE_CAPABILITIES` map for the four supported targets: `claude-code` (full feature set), `cursor` (commands + MCP), `windsurf` (commands), `codex` (very limited). Each entry lists `hooks` / `skills` / `commands` / `agents` / `mcp` booleans plus a `settingsFile` path.
220
+ - **`src/cli/wizard/ide-picker.js`** adds a Clack `select` prompt asking which IDE the user is targeting. Default is Claude Code. Selecting a non-full target prints a warning listing which features won't be installed (`cursor: hooks, skills, agents won't be installed (not supported by this IDE)`).
221
+ - **`agileflow setup --yes --ide <id>`** flag for the non-interactive path. Unknown IDE ids are rejected with the supported list. Default is `claude-code`.
222
+ - **Status output** now shows the IDE selection: `ide: claude-code (hooks=on, skills=on)`.
223
+ - **Future install gating**: the IDE choice is captured in `agileflow.config.json` at `ide.primary`; subsequent slices (Phase 3 slice C / Phase 4 install gating) consult `capabilitiesFor(ide).hooks` etc. before writing IDE-specific files.
224
+
225
+ ### v4 direction lock — skills-only (no slash commands)
254
226
 
255
- ## [2.89.3] - 2026-01-14
227
+ User directive 2026-04-26: AgileFlow ships **skills only**. No slash commands at all in the runtime. (Distinction: `npx agileflow setup` and friends are CLI subcommands and stay — the directive applies to in-IDE `/agileflow:*` slash commands.)
256
228
 
257
- ### Added
258
- - Security hardening with shell injection prevention and secret redaction
229
+ - **Plugin manifest `provides.commands`**: schema retained for backward compat but bundled plugins all ship `commands: []`. Phase 4 content authoring must NOT create command `.md` files.
230
+ - **Plan §C overlap table** at `/home/bk/.claude/plans/fizzy-stirring-kahan.md` is now wholly "retire in favor of skill" — every former "Kept" command becomes "Retired".
231
+ - **Skill design implication**: with no slash command for deterministic invocation, every skill must use the v2 frontmatter `triggers.keywords` + `priority` + `exclude` fields rigorously so Claude reliably picks the right skill.
232
+ - **IDE capability map**: the `commands: true/false` field stays informational. AgileFlow itself ships no commands regardless.
233
+
234
+ ### Phase 3 slice B — Hook manifest aggregation at install (IDE-gated)
235
+
236
+ The install pipeline now produces a working `.agileflow/hook-manifest.yaml` automatically when the target IDE supports hooks. The 6 dispatchers + orchestrator from slice A finally have something to read.
237
+
238
+ - **`src/runtime/hooks/aggregator.js`** — `buildHookManifest(orderedPlugins)` walks each plugin's `provides.hooks` array, rewrites script paths from plugin-relative (`hooks/welcome.js`) to project-root-relative (`.agileflow/plugins/core/hooks/welcome.js`), and produces a `{ version: 1, hooks: [...] }` object. Defensive: skips invalid entries silently. Pure / no I/O.
239
+ - **`writeAggregatedManifest(plugins, agileflowDir)`** — atomically writes the YAML manifest with a `# Auto-generated …` header so users know not to hand-edit. Temp+rename pattern matching the rest of the runtime; cleans up the temp file on rename failure.
240
+ - **`removeAggregatedManifest(agileflowDir)`** — removes a stale manifest cleanly when the user switches to a non-hook IDE.
241
+ - **`installPlugins` now takes an `ide` parameter** and calls `writeAggregatedManifest` only when `capabilitiesFor(ide).hooks === true`. Switching from claude-code to cursor automatically removes the previously-written manifest. Result object grows a `hookManifestPath` field (path or null).
242
+ - **`setup` and `update` commands** thread `ide` through from `agileflow.config.json.ide.primary`. The bundled core plugin gained a stub `session-welcome.js` hook so aggregation has real content to test against.
243
+ - **17 new tests across aggregator + integration**: pure aggregator unit tests (build, atomic write, header comment, cleanup on failure, remove), 3 integration tests (manifest written for claude-code, NOT written for cursor, stale manifest removed on IDE switch). Suite: **213 → 227 passing across 18 files**.
244
+ - **End-to-end verified**: `agileflow setup --yes --plugins core --ide claude-code` writes hook-manifest.yaml with `session-welcome` registered for SessionStart; switching to `--ide cursor` removes the manifest. The orchestrator (slice A) reads the same file at runtime; the loop is closed.
245
+
246
+ ### Phase 3 slice C — Claude Code settings.json registration
247
+
248
+ The final piece. When `ide=claude-code`, the installer registers our 6 hook entry points in `.claude/settings.json` so Claude Code actually invokes our orchestrator. The orchestrator → manifest loader → chain executor → dispatcher loop now closes against a real Claude Code session.
249
+
250
+ - **`src/runtime/ide/claude-code-settings.js`** — read/merge/write of `.claude/settings.json`. Critical correctness property: NEVER clobbers the user's other settings.json content (permissions, env, non-managed hooks). AgileFlow-owned entries are identified by the literal `agileflow hook` substring in their command and replaced atomically; everything else is preserved.
251
+ - **`src/cli/commands/hook.js`** + new `agileflow hook <event> [--matcher <name>]` CLI subcommand: a unified hook dispatcher that resolves through the npm bin entry. Settings.json registers `npx --no-install agileflow hook <Event>` so the path works regardless of how the package is installed (local node_modules, global, npx).
252
+ - **6 registrations across 4 events**: 1 SessionStart + 3 PreToolUse (Bash / Edit / Write matchers) + 1 PreCompact + 1 Stop. Each entry uses `type: command`, `timeout: 30` (seconds, per Claude Code docs), and the unified `agileflow hook ...` invocation.
253
+ - **`installPlugins`** now calls `writeClaudeCodeSettings(projectRoot)` when `ide=claude-code` and `removeClaudeCodeSettings(projectRoot)` otherwise. Switching IDEs cleans up stale entries; if AgileFlow was the only owner, the settings.json file is removed entirely.
254
+ - **24 new tests** for the settings.json writer (entry detection, merge, unmerge, file lifecycle, malformed input handling, idempotency, atomicity) plus 2 integration tests for ide-gated registration. Suite: **227 → 251 passing across 19 files**.
255
+ - **End-to-end verified**: `agileflow setup --yes --ide claude-code` writes `.claude/settings.json` with all 6 entries; `npx agileflow hook SessionStart` invokes the orchestrator; switching to `--ide cursor` deletes the settings file. **Phase 3 is functionally complete** — a fresh Claude Code session in a v4-installed project now actually invokes our hooks.
259
256
 
260
- ## [2.89.2] - 2026-01-14
257
+ The 6 standalone dispatchers under `bin/hooks/*.js` are now legacy. The unified `agileflow hook` subcommand replaces them for production use; they're kept as direct-invocation aliases (useful for testing without npx). A future cleanup can prune them.
261
258
 
262
- ### Fixed
263
- - Increase precompact preservation window to 10 minutes
259
+ ### Phase 4 first slice — agileflow-story-writer skill
264
260
 
265
- ## [2.89.1] - 2026-01-14
261
+ The first real user-visible content lands in v4. After install, a Claude Code session in the user's project will discover `agileflow-story-writer` and activate it on prompts about features / user stories / acceptance criteria.
266
262
 
267
- ### Fixed
268
- - Fix active_commands preservation after conversation compact
263
+ - **`content/plugins/core/skills/agileflow-story-writer/SKILL.md`** — ported from v3 to the v4 frontmatter v2 schema:
264
+ - `description` follows the `Use when...` policy
265
+ - explicit `triggers.keywords` (`user story`, `as a user, i want`, `feature request`, `implement this`, etc.)
266
+ - `triggers.exclude` keywords damp false activations on `bedtime story` / `tell me a story`
267
+ - `triggers.priority: 50` for collision resolution
268
+ - `learns.enabled: true` with `_learnings/story-writer.yaml` for self-improvement
269
+ - `<!-- {{PERSONALIZATION_BLOCK}} -->` placeholder for future personalization injection (Phase 5)
270
+ - Body kept ≤ 200 lines per the §G validator policy
271
+ - **`content/plugins/core/plugin.yaml`** updated to declare the skill in `provides.skills`.
272
+ - **`src/runtime/ide/claude-code-skills.js`** — mirror logic that copies enabled plugin skills from `.agileflow/plugins/<id>/skills/<skill>/` into `.claude/skills/<skill>/` (Claude Code's canonical discovery location). Pruning is conservative: only `agileflow-*` prefixed dirs are removed when orphaned, leaving third-party skill dirs alone. Copy (not symlink) for Windows portability.
273
+ - **`installPlugins`** now mirrors skills when `ide=claude-code` AND `capabilities.skills`, and unmirrors them on switch-away. Result object gains `skillsMirrored` and `skillsPruned` arrays.
274
+ - **10 new tests across mirror module + 2 integration tests**: collect-skills, mirror to fresh dir, replace stale content, prune orphans, leave third-party alone, unmirror, ENOENT-safe; integration: install puts skill in `.claude/skills/`, IDE switch removes it. Suite: **251 → 261 passing across 20 files**.
275
+ - **End-to-end verified**: `agileflow setup --yes --plugins core --ide claude-code` lands `agileflow-story-writer` at `.claude/skills/agileflow-story-writer/SKILL.md` with the v4 frontmatter intact. Switching to `--ide cursor` removes it.
269
276
 
270
- ## [2.89.0] - 2026-01-14
277
+ ### Phase 3+4 logic-audit fixes
271
278
 
272
- ### Added
273
- - Security hardening, LRU file caching, and comprehensive test coverage
279
+ 5 logic analyzers (edge / flow / invariant / race / type) on Phase 3 and Phase 4 code surfaced 7 actionable findings. All addressed before more skills land.
274
280
 
275
- ## [2.88.0] - 2026-01-13
281
+ - **`mirrorClaudeCodeSkills`** — wrapped per-skill copy in try/catch. ENOENT (missing source dir) is now reported as `result.skipped` and the install continues; other errors still propagate. `copyDir` was also reordered to read source before creating dest, so a missing source no longer leaves an empty mirror dir behind.
282
+ - **`installPlugins` validate-before-write**: step 7 now builds the hook manifest in memory and runs it through `normalizeManifest` BEFORE writing. A plugin contributing an invalid hook (unknown event, missing matcher on a non-tool event, etc.) now errors at install time with `Hook manifest validation failed: ...` instead of silently registering hook dispatchers in `.claude/settings.json` against an unparseable manifest.
283
+ - **`mergeManagedHooks` / `unmanageHooks`** — added `!Array.isArray(existing.hooks)` guard so an array-shaped `hooks: []` in user settings.json doesn't get spread into an object with numeric keys (which would corrupt the file). Treats it as missing and rebuilds clean.
284
+ - **`agileflow hook` subcommand** — validates the event name against `VALID_EVENTS` and requires `--matcher` for tool-related events. Misspellings (`SesionStart`) and missing matchers now exit 1 with a clear error and the list of valid events. Previously these silently no-op'd the entire hook chain.
285
+ - **`removeClaudeCodeSettings`** — no longer swallows arbitrary read errors. ENOENT and SyntaxError are still tolerated by the inner `readExisting` (treated as empty), but EACCES / EIO now propagate so we don't lie about removing entries from an unreadable file.
286
+ - **`InstallResult` JSDoc** — extended typedef from 7 to 12 properties to match the actual return shape (`hookManifestPath`, `settingsPath`, `skillsMirrored`, `skillsPruned`, `skillsSkipped`, `ide`).
287
+ - **`collectPluginSkills`** — rejects entries with empty-string `id` or `dir`. An empty `dir: ""` would previously path-join to the plugin root and produce wrong copies.
288
+ - **5 new tests** + 2 modified for new return shapes: array-shaped hooks treated correctly, empty-string skill specs filtered, missing-source mirror reports skipped without crashing, validate-before-write rejects malformed manifest before settings.json is touched. Suite: **261 → 266 passing**.
276
289
 
277
- ### Fixed
278
- - Security and code quality improvements from EP-0012 ideation
290
+ End-to-end verified: `npx agileflow hook SesionStart` (typo) prints `unknown event "SesionStart"` with the full valid list and exits 1; `npx agileflow hook PreToolUse` (no `--matcher`) prints `event "PreToolUse" requires --matcher` and exits 1; the valid case still exits 0.
279
291
 
280
- ## [2.87.0] - 2026-01-13
292
+ ### Phase 4 — Core scope content-complete (4 skills)
281
293
 
282
- ### Added
283
- - Multi-session visibility with cleanup notifications and status line indicators
294
+ The Core plugin now ships every skill its name promised: Epic, Story, Status, Babysit. After install on `claude-code`, a fresh Claude Code session discovers and activates all four through their explicit triggers.
284
295
 
285
- ## [2.86.0] - 2026-01-13
296
+ - **`agileflow-epic-planner`** — ported from v3. Breaks large features into milestoned epics with success metrics, dependencies, and risks. Triggers on `epic`, `initiative`, `multi-month project`, `break this down`, `phased rollout`. Excludes `epic fail` / `epic novel` / `mythological epic`. Writes `docs/05-epics/EP-####-<slug>.md`. Self-improving learnings enabled.
297
+ - **`agileflow-story-writer`** — already shipped in the previous slice. v2.0.0, learns enabled.
298
+ - **`agileflow-status-updater`** — NEW for v4 (no v3 source). Applies status mutations (story `ready` → `in_progress` → `review` → `complete` / `blocked`; epic `PLANNING` → `ACTIVE` → `COMPLETED` / `ON_HOLD`) from natural-language progress updates. Strict transition table; diff-first / YES-NO confirmation; mutates `docs/09-agents/status.json` + the relevant story / epic file frontmatter. Triggers on `mark this story`, `i finished`, `i'm blocked on`, `move to in progress`. Excludes `status quo` / `status report`.
299
+ - **`agileflow-babysit-mentor`** — NEW for v4, the v3 `/agileflow:babysit` command reincarnated as a skill. End-to-end mentor pattern: pick → plan → delegate → verify → commit. Codifies the 6 operating rules (smart `AskUserQuestion`, plan mode, expert delegation, task tracking, logic audit, flow audit). Triggers on `walk me through`, `help me ship this`, `mentor mode`, `babysit`. Excludes `babysit my kid`. Self-improving learnings enabled.
300
+ - **`content/plugins/core/plugin.yaml`** updated to declare all 4 skills.
301
+ - **End-to-end verified**: `agileflow setup --yes --plugins core --ide claude-code` lands all 4 skills under `.claude/skills/`. Each carries v4 frontmatter v2 (name, version, category, description with "Use when…", explicit triggers with priority + exclude). Suite still **266 passing** (skills are content, not new code paths — covered by existing integration tests).
286
302
 
287
- ### Added
288
- - Progressive disclosure and RPI workflow for context optimization
303
+ **Phase 4 Core scope**: complete. Phase 5 (skill validator + CI + alpha.1 publish) is next. Other plugins (`audit`, `ads`, `seo`, `council`, etc.) populate after the validator is wired so they ship through a quality gate.
289
304
 
290
- ## [2.85.0] - 2026-01-12
305
+ ### Phase 4 — Core gains a 5th skill: agileflow-adr
291
306
 
292
- ### Added
293
- - Parallel sessions with git worktrees and session boundary protection
307
+ - **`agileflow-adr`** — ported from v3 to v4 frontmatter v2. Captures architectural / technical decisions as MADR-format ADRs in `docs/03-decisions/`. Triggers on `architecture decision`, `which database`, `rest vs graphql`, `sql vs nosql`, `which framework`, `record this decision`, `trade-off between`, `adr for`. Excludes `decision tree` (algorithmic) and `decisive moment`. Self-improving learnings enabled. Bundled directly in Core because architectural decisions surface constantly during implementation; making the user remember to enable a separate plugin is friction at exactly the wrong moment.
308
+ - **`content/plugins/core/plugin.yaml`** updated to declare 5 skills.
309
+ - **End-to-end verified**: `agileflow setup --yes --plugins core --ide claude-code` lands all 5 skills under `.claude/skills/`. 7 files created (5 × SKILL.md + plugin.yaml + session-welcome.js). Suite still 266 passing.
294
310
 
295
- ## [2.84.2] - 2026-01-11
311
+ ### Phase 5 slice 1 — Skill validator + `agileflow doctor`
296
312
 
297
- ### Fixed
298
- - Auto-update retry with npm cache clean on stale registry
313
+ The skills-only direction makes activation triggers load-bearing. Typos in descriptions, missing required fields, and (worst) keyword collisions across skills silently degrade reliability. The validator catches all of those before alpha.1 ships.
299
314
 
300
- ## [2.84.1] - 2026-01-11
315
+ - **`src/runtime/skills/validator.js`** — per-skill checks: YAML frontmatter parses; required fields present (`name`, `version`, `category`, `description`, `triggers`); `description` starts with `Use when …` (forces activation-trigger framing); `triggers.keywords` is non-empty array of strings; `triggers.priority` is integer in [0, 100]; `triggers.exclude` (if present) is array of strings; `version` is valid semver; SKILL.md body ≤ 400 lines; if `learns.enabled === true`, the `_learnings/<id>.yaml` file should exist (warning, not error — created on first correction); skills-only policy: warn if `provides.command` is set.
316
+ - **Cross-skill collision detection** — `(keyword, priority)` pairs must be unique across the loaded skill set. Case-insensitive; trims whitespace. Two skills sharing `('story', 50)` will both be flagged with the offending keyword and priority and the colliding ids listed.
317
+ - **`validateSkillsAtRoot(dir)`** — walks every immediate-child directory looking for `SKILL.md`, runs per-skill validation, then cross-skill collision detection across the loaded set. Failed-load errors are captured as issues per skill, not as fatal exceptions, so one broken SKILL.md doesn't blow up a doctor pass.
318
+ - **`agileflow doctor`** — replaces the Phase 1 stub with a real validator that runs four sections in order: plugin manifests (validatePluginSet), skills (validateSkillsAtRoot for every bundled plugin + cross-plugin collision), aggregated hook manifest (the same validate-before-write check installPlugins does), installed hook manifest (if `.agileflow/hook-manifest.yaml` exists in cwd). Each section prints `ok` or a list of `ERROR`/`WARN` lines with the skill/plugin id. Exit 0 on green, exit 1 if any errors.
319
+ - **Doctor output against bundled content**: `Plugin manifests: ok`, `Skills: 4 warnings (missing _learnings files — created on first correction)`, `Hook manifest (aggregated): ok`, `Hook manifest (installed): ok`. All 5 Core skills pass strict validation.
320
+ - **20 new tests** across `validator.test.js`: per-field validation, semver, body-length, collision detection (positive case, no-collision case, different priorities, case-insensitive), the validateSkillsAtRoot loader (missing dir → empty, broken skill → captured issue, multi-skill → cross-check). Suite: **266 → 286 passing across 21 files**.
301
321
 
302
- ### Fixed
303
- - Status line and welcome table formatting fixes
322
+ ### Phase 5 slices 2 + 3 — CI + publish setup
304
323
 
305
- ## [2.84.0] - 2026-01-11
324
+ The path from "green test suite" to "user can `npm i agileflow@alpha`" closes here.
306
325
 
307
- ### Added
308
- - File awareness, smart merge, and simplified auto-update
309
-
310
- ## [2.83.0] - 2026-01-10
311
-
312
- ### Changed
313
- - Remove beta TUI dashboard - use slash commands instead
314
-
315
- ## [2.82.5] - 2026-01-10
316
-
317
- ### Fixed
318
- - Fix version detection to read from config.yaml
319
-
320
- ## [2.82.4] - 2026-01-10
321
-
322
- ### Fixed
323
- - Fix whats-new command to include CHANGELOG.md in installation
324
-
325
- ## [2.82.3] - 2026-01-09
326
-
327
- ### Fixed
328
- - Copy lib directory to .agileflow for script dependencies
329
-
330
- ## [2.82.2] - 2026-01-09
331
-
332
- ### Fixed
333
- - Installer now copies lib/ directory to .agileflow/lib/ for script dependencies
334
-
335
- ## [2.82.1] - 2026-01-09
336
-
337
- ### Fixed
338
- - Fix npm package missing lib directory
339
-
340
- ## [2.82.0] - 2026-01-09
341
-
342
- ### Added
343
- - Multi-agent orchestration patterns with batch, workflow, and choose commands
344
-
345
- ## [2.81.0] - 2026-01-09
346
-
347
- ### Added
348
- - Input validation, damage control refactor, and session merge flow
349
-
350
- ## [2.80.0] - 2026-01-09
351
-
352
- ### Added
353
- - Comprehensive documentation and docs site improvements
354
-
355
- ## [2.79.0] - 2026-01-09
356
-
357
- ### Added
358
- - Damage Control protection, Visual Mode, and self-improving skills
359
-
360
- ## [2.78.0] - 2026-01-08
361
-
362
- ### Added
363
- - Enhanced compact context preservation with damage control hooks
364
-
365
- ## [2.77.0] - 2026-01-01
366
-
367
- ### Added
368
- - Vibrant 256-color palette with enhanced status line
369
-
370
- ## [2.76.0] - 2026-01-01
371
-
372
- ### Added
373
- - Ralph Loop autonomous story processing with Stop hook support
374
-
375
- ## [2.75.0] - 2026-01-01
376
-
377
- ### Added
378
- - Restructure context/research commands into subdirectories with stuck detection
379
-
380
- ## [2.74.0] - 2025-12-31
381
-
382
- ### Added
383
- - Script repair and diagnostics for /configure command
384
-
385
- ## [2.73.0] - 2025-12-29
386
-
387
- ### Changed
388
- - Consolidate scripts in .agileflow/scripts with updated hook paths
389
-
390
- ## [2.72.0] - 2025-12-29
391
-
392
- ### Added
393
- - Move scripts to .agileflow/scripts directory
394
-
395
- ## [2.71.0] - 2025-12-29
396
-
397
- ### Added
398
- - Outdated script detection with upgrade command and 30-day archival default
399
-
400
- ## [2.70.0] - 2025-12-29
401
-
402
- ### Fixed
403
- - Configure script reads version dynamically from installed package
404
-
405
- ## [2.69.0] - 2025-12-29
406
-
407
- ### Added
408
- - Fix configure script to read version dynamically instead of hardcoded
326
+ - **`.github/workflows/v4-ci.yml`** — runs on push or PR that touches `apps/cli/**` on the `v4` branch. Steps: `npm install --legacy-peer-deps` (works around the v3 apps/docs peer-dep conflict), `npx vitest run` in `apps/cli/`, `node bin/agileflow.js doctor`, plus two scratch-dir smoke tests (`setup --yes --ide claude-code` lands `.claude/{settings.json,skills/agileflow-story-writer/SKILL.md}` + `hook-manifest.yaml` + file index; `setup --yes --ide cursor` correctly does NOT write any of those).
327
+ - **`.github/workflows/v4-publish.yml`** triggered by tags matching `agileflow-v4.*`. Re-runs tests + doctor, verifies the tag version matches `apps/cli/package.json`, and publishes with `npm publish --access public --tag alpha`. Uses the `NPM_TOKEN` secret. Tag prefix `agileflow-v4-` keeps v4 tags distinct from any v3 tags that may still land on `main`.
328
+ - **`apps/cli/package.json`** gained:
329
+ - `prepublishOnly` script that runs `vitest run && node bin/agileflow.js doctor` so a red doctor blocks `npm publish` locally too.
330
+ - `doctor` script (alias for `node bin/agileflow.js doctor`).
331
+ - **`apps/cli/LICENSE`** copied from repo root so the published tarball is self-contained per the `files: [..., "LICENSE", ...]` declaration.
332
+ - **`apps/cli/PUBLISHING.md`** — quick-reference for shipping a release. Covers prerequisites, versioning convention (`4.0.0-alpha.N` → `4.0.0-beta.N` `4.0.0-rc.N` → `4.0.0`), local dry-run, CI tag-push flow, manual emergency flow, alpha → latest promotion, and rollback (`npm deprecate` / `npm unpublish`).
333
+ - **Verified `npm pack --dry-run`** from `apps/cli/`: ships 52 files (bin/, src/, content/, README.md, LICENSE, CHANGELOG.md) — 65 KB tarball, 210 KB unpacked. Tests + vitest config + node_modules excluded.
409
334
 
410
- ## [2.68.0] - 2025-12-29
335
+ **To ship `4.0.0-alpha.1` now**:
411
336
 
412
- ### Fixed
413
- - Remove Stop hook, simplify docs to npx-only installation
414
-
415
- ## [2.67.0] - 2025-12-29
416
-
417
- ### Added
418
- - Simplify installation to npx-only, remove global install recommendation
419
-
420
- ## [2.66.0] - 2025-12-29
421
-
422
- ### Added
423
- - Remove unreliable Stop hook, improve global CLI messaging
424
-
425
- ## [2.65.0] - 2025-12-29
426
-
427
- ### Added
428
- - Improved outdated global CLI messaging and guidance
429
-
430
- ## [2.64.0] - 2025-12-29
431
-
432
- ### Changed
433
- - Fix version detection in welcome script for user projects
434
-
435
- ## [2.63.0] - 2025-12-27
436
-
437
- ### Added
438
- - Per-IDE options for update and uninstall commands
337
+ ```bash
338
+ cd apps/cli && npm version 4.0.0-alpha.1 --no-git-tag-version
339
+ git commit -am "release(v4): 4.0.0-alpha.1"
340
+ git tag agileflow-v4.0.0-alpha.1
341
+ git push origin v4 agileflow-v4.0.0-alpha.1
342
+ # .github/workflows/v4-publish.yml does the rest.
343
+ ```
439
344
 
440
- ## [2.62.0] - 2025-12-27
345
+ ### Not yet implemented
441
346
 
442
- ### Added
443
- - Dynamic skill generation with research-driven MCP integration
444
-
445
- ## [2.61.0] - 2025-12-27
446
-
447
- ### Fixed
448
- - Fixed changelog entry formatting and version comparison links
449
-
450
- ## [2.60.0] - 2025-12-27
451
-
452
- ### Changed
453
- - Standardized changelog format with human-readable summaries
454
-
455
- ## [2.59.0] - 2025-12-27
456
-
457
- ### Changed
458
- - Automated CHANGELOG.md updates in release script
459
-
460
- ## [2.58.0] - 2025-12-27
461
-
462
- ### Added
463
- - Auto-update configuration via `/agileflow:configure --enable=autoupdate`
464
-
465
- ### Fixed
466
- - Metadata merge for nested `updates` object in configure script
347
+ - Plugin registry & loader (Phase 2).
348
+ - Installer sync engine (Phase 2 ported from v3 `installer.js:349-455`).
349
+ - Content placeholder injector (Phase 2).
350
+ - Hook meta-orchestrator + 6 dispatchers (Phase 3).
351
+ - Core plugin content — Epic, Story, Status, Babysit (Phase 4).
352
+ - Skill validator, personalization injector, CI, npm publish (Phase 5).
467
353
 
468
- ## [2.57.0] - 2025-12-27
354
+ ### Removed from v3
469
355
 
470
- ### Added
471
- - Auto-update system with configurable check frequency
472
- - Update notifications in welcome message and status line
473
- - Changelog display after updates showing what's new
474
- - `/agileflow:whats-new` command for viewing full changelog
475
-
476
- ## [2.56.0] - 2025-12-27
477
-
478
- ### Added
479
- - Dynamic IDE discovery with auto-detection from handlers
480
- - OpenAI Codex CLI now appears in setup IDE selection
481
-
482
- ### Changed
483
- - Replaced hardcoded IDE list with dynamic loading from IdeManager
484
-
485
- ## [2.55.0] - 2025-12-26
486
-
487
- ### Changed
488
- - Consolidated code improvements and debugging enhancements
489
-
490
- ## [2.54.0] - 2025-12-26
491
-
492
- ### Added
493
- - Test suites for generators, npm-utils, and version-checker
494
-
495
- ## [2.53.0] - 2025-12-25
496
-
497
- ### Added
498
- - Session manager for parallel session detection
499
- - Warning when multiple Claude sessions active
500
-
501
- ## [2.52.0] - 2025-12-24
502
-
503
- ### Added
504
- - PreCompact hook for context preservation during compacts
505
-
506
- ## [2.51.0] - 2025-12-23
507
-
508
- ### Added
509
- - OpenAI Codex CLI integration
510
-
511
- ## [2.50.0] - 2025-12-22
512
-
513
- ### Added
514
- - Windsurf and Cursor IDE support
515
-
516
- ## [2.45.0] - 2025-12-20
517
-
518
- ### Added
519
- - Auto-archival system for completed stories
520
-
521
- ## [2.40.0] - 2025-12-18
522
-
523
- ### Added
524
- - Hooks system for event-driven automation
525
- - Status line integration for Claude Code
526
-
527
- [Unreleased]: https://github.com/projectquestorg/AgileFlow/compare/v2.60.0...HEAD
528
- [2.60.0]: https://github.com/projectquestorg/AgileFlow/compare/v2.59.0...v2.60.0
529
- [2.59.0]: https://github.com/projectquestorg/AgileFlow/compare/v2.58.0...v2.59.0
530
- [2.58.0]: https://github.com/projectquestorg/AgileFlow/compare/v2.57.0...v2.58.0
531
- [2.57.0]: https://github.com/projectquestorg/AgileFlow/compare/v2.56.0...v2.57.0
532
- [2.56.0]: https://github.com/projectquestorg/AgileFlow/compare/v2.55.0...v2.56.0
533
- [2.55.0]: https://github.com/projectquestorg/AgileFlow/compare/v2.54.0...v2.55.0
534
- [2.54.0]: https://github.com/projectquestorg/AgileFlow/compare/v2.53.0...v2.54.0
535
- [2.53.0]: https://github.com/projectquestorg/AgileFlow/compare/v2.52.0...v2.53.0
536
- [2.52.0]: https://github.com/projectquestorg/AgileFlow/compare/v2.51.0...v2.52.0
537
- [2.51.0]: https://github.com/projectquestorg/AgileFlow/compare/v2.50.0...v2.51.0
538
- [2.50.0]: https://github.com/projectquestorg/AgileFlow/compare/v2.45.0...v2.50.0
539
- [2.45.0]: https://github.com/projectquestorg/AgileFlow/compare/v2.40.0...v2.45.0
540
- [2.40.0]: https://github.com/projectquestorg/AgileFlow/releases/tag/v2.40.0
356
+ - `packages/cli/` renamed to `agileflow-v3-legacy` on the `v4` branch (workspace collision prevention). v3 continues to ship from `main`.