create-genia-os 2.4.0 → 3.0.0

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 (724) hide show
  1. package/bin/index.js +332 -332
  2. package/package.json +42 -42
  3. package/template/.aiox-core/constitution.md +171 -0
  4. package/template/.aiox-core/core-config.yaml +388 -0
  5. package/template/.aiox-core/development/README.md +142 -0
  6. package/template/.aiox-core/development/agent-teams/team-all.yaml +15 -0
  7. package/template/.aiox-core/development/agent-teams/team-fullstack.yaml +18 -0
  8. package/template/.aiox-core/development/agent-teams/team-ide-minimal.yaml +10 -0
  9. package/template/.aiox-core/development/agent-teams/team-no-ui.yaml +13 -0
  10. package/template/.aiox-core/development/agent-teams/team-qa-focused.yaml +155 -0
  11. package/template/.aiox-core/development/agents/aiox-master.md +463 -0
  12. package/template/.aiox-core/development/agents/analyst/MEMORY.md +33 -0
  13. package/template/.aiox-core/development/agents/analyst.md +271 -0
  14. package/template/.aiox-core/development/agents/architect/MEMORY.md +39 -0
  15. package/template/.aiox-core/development/agents/architect.md +472 -0
  16. package/template/.aiox-core/development/agents/data-engineer/MEMORY.md +32 -0
  17. package/template/.aiox-core/development/agents/data-engineer.md +493 -0
  18. package/template/.aiox-core/development/agents/dev/MEMORY.md +46 -0
  19. package/template/.aiox-core/development/agents/dev.md +558 -0
  20. package/template/.aiox-core/development/agents/devops/MEMORY.md +39 -0
  21. package/template/.aiox-core/development/agents/devops.md +537 -0
  22. package/template/.aiox-core/development/agents/pm/MEMORY.md +38 -0
  23. package/template/.aiox-core/development/agents/pm.md +375 -0
  24. package/template/.aiox-core/development/agents/po/MEMORY.md +45 -0
  25. package/template/.aiox-core/development/agents/po.md +333 -0
  26. package/template/.aiox-core/development/agents/qa/MEMORY.md +42 -0
  27. package/template/.aiox-core/development/agents/qa.md +447 -0
  28. package/template/.aiox-core/development/agents/sm/MEMORY.md +31 -0
  29. package/template/.aiox-core/development/agents/sm.md +285 -0
  30. package/template/.aiox-core/development/agents/squad-creator.md +342 -0
  31. package/template/.aiox-core/development/agents/ux/MEMORY.md +31 -0
  32. package/template/.aiox-core/development/agents/ux-design-expert.md +493 -0
  33. package/template/.aiox-core/development/checklists/agent-quality-gate.md +559 -0
  34. package/template/.aiox-core/development/checklists/brownfield-compatibility-checklist.md +114 -0
  35. package/template/.aiox-core/development/checklists/issue-triage-checklist.md +35 -0
  36. package/template/.aiox-core/development/checklists/memory-audit-checklist.md +53 -0
  37. package/template/.aiox-core/development/checklists/self-critique-checklist.md +273 -0
  38. package/template/.aiox-core/development/data/decision-heuristics-framework.md +621 -0
  39. package/template/.aiox-core/development/data/quality-dimensions-framework.md +426 -0
  40. package/template/.aiox-core/development/data/tier-system-framework.md +475 -0
  41. package/template/.aiox-core/development/scripts/activation-runtime.js +63 -0
  42. package/template/.aiox-core/development/scripts/agent-assignment-resolver.js +231 -0
  43. package/template/.aiox-core/development/scripts/agent-config-loader.js +626 -0
  44. package/template/.aiox-core/development/scripts/agent-exit-hooks.js +96 -0
  45. package/template/.aiox-core/development/scripts/apply-inline-greeting-all-agents.js +146 -0
  46. package/template/.aiox-core/development/scripts/approval-workflow.js +643 -0
  47. package/template/.aiox-core/development/scripts/audit-agent-config.js +380 -0
  48. package/template/.aiox-core/development/scripts/backlog-manager.js +407 -0
  49. package/template/.aiox-core/development/scripts/backup-manager.js +607 -0
  50. package/template/.aiox-core/development/scripts/batch-update-agents-session-context.js +95 -0
  51. package/template/.aiox-core/development/scripts/branch-manager.js +390 -0
  52. package/template/.aiox-core/development/scripts/code-quality-improver.js +1329 -0
  53. package/template/.aiox-core/development/scripts/commit-message-generator.js +850 -0
  54. package/template/.aiox-core/development/scripts/conflict-resolver.js +675 -0
  55. package/template/.aiox-core/development/scripts/decision-context.js +228 -0
  56. package/template/.aiox-core/development/scripts/decision-log-generator.js +293 -0
  57. package/template/.aiox-core/development/scripts/decision-log-indexer.js +284 -0
  58. package/template/.aiox-core/development/scripts/decision-recorder.js +168 -0
  59. package/template/.aiox-core/development/scripts/dependency-analyzer.js +638 -0
  60. package/template/.aiox-core/development/scripts/dev-context-loader.js +296 -0
  61. package/template/.aiox-core/development/scripts/diff-generator.js +352 -0
  62. package/template/.aiox-core/development/scripts/elicitation-engine.js +385 -0
  63. package/template/.aiox-core/development/scripts/elicitation-session-manager.js +300 -0
  64. package/template/.aiox-core/development/scripts/generate-greeting.js +109 -0
  65. package/template/.aiox-core/development/scripts/git-wrapper.js +462 -0
  66. package/template/.aiox-core/development/scripts/greeting-builder.js +1404 -0
  67. package/template/.aiox-core/development/scripts/greeting-config-cli.js +85 -0
  68. package/template/.aiox-core/development/scripts/greeting-preference-manager.js +169 -0
  69. package/template/.aiox-core/development/scripts/issue-triage.js +171 -0
  70. package/template/.aiox-core/development/scripts/manifest-preview.js +245 -0
  71. package/template/.aiox-core/development/scripts/metrics-tracker.js +776 -0
  72. package/template/.aiox-core/development/scripts/migrate-task-to-v2.js +377 -0
  73. package/template/.aiox-core/development/scripts/modification-validator.js +555 -0
  74. package/template/.aiox-core/development/scripts/pattern-learner.js +1225 -0
  75. package/template/.aiox-core/development/scripts/performance-analyzer.js +758 -0
  76. package/template/.aiox-core/development/scripts/populate-entity-registry.js +673 -0
  77. package/template/.aiox-core/development/scripts/refactoring-suggester.js +1148 -0
  78. package/template/.aiox-core/development/scripts/rollback-handler.js +531 -0
  79. package/template/.aiox-core/development/scripts/security-checker.js +359 -0
  80. package/template/.aiox-core/development/scripts/skill-validator.js +341 -0
  81. package/template/.aiox-core/development/scripts/squad/README.md +112 -0
  82. package/template/.aiox-core/development/scripts/squad/index.js +123 -0
  83. package/template/.aiox-core/development/scripts/squad/squad-analyzer.js +637 -0
  84. package/template/.aiox-core/development/scripts/squad/squad-designer.js +1010 -0
  85. package/template/.aiox-core/development/scripts/squad/squad-downloader.js +510 -0
  86. package/template/.aiox-core/development/scripts/squad/squad-extender.js +871 -0
  87. package/template/.aiox-core/development/scripts/squad/squad-generator.js +1405 -0
  88. package/template/.aiox-core/development/scripts/squad/squad-loader.js +359 -0
  89. package/template/.aiox-core/development/scripts/squad/squad-migrator.js +627 -0
  90. package/template/.aiox-core/development/scripts/squad/squad-publisher.js +629 -0
  91. package/template/.aiox-core/development/scripts/squad/squad-validator.js +855 -0
  92. package/template/.aiox-core/development/scripts/story-index-generator.js +337 -0
  93. package/template/.aiox-core/development/scripts/story-manager.js +375 -0
  94. package/template/.aiox-core/development/scripts/story-update-hook.js +259 -0
  95. package/template/.aiox-core/development/scripts/task-identifier-resolver.js +145 -0
  96. package/template/.aiox-core/development/scripts/template-engine.js +240 -0
  97. package/template/.aiox-core/development/scripts/template-validator.js +279 -0
  98. package/template/.aiox-core/development/scripts/test-generator.js +844 -0
  99. package/template/.aiox-core/development/scripts/test-greeting-system.js +142 -0
  100. package/template/.aiox-core/development/scripts/transaction-manager.js +590 -0
  101. package/template/.aiox-core/development/scripts/unified-activation-pipeline.js +815 -0
  102. package/template/.aiox-core/development/scripts/usage-tracker.js +674 -0
  103. package/template/.aiox-core/development/scripts/validate-filenames.js +226 -0
  104. package/template/.aiox-core/development/scripts/validate-task-v2.js +319 -0
  105. package/template/.aiox-core/development/scripts/verify-workflow-gaps.js +1032 -0
  106. package/template/.aiox-core/development/scripts/version-tracker.js +527 -0
  107. package/template/.aiox-core/development/scripts/workflow-navigator.js +327 -0
  108. package/template/.aiox-core/development/scripts/workflow-state-manager.js +650 -0
  109. package/template/.aiox-core/development/scripts/workflow-validator.js +769 -0
  110. package/template/.aiox-core/development/scripts/yaml-validator.js +397 -0
  111. package/template/.aiox-core/development/tasks/add-mcp.md +436 -0
  112. package/template/.aiox-core/development/tasks/advanced-elicitation.md +319 -0
  113. package/template/.aiox-core/development/tasks/analyst-facilitate-brainstorming.md +342 -0
  114. package/template/.aiox-core/development/tasks/analyze-brownfield.md +456 -0
  115. package/template/.aiox-core/development/tasks/analyze-cross-artifact.md +357 -0
  116. package/template/.aiox-core/development/tasks/analyze-framework.md +697 -0
  117. package/template/.aiox-core/development/tasks/analyze-performance.md +637 -0
  118. package/template/.aiox-core/development/tasks/analyze-project-structure.md +669 -0
  119. package/template/.aiox-core/development/tasks/apply-qa-fixes.md +347 -0
  120. package/template/.aiox-core/development/tasks/architect-analyze-impact.md +834 -0
  121. package/template/.aiox-core/development/tasks/audit-codebase.md +429 -0
  122. package/template/.aiox-core/development/tasks/audit-tailwind-config.md +270 -0
  123. package/template/.aiox-core/development/tasks/audit-utilities.md +358 -0
  124. package/template/.aiox-core/development/tasks/blocks/README.md +178 -0
  125. package/template/.aiox-core/development/tasks/blocks/agent-prompt-template.md +115 -0
  126. package/template/.aiox-core/development/tasks/blocks/context-loading.md +108 -0
  127. package/template/.aiox-core/development/tasks/blocks/execution-pattern.md +121 -0
  128. package/template/.aiox-core/development/tasks/blocks/finalization.md +123 -0
  129. package/template/.aiox-core/development/tasks/bootstrap-shadcn-library.md +286 -0
  130. package/template/.aiox-core/development/tasks/brownfield-create-epic.md +573 -0
  131. package/template/.aiox-core/development/tasks/brownfield-create-story.md +364 -0
  132. package/template/.aiox-core/development/tasks/build-autonomous.md +199 -0
  133. package/template/.aiox-core/development/tasks/build-component.md +478 -0
  134. package/template/.aiox-core/development/tasks/build-resume.md +125 -0
  135. package/template/.aiox-core/development/tasks/build-status.md +155 -0
  136. package/template/.aiox-core/development/tasks/build.md +141 -0
  137. package/template/.aiox-core/development/tasks/calculate-roi.md +455 -0
  138. package/template/.aiox-core/development/tasks/check-docs-links.md +114 -0
  139. package/template/.aiox-core/development/tasks/ci-cd-configuration.md +764 -0
  140. package/template/.aiox-core/development/tasks/cleanup-utilities.md +670 -0
  141. package/template/.aiox-core/development/tasks/cleanup-worktrees.md +39 -0
  142. package/template/.aiox-core/development/tasks/collaborative-edit.md +1109 -0
  143. package/template/.aiox-core/development/tasks/compose-molecule.md +284 -0
  144. package/template/.aiox-core/development/tasks/consolidate-patterns.md +414 -0
  145. package/template/.aiox-core/development/tasks/correct-course.md +280 -0
  146. package/template/.aiox-core/development/tasks/create-agent.md +1198 -0
  147. package/template/.aiox-core/development/tasks/create-brownfield-story.md +727 -0
  148. package/template/.aiox-core/development/tasks/create-deep-research-prompt.md +506 -0
  149. package/template/.aiox-core/development/tasks/create-doc.md +360 -0
  150. package/template/.aiox-core/development/tasks/create-next-story.md +791 -0
  151. package/template/.aiox-core/development/tasks/create-service.md +414 -0
  152. package/template/.aiox-core/development/tasks/create-suite.md +291 -0
  153. package/template/.aiox-core/development/tasks/create-task.md +390 -0
  154. package/template/.aiox-core/development/tasks/create-workflow.md +430 -0
  155. package/template/.aiox-core/development/tasks/create-worktree.md +437 -0
  156. package/template/.aiox-core/development/tasks/db-analyze-hotpaths.md +572 -0
  157. package/template/.aiox-core/development/tasks/db-apply-migration.md +381 -0
  158. package/template/.aiox-core/development/tasks/db-bootstrap.md +642 -0
  159. package/template/.aiox-core/development/tasks/db-domain-modeling.md +693 -0
  160. package/template/.aiox-core/development/tasks/db-dry-run.md +293 -0
  161. package/template/.aiox-core/development/tasks/db-env-check.md +260 -0
  162. package/template/.aiox-core/development/tasks/db-explain.md +631 -0
  163. package/template/.aiox-core/development/tasks/db-impersonate.md +495 -0
  164. package/template/.aiox-core/development/tasks/db-load-csv.md +593 -0
  165. package/template/.aiox-core/development/tasks/db-policy-apply.md +653 -0
  166. package/template/.aiox-core/development/tasks/db-rls-audit.md +411 -0
  167. package/template/.aiox-core/development/tasks/db-rollback.md +739 -0
  168. package/template/.aiox-core/development/tasks/db-run-sql.md +613 -0
  169. package/template/.aiox-core/development/tasks/db-schema-audit.md +1011 -0
  170. package/template/.aiox-core/development/tasks/db-seed.md +390 -0
  171. package/template/.aiox-core/development/tasks/db-smoke-test.md +351 -0
  172. package/template/.aiox-core/development/tasks/db-snapshot.md +569 -0
  173. package/template/.aiox-core/development/tasks/db-squad-integration.md +663 -0
  174. package/template/.aiox-core/development/tasks/db-supabase-setup.md +712 -0
  175. package/template/.aiox-core/development/tasks/db-verify-order.md +515 -0
  176. package/template/.aiox-core/development/tasks/deprecate-component.md +957 -0
  177. package/template/.aiox-core/development/tasks/dev-apply-qa-fixes.md +318 -0
  178. package/template/.aiox-core/development/tasks/dev-backlog-debt.md +469 -0
  179. package/template/.aiox-core/development/tasks/dev-develop-story.md +924 -0
  180. package/template/.aiox-core/development/tasks/dev-improve-code-quality.md +873 -0
  181. package/template/.aiox-core/development/tasks/dev-optimize-performance.md +1034 -0
  182. package/template/.aiox-core/development/tasks/dev-suggest-refactoring.md +877 -0
  183. package/template/.aiox-core/development/tasks/dev-validate-next-story.md +349 -0
  184. package/template/.aiox-core/development/tasks/document-gotchas.md +477 -0
  185. package/template/.aiox-core/development/tasks/document-project.md +553 -0
  186. package/template/.aiox-core/development/tasks/environment-bootstrap.md +1389 -0
  187. package/template/.aiox-core/development/tasks/execute-checklist.md +308 -0
  188. package/template/.aiox-core/development/tasks/execute-epic-plan.md +885 -0
  189. package/template/.aiox-core/development/tasks/export-design-tokens-dtcg.md +274 -0
  190. package/template/.aiox-core/development/tasks/extend-pattern.md +269 -0
  191. package/template/.aiox-core/development/tasks/extract-patterns.md +397 -0
  192. package/template/.aiox-core/development/tasks/extract-tokens.md +467 -0
  193. package/template/.aiox-core/development/tasks/facilitate-brainstorming-session.md +518 -0
  194. package/template/.aiox-core/development/tasks/generate-ai-frontend-prompt.md +261 -0
  195. package/template/.aiox-core/development/tasks/generate-documentation.md +284 -0
  196. package/template/.aiox-core/development/tasks/generate-migration-strategy.md +522 -0
  197. package/template/.aiox-core/development/tasks/generate-shock-report.md +501 -0
  198. package/template/.aiox-core/development/tasks/github-devops-github-pr-automation.md +720 -0
  199. package/template/.aiox-core/development/tasks/github-devops-pre-push-quality-gate.md +860 -0
  200. package/template/.aiox-core/development/tasks/github-devops-repository-cleanup.md +374 -0
  201. package/template/.aiox-core/development/tasks/github-devops-version-management.md +483 -0
  202. package/template/.aiox-core/development/tasks/github-issue-triage.md +118 -0
  203. package/template/.aiox-core/development/tasks/gotcha.md +136 -0
  204. package/template/.aiox-core/development/tasks/gotchas.md +153 -0
  205. package/template/.aiox-core/development/tasks/health-check.yaml +265 -0
  206. package/template/.aiox-core/development/tasks/ids-governor.md +94 -0
  207. package/template/.aiox-core/development/tasks/ids-health.md +89 -0
  208. package/template/.aiox-core/development/tasks/ids-query.md +154 -0
  209. package/template/.aiox-core/development/tasks/improve-self.md +823 -0
  210. package/template/.aiox-core/development/tasks/index-docs.md +388 -0
  211. package/template/.aiox-core/development/tasks/init-project-status.md +506 -0
  212. package/template/.aiox-core/development/tasks/integrate-squad.md +314 -0
  213. package/template/.aiox-core/development/tasks/kb-mode-interaction.md +284 -0
  214. package/template/.aiox-core/development/tasks/learn-patterns.md +901 -0
  215. package/template/.aiox-core/development/tasks/list-mcps.md +33 -0
  216. package/template/.aiox-core/development/tasks/list-worktrees.md +342 -0
  217. package/template/.aiox-core/development/tasks/mcp-workflow.md +437 -0
  218. package/template/.aiox-core/development/tasks/merge-worktree.md +42 -0
  219. package/template/.aiox-core/development/tasks/modify-agent.md +398 -0
  220. package/template/.aiox-core/development/tasks/modify-task.md +441 -0
  221. package/template/.aiox-core/development/tasks/modify-workflow.md +510 -0
  222. package/template/.aiox-core/development/tasks/next.md +325 -0
  223. package/template/.aiox-core/development/tasks/orchestrate-resume.md +59 -0
  224. package/template/.aiox-core/development/tasks/orchestrate-status.md +63 -0
  225. package/template/.aiox-core/development/tasks/orchestrate-stop.md +54 -0
  226. package/template/.aiox-core/development/tasks/orchestrate.md +65 -0
  227. package/template/.aiox-core/development/tasks/patterns.md +334 -0
  228. package/template/.aiox-core/development/tasks/plan-create-context.md +856 -0
  229. package/template/.aiox-core/development/tasks/plan-create-implementation.md +852 -0
  230. package/template/.aiox-core/development/tasks/plan-execute-subtask.md +960 -0
  231. package/template/.aiox-core/development/tasks/po-backlog-add.md +370 -0
  232. package/template/.aiox-core/development/tasks/po-close-story.md +434 -0
  233. package/template/.aiox-core/development/tasks/po-manage-story-backlog.md +523 -0
  234. package/template/.aiox-core/development/tasks/po-pull-story-from-clickup.md +540 -0
  235. package/template/.aiox-core/development/tasks/po-pull-story.md +316 -0
  236. package/template/.aiox-core/development/tasks/po-stories-index.md +351 -0
  237. package/template/.aiox-core/development/tasks/po-sync-story-to-clickup.md +457 -0
  238. package/template/.aiox-core/development/tasks/po-sync-story.md +303 -0
  239. package/template/.aiox-core/development/tasks/pr-automation.md +701 -0
  240. package/template/.aiox-core/development/tasks/project-status.md +280 -0
  241. package/template/.aiox-core/development/tasks/propose-modification.md +843 -0
  242. package/template/.aiox-core/development/tasks/publish-npm.md +257 -0
  243. package/template/.aiox-core/development/tasks/qa-after-creation.md +519 -0
  244. package/template/.aiox-core/development/tasks/qa-backlog-add-followup.md +425 -0
  245. package/template/.aiox-core/development/tasks/qa-browser-console-check.md +343 -0
  246. package/template/.aiox-core/development/tasks/qa-create-fix-request.md +630 -0
  247. package/template/.aiox-core/development/tasks/qa-evidence-requirements.md +314 -0
  248. package/template/.aiox-core/development/tasks/qa-false-positive-detection.md +374 -0
  249. package/template/.aiox-core/development/tasks/qa-fix-issues.md +692 -0
  250. package/template/.aiox-core/development/tasks/qa-gate.md +430 -0
  251. package/template/.aiox-core/development/tasks/qa-generate-tests.md +1175 -0
  252. package/template/.aiox-core/development/tasks/qa-library-validation.md +496 -0
  253. package/template/.aiox-core/development/tasks/qa-migration-validation.md +583 -0
  254. package/template/.aiox-core/development/tasks/qa-nfr-assess.md +558 -0
  255. package/template/.aiox-core/development/tasks/qa-review-build.md +1224 -0
  256. package/template/.aiox-core/development/tasks/qa-review-proposal.md +1158 -0
  257. package/template/.aiox-core/development/tasks/qa-review-story.md +714 -0
  258. package/template/.aiox-core/development/tasks/qa-risk-profile.md +567 -0
  259. package/template/.aiox-core/development/tasks/qa-run-tests.md +277 -0
  260. package/template/.aiox-core/development/tasks/qa-security-checklist.md +551 -0
  261. package/template/.aiox-core/development/tasks/qa-test-design.md +388 -0
  262. package/template/.aiox-core/development/tasks/qa-trace-requirements.md +477 -0
  263. package/template/.aiox-core/development/tasks/release-management.md +759 -0
  264. package/template/.aiox-core/development/tasks/remove-mcp.md +35 -0
  265. package/template/.aiox-core/development/tasks/remove-worktree.md +433 -0
  266. package/template/.aiox-core/development/tasks/resolve-github-issue.md +608 -0
  267. package/template/.aiox-core/development/tasks/review-contributor-pr.md +152 -0
  268. package/template/.aiox-core/development/tasks/run-design-system-pipeline.md +640 -0
  269. package/template/.aiox-core/development/tasks/run-workflow-engine.md +859 -0
  270. package/template/.aiox-core/development/tasks/run-workflow.md +387 -0
  271. package/template/.aiox-core/development/tasks/search-mcp.md +309 -0
  272. package/template/.aiox-core/development/tasks/security-audit.md +554 -0
  273. package/template/.aiox-core/development/tasks/security-scan.md +790 -0
  274. package/template/.aiox-core/development/tasks/session-resume.md +192 -0
  275. package/template/.aiox-core/development/tasks/setup-database.md +741 -0
  276. package/template/.aiox-core/development/tasks/setup-design-system.md +462 -0
  277. package/template/.aiox-core/development/tasks/setup-github.md +874 -0
  278. package/template/.aiox-core/development/tasks/setup-llm-routing.md +229 -0
  279. package/template/.aiox-core/development/tasks/setup-mcp-docker.md +627 -0
  280. package/template/.aiox-core/development/tasks/setup-project-docs.md +440 -0
  281. package/template/.aiox-core/development/tasks/shard-doc.md +538 -0
  282. package/template/.aiox-core/development/tasks/sm-create-next-story.md +480 -0
  283. package/template/.aiox-core/development/tasks/spec-assess-complexity.md +461 -0
  284. package/template/.aiox-core/development/tasks/spec-critique.md +603 -0
  285. package/template/.aiox-core/development/tasks/spec-gather-requirements.md +552 -0
  286. package/template/.aiox-core/development/tasks/spec-research-dependencies.md +449 -0
  287. package/template/.aiox-core/development/tasks/spec-write-spec.md +536 -0
  288. package/template/.aiox-core/development/tasks/squad-creator-analyze.md +315 -0
  289. package/template/.aiox-core/development/tasks/squad-creator-create.md +312 -0
  290. package/template/.aiox-core/development/tasks/squad-creator-design.md +334 -0
  291. package/template/.aiox-core/development/tasks/squad-creator-download.md +167 -0
  292. package/template/.aiox-core/development/tasks/squad-creator-extend.md +411 -0
  293. package/template/.aiox-core/development/tasks/squad-creator-list.md +225 -0
  294. package/template/.aiox-core/development/tasks/squad-creator-migrate.md +243 -0
  295. package/template/.aiox-core/development/tasks/squad-creator-publish.md +229 -0
  296. package/template/.aiox-core/development/tasks/squad-creator-sync-ide-command.md +402 -0
  297. package/template/.aiox-core/development/tasks/squad-creator-sync-synkra.md +315 -0
  298. package/template/.aiox-core/development/tasks/squad-creator-validate.md +159 -0
  299. package/template/.aiox-core/development/tasks/story-checkpoint.md +360 -0
  300. package/template/.aiox-core/development/tasks/sync-documentation.md +865 -0
  301. package/template/.aiox-core/development/tasks/sync-registry-intel.md +79 -0
  302. package/template/.aiox-core/development/tasks/tailwind-upgrade.md +294 -0
  303. package/template/.aiox-core/development/tasks/test-as-user.md +621 -0
  304. package/template/.aiox-core/development/tasks/test-validation-task.md +171 -0
  305. package/template/.aiox-core/development/tasks/triage-github-issues.md +356 -0
  306. package/template/.aiox-core/development/tasks/undo-last.md +347 -0
  307. package/template/.aiox-core/development/tasks/update-aiox.md +151 -0
  308. package/template/.aiox-core/development/tasks/update-manifest.md +410 -0
  309. package/template/.aiox-core/development/tasks/update-source-tree.md +137 -0
  310. package/template/.aiox-core/development/tasks/ux-create-wireframe.md +617 -0
  311. package/template/.aiox-core/development/tasks/ux-ds-scan-artifact.md +672 -0
  312. package/template/.aiox-core/development/tasks/ux-user-research.md +559 -0
  313. package/template/.aiox-core/development/tasks/validate-agents.md +119 -0
  314. package/template/.aiox-core/development/tasks/validate-next-story.md +472 -0
  315. package/template/.aiox-core/development/tasks/validate-tech-preset.md +186 -0
  316. package/template/.aiox-core/development/tasks/validate-workflow.md +321 -0
  317. package/template/.aiox-core/development/tasks/verify-subtask.md +235 -0
  318. package/template/.aiox-core/development/tasks/waves.md +205 -0
  319. package/template/.aiox-core/development/tasks/yolo-toggle.md +113 -0
  320. package/template/.aiox-core/development/templates/agent-handoff-tmpl.yaml +48 -0
  321. package/template/.aiox-core/development/templates/aiox-doc-template.md +494 -0
  322. package/template/.aiox-core/development/templates/code-intel-integration-pattern.md +199 -0
  323. package/template/.aiox-core/development/templates/ptc-entity-validation.md +113 -0
  324. package/template/.aiox-core/development/templates/ptc-qa-gate.md +100 -0
  325. package/template/.aiox-core/development/templates/ptc-research-aggregation.md +94 -0
  326. package/template/.aiox-core/development/templates/research-prompt-tmpl.md +486 -0
  327. package/template/.aiox-core/development/templates/service-template/README.md.hbs +158 -0
  328. package/template/.aiox-core/development/templates/service-template/__tests__/index.test.ts.hbs +237 -0
  329. package/template/.aiox-core/development/templates/service-template/client.ts.hbs +403 -0
  330. package/template/.aiox-core/development/templates/service-template/errors.ts.hbs +182 -0
  331. package/template/.aiox-core/development/templates/service-template/index.ts.hbs +120 -0
  332. package/template/.aiox-core/development/templates/service-template/jest.config.js +89 -0
  333. package/template/.aiox-core/development/templates/service-template/package.json.hbs +87 -0
  334. package/template/.aiox-core/development/templates/service-template/tsconfig.json +45 -0
  335. package/template/.aiox-core/development/templates/service-template/types.ts.hbs +145 -0
  336. package/template/.aiox-core/development/templates/squad/agent-template.md +80 -0
  337. package/template/.aiox-core/development/templates/squad/checklist-template.md +82 -0
  338. package/template/.aiox-core/development/templates/squad/data-template.yaml +105 -0
  339. package/template/.aiox-core/development/templates/squad/script-template.js +179 -0
  340. package/template/.aiox-core/development/templates/squad/task-template.md +146 -0
  341. package/template/.aiox-core/development/templates/squad/template-template.md +97 -0
  342. package/template/.aiox-core/development/templates/squad/tool-template.js +103 -0
  343. package/template/.aiox-core/development/templates/squad/workflow-template.yaml +123 -0
  344. package/template/.aiox-core/development/templates/squad-template/LICENSE +21 -0
  345. package/template/.aiox-core/development/templates/squad-template/README.md +37 -0
  346. package/template/.aiox-core/development/templates/squad-template/agents/example-agent.yaml +36 -0
  347. package/template/.aiox-core/development/templates/squad-template/package.json +19 -0
  348. package/template/.aiox-core/development/templates/squad-template/squad.yaml +25 -0
  349. package/template/.aiox-core/development/templates/squad-template/tasks/example-task.yaml +46 -0
  350. package/template/.aiox-core/development/templates/squad-template/templates/example-template.md +24 -0
  351. package/template/.aiox-core/development/templates/squad-template/tests/example-agent.test.js +53 -0
  352. package/template/.aiox-core/development/templates/squad-template/workflows/example-workflow.yaml +75 -0
  353. package/template/.aiox-core/development/templates/subagent-step-prompt.md +120 -0
  354. package/template/.aiox-core/development/workflows/README.md +88 -0
  355. package/template/.aiox-core/development/workflows/auto-worktree.yaml +421 -0
  356. package/template/.aiox-core/development/workflows/brownfield-discovery.yaml +932 -0
  357. package/template/.aiox-core/development/workflows/brownfield-fullstack.yaml +367 -0
  358. package/template/.aiox-core/development/workflows/brownfield-service.yaml +244 -0
  359. package/template/.aiox-core/development/workflows/brownfield-ui.yaml +258 -0
  360. package/template/.aiox-core/development/workflows/design-system-build-quality.yaml +227 -0
  361. package/template/.aiox-core/development/workflows/development-cycle.yaml +515 -0
  362. package/template/.aiox-core/development/workflows/epic-orchestration.yaml +326 -0
  363. package/template/.aiox-core/development/workflows/greenfield-fullstack.yaml +384 -0
  364. package/template/.aiox-core/development/workflows/greenfield-service.yaml +276 -0
  365. package/template/.aiox-core/development/workflows/greenfield-ui.yaml +282 -0
  366. package/template/.aiox-core/development/workflows/qa-loop.yaml +443 -0
  367. package/template/.aiox-core/development/workflows/spec-pipeline.yaml +576 -0
  368. package/template/.aiox-core/development/workflows/story-development-cycle.yaml +284 -0
  369. package/template/.aiox-core/elicitation/agent-elicitation.js +272 -0
  370. package/template/.aiox-core/elicitation/task-elicitation.js +281 -0
  371. package/template/.aiox-core/elicitation/workflow-elicitation.js +315 -0
  372. package/template/.aiox-core/framework-config.yaml +158 -0
  373. package/template/.aiox-core/hooks/gemini/after-tool.js +77 -0
  374. package/template/.aiox-core/hooks/gemini/before-agent.js +79 -0
  375. package/template/.aiox-core/hooks/gemini/before-tool.js +114 -0
  376. package/template/.aiox-core/hooks/gemini/rewind-handler.js +68 -0
  377. package/template/.aiox-core/hooks/gemini/session-end.js +90 -0
  378. package/template/.aiox-core/hooks/gemini/session-start.js +90 -0
  379. package/template/.aiox-core/hooks/ids-post-commit.js +116 -0
  380. package/template/.aiox-core/hooks/ids-pre-push.js +123 -0
  381. package/template/.aiox-core/hooks/unified/README.md +338 -0
  382. package/template/.aiox-core/hooks/unified/hook-interface.js +159 -0
  383. package/template/.aiox-core/hooks/unified/hook-registry.js +143 -0
  384. package/template/.aiox-core/hooks/unified/index.js +36 -0
  385. package/template/.aiox-core/hooks/unified/runners/precompact-runner.js +96 -0
  386. package/template/.aiox-core/manifests/schema/manifest-schema.json +190 -0
  387. package/template/.aiox-core/presets/README.md +358 -0
  388. package/template/.aiox-core/product/README.md +56 -0
  389. package/template/.aiox-core/product/checklists/accessibility-wcag-checklist.md +80 -0
  390. package/template/.aiox-core/product/checklists/architect-checklist.md +444 -0
  391. package/template/.aiox-core/product/checklists/change-checklist.md +183 -0
  392. package/template/.aiox-core/product/checklists/component-quality-checklist.md +74 -0
  393. package/template/.aiox-core/product/checklists/database-design-checklist.md +119 -0
  394. package/template/.aiox-core/product/checklists/dba-predeploy-checklist.md +97 -0
  395. package/template/.aiox-core/product/checklists/dba-rollback-checklist.md +99 -0
  396. package/template/.aiox-core/product/checklists/migration-readiness-checklist.md +75 -0
  397. package/template/.aiox-core/product/checklists/pattern-audit-checklist.md +88 -0
  398. package/template/.aiox-core/product/checklists/pm-checklist.md +376 -0
  399. package/template/.aiox-core/product/checklists/po-master-checklist.md +442 -0
  400. package/template/.aiox-core/product/checklists/pre-push-checklist.md +108 -0
  401. package/template/.aiox-core/product/checklists/release-checklist.md +122 -0
  402. package/template/.aiox-core/product/checklists/self-critique-checklist.md +386 -0
  403. package/template/.aiox-core/product/checklists/story-dod-checklist.md +102 -0
  404. package/template/.aiox-core/product/checklists/story-draft-checklist.md +216 -0
  405. package/template/.aiox-core/product/data/atomic-design-principles.md +108 -0
  406. package/template/.aiox-core/product/data/brainstorming-techniques.md +37 -0
  407. package/template/.aiox-core/product/data/consolidation-algorithms.md +142 -0
  408. package/template/.aiox-core/product/data/database-best-practices.md +182 -0
  409. package/template/.aiox-core/product/data/design-token-best-practices.md +107 -0
  410. package/template/.aiox-core/product/data/elicitation-methods.md +135 -0
  411. package/template/.aiox-core/product/data/integration-patterns.md +207 -0
  412. package/template/.aiox-core/product/data/migration-safety-guide.md +329 -0
  413. package/template/.aiox-core/product/data/mode-selection-best-practices.md +471 -0
  414. package/template/.aiox-core/product/data/postgres-tuning-guide.md +300 -0
  415. package/template/.aiox-core/product/data/rls-security-patterns.md +333 -0
  416. package/template/.aiox-core/product/data/roi-calculation-guide.md +142 -0
  417. package/template/.aiox-core/product/data/supabase-patterns.md +330 -0
  418. package/template/.aiox-core/product/data/test-levels-framework.md +149 -0
  419. package/template/.aiox-core/product/data/test-priorities-matrix.md +175 -0
  420. package/template/.aiox-core/product/data/wcag-compliance-guide.md +267 -0
  421. package/template/.aiox-core/product/templates/activation-instructions-inline-greeting.yaml +63 -0
  422. package/template/.aiox-core/product/templates/activation-instructions-template.md +258 -0
  423. package/template/.aiox-core/product/templates/adr.hbs +125 -0
  424. package/template/.aiox-core/product/templates/agent-template.yaml +121 -0
  425. package/template/.aiox-core/product/templates/aiox-ai-config.yaml +106 -0
  426. package/template/.aiox-core/product/templates/architecture-tmpl.yaml +651 -0
  427. package/template/.aiox-core/product/templates/brainstorming-output-tmpl.yaml +156 -0
  428. package/template/.aiox-core/product/templates/brownfield-architecture-tmpl.yaml +476 -0
  429. package/template/.aiox-core/product/templates/brownfield-prd-tmpl.yaml +280 -0
  430. package/template/.aiox-core/product/templates/brownfield-risk-report-tmpl.yaml +277 -0
  431. package/template/.aiox-core/product/templates/changelog-template.md +134 -0
  432. package/template/.aiox-core/product/templates/command-rationalization-matrix.md +152 -0
  433. package/template/.aiox-core/product/templates/competitor-analysis-tmpl.yaml +293 -0
  434. package/template/.aiox-core/product/templates/component-react-tmpl.tsx +98 -0
  435. package/template/.aiox-core/product/templates/current-approach-tmpl.md +56 -0
  436. package/template/.aiox-core/product/templates/dbdr.hbs +241 -0
  437. package/template/.aiox-core/product/templates/design-story-tmpl.yaml +587 -0
  438. package/template/.aiox-core/product/templates/ds-artifact-analysis.md +70 -0
  439. package/template/.aiox-core/product/templates/engine/elicitation.js +297 -0
  440. package/template/.aiox-core/product/templates/engine/index.js +308 -0
  441. package/template/.aiox-core/product/templates/engine/loader.js +231 -0
  442. package/template/.aiox-core/product/templates/engine/renderer.js +343 -0
  443. package/template/.aiox-core/product/templates/engine/schemas/adr.schema.json +102 -0
  444. package/template/.aiox-core/product/templates/engine/schemas/dbdr.schema.json +205 -0
  445. package/template/.aiox-core/product/templates/engine/schemas/epic.schema.json +175 -0
  446. package/template/.aiox-core/product/templates/engine/schemas/pmdr.schema.json +175 -0
  447. package/template/.aiox-core/product/templates/engine/schemas/prd-v2.schema.json +300 -0
  448. package/template/.aiox-core/product/templates/engine/schemas/prd.schema.json +152 -0
  449. package/template/.aiox-core/product/templates/engine/schemas/story.schema.json +222 -0
  450. package/template/.aiox-core/product/templates/engine/schemas/task.schema.json +154 -0
  451. package/template/.aiox-core/product/templates/engine/validator.js +294 -0
  452. package/template/.aiox-core/product/templates/epic.hbs +212 -0
  453. package/template/.aiox-core/product/templates/eslintrc-security.json +32 -0
  454. package/template/.aiox-core/product/templates/front-end-architecture-tmpl.yaml +206 -0
  455. package/template/.aiox-core/product/templates/front-end-spec-tmpl.yaml +349 -0
  456. package/template/.aiox-core/product/templates/fullstack-architecture-tmpl.yaml +805 -0
  457. package/template/.aiox-core/product/templates/gemini/settings.json +79 -0
  458. package/template/.aiox-core/product/templates/github-actions-cd.yml +212 -0
  459. package/template/.aiox-core/product/templates/github-actions-ci.yml +172 -0
  460. package/template/.aiox-core/product/templates/github-pr-template.md +67 -0
  461. package/template/.aiox-core/product/templates/gordon-mcp.yaml +140 -0
  462. package/template/.aiox-core/product/templates/ide-rules/antigravity-rules.md +115 -0
  463. package/template/.aiox-core/product/templates/ide-rules/claude-rules.md +356 -0
  464. package/template/.aiox-core/product/templates/ide-rules/codex-rules.md +65 -0
  465. package/template/.aiox-core/product/templates/ide-rules/copilot-rules.md +92 -0
  466. package/template/.aiox-core/product/templates/ide-rules/cursor-rules.md +115 -0
  467. package/template/.aiox-core/product/templates/ide-rules/gemini-rules.md +87 -0
  468. package/template/.aiox-core/product/templates/index-strategy-tmpl.yaml +53 -0
  469. package/template/.aiox-core/product/templates/market-research-tmpl.yaml +252 -0
  470. package/template/.aiox-core/product/templates/mcp-workflow.js +271 -0
  471. package/template/.aiox-core/product/templates/migration-plan-tmpl.yaml +1022 -0
  472. package/template/.aiox-core/product/templates/migration-strategy-tmpl.md +524 -0
  473. package/template/.aiox-core/product/templates/personalized-agent-template.md +258 -0
  474. package/template/.aiox-core/product/templates/personalized-checklist-template.md +340 -0
  475. package/template/.aiox-core/product/templates/personalized-task-template-v2.md +905 -0
  476. package/template/.aiox-core/product/templates/personalized-task-template.md +344 -0
  477. package/template/.aiox-core/product/templates/personalized-template-file.yaml +322 -0
  478. package/template/.aiox-core/product/templates/personalized-workflow-template.yaml +460 -0
  479. package/template/.aiox-core/product/templates/pmdr.hbs +186 -0
  480. package/template/.aiox-core/product/templates/prd-tmpl.yaml +202 -0
  481. package/template/.aiox-core/product/templates/prd-v2.0.hbs +216 -0
  482. package/template/.aiox-core/product/templates/prd.hbs +201 -0
  483. package/template/.aiox-core/product/templates/project-brief-tmpl.yaml +221 -0
  484. package/template/.aiox-core/product/templates/qa-gate-tmpl.yaml +240 -0
  485. package/template/.aiox-core/product/templates/qa-report-tmpl.md +234 -0
  486. package/template/.aiox-core/product/templates/rls-policies-tmpl.yaml +1203 -0
  487. package/template/.aiox-core/product/templates/schema-design-tmpl.yaml +428 -0
  488. package/template/.aiox-core/product/templates/shock-report-tmpl.html +502 -0
  489. package/template/.aiox-core/product/templates/spec-tmpl.md +234 -0
  490. package/template/.aiox-core/product/templates/state-persistence-tmpl.yaml +219 -0
  491. package/template/.aiox-core/product/templates/statusline/statusline-script.js +188 -0
  492. package/template/.aiox-core/product/templates/statusline/track-agent.sh +68 -0
  493. package/template/.aiox-core/product/templates/story-tmpl.yaml +368 -0
  494. package/template/.aiox-core/product/templates/story.hbs +263 -0
  495. package/template/.aiox-core/product/templates/task-execution-report.md +495 -0
  496. package/template/.aiox-core/product/templates/task-template.md +123 -0
  497. package/template/.aiox-core/product/templates/task.hbs +170 -0
  498. package/template/.aiox-core/product/templates/tmpl-comment-on-examples.sql +158 -0
  499. package/template/.aiox-core/product/templates/tmpl-migration-script.sql +91 -0
  500. package/template/.aiox-core/product/templates/tmpl-rls-granular-policies.sql +104 -0
  501. package/template/.aiox-core/product/templates/tmpl-rls-kiss-policy.sql +10 -0
  502. package/template/.aiox-core/product/templates/tmpl-rls-roles.sql +135 -0
  503. package/template/.aiox-core/product/templates/tmpl-rls-simple.sql +77 -0
  504. package/template/.aiox-core/product/templates/tmpl-rls-tenant.sql +152 -0
  505. package/template/.aiox-core/product/templates/tmpl-rollback-script.sql +77 -0
  506. package/template/.aiox-core/product/templates/tmpl-seed-data.sql +140 -0
  507. package/template/.aiox-core/product/templates/tmpl-smoke-test.sql +16 -0
  508. package/template/.aiox-core/product/templates/tmpl-staging-copy-merge.sql +139 -0
  509. package/template/.aiox-core/product/templates/tmpl-stored-proc.sql +140 -0
  510. package/template/.aiox-core/product/templates/tmpl-trigger.sql +152 -0
  511. package/template/.aiox-core/product/templates/tmpl-view-materialized.sql +133 -0
  512. package/template/.aiox-core/product/templates/tmpl-view.sql +177 -0
  513. package/template/.aiox-core/product/templates/token-exports-css-tmpl.css +240 -0
  514. package/template/.aiox-core/product/templates/token-exports-tailwind-tmpl.js +395 -0
  515. package/template/.aiox-core/product/templates/tokens-schema-tmpl.yaml +305 -0
  516. package/template/.aiox-core/product/templates/workflow-template.yaml +151 -0
  517. package/template/.aiox-core/project-config.yaml +166 -0
  518. package/template/.aiox-core/quality/metrics-collector.js +599 -0
  519. package/template/.aiox-core/quality/metrics-hook.js +260 -0
  520. package/template/.aiox-core/quality/schemas/quality-metrics.schema.json +233 -0
  521. package/template/.aiox-core/quality/seed-metrics.js +336 -0
  522. package/template/.aiox-core/schemas/README.md +403 -0
  523. package/template/.aiox-core/schemas/agent-v3-schema.json +394 -0
  524. package/template/.aiox-core/schemas/squad-design-schema.json +299 -0
  525. package/template/.aiox-core/schemas/squad-schema.json +185 -0
  526. package/template/.aiox-core/schemas/task-v3-schema.json +353 -0
  527. package/template/.aiox-core/schemas/validate-v3-schema.js +430 -0
  528. package/template/.aiox-core/user-guide.md +1409 -0
  529. package/template/.aiox-core/utils/aiox-validator.js +25 -0
  530. package/template/.aiox-core/utils/filters/constants.js +10 -0
  531. package/template/.aiox-core/utils/filters/content-filter.js +223 -0
  532. package/template/.aiox-core/utils/filters/field-filter.js +126 -0
  533. package/template/.aiox-core/utils/filters/index.js +180 -0
  534. package/template/.aiox-core/utils/filters/schema-filter.js +157 -0
  535. package/template/.aiox-core/utils/format-duration.js +95 -0
  536. package/template/.aiox-core/workflow-intelligence/__tests__/confidence-scorer.test.js +334 -0
  537. package/template/.aiox-core/workflow-intelligence/__tests__/integration.test.js +339 -0
  538. package/template/.aiox-core/workflow-intelligence/__tests__/suggestion-engine.test.js +437 -0
  539. package/template/.aiox-core/workflow-intelligence/__tests__/wave-analyzer.test.js +447 -0
  540. package/template/.aiox-core/workflow-intelligence/__tests__/workflow-registry.test.js +302 -0
  541. package/template/.aiox-core/workflow-intelligence/engine/confidence-scorer.js +306 -0
  542. package/template/.aiox-core/workflow-intelligence/engine/output-formatter.js +299 -0
  543. package/template/.aiox-core/workflow-intelligence/engine/suggestion-engine.js +797 -0
  544. package/template/.aiox-core/workflow-intelligence/engine/wave-analyzer.js +683 -0
  545. package/template/.aiox-core/workflow-intelligence/index.js +329 -0
  546. package/template/.aiox-core/workflow-intelligence/learning/capture-hook.js +147 -0
  547. package/template/.aiox-core/workflow-intelligence/learning/gotcha-registry.js +653 -0
  548. package/template/.aiox-core/workflow-intelligence/learning/index.js +305 -0
  549. package/template/.aiox-core/workflow-intelligence/learning/pattern-capture.js +329 -0
  550. package/template/.aiox-core/workflow-intelligence/learning/pattern-store.js +497 -0
  551. package/template/.aiox-core/workflow-intelligence/learning/pattern-validator.js +309 -0
  552. package/template/.aiox-core/workflow-intelligence/learning/qa-feedback.js +585 -0
  553. package/template/.aiox-core/workflow-intelligence/learning/semantic-search.js +521 -0
  554. package/template/.aiox-core/workflow-intelligence/registry/workflow-registry.js +357 -0
  555. package/template/.aiox-core/working-in-the-brownfield.md +361 -0
  556. package/template/.antigravity/rules/agents/aiox-master.md +97 -0
  557. package/template/.antigravity/rules/agents/analyst.md +41 -0
  558. package/template/.antigravity/rules/agents/architect.md +50 -0
  559. package/template/.antigravity/rules/agents/data-engineer.md +43 -0
  560. package/template/.antigravity/rules/agents/dev.md +74 -0
  561. package/template/.antigravity/rules/agents/devops.md +71 -0
  562. package/template/.antigravity/rules/agents/pm.md +50 -0
  563. package/template/.antigravity/rules/agents/po.md +45 -0
  564. package/template/.antigravity/rules/agents/qa.md +57 -0
  565. package/template/.antigravity/rules/agents/sm.md +34 -0
  566. package/template/.antigravity/rules/agents/squad-creator.md +41 -0
  567. package/template/.antigravity/rules/agents/ux-design-expert.md +12 -0
  568. package/template/.claude/CLAUDE.md +313 -97
  569. package/template/.claude/commands/AIOX/agents/aiox-master.md +465 -0
  570. package/template/.claude/commands/AIOX/agents/analyst.md +273 -0
  571. package/template/.claude/commands/AIOX/agents/architect.md +474 -0
  572. package/template/.claude/commands/AIOX/agents/data-engineer.md +495 -0
  573. package/template/.claude/commands/AIOX/agents/dev.md +560 -0
  574. package/template/.claude/commands/AIOX/agents/devops.md +539 -0
  575. package/template/.claude/commands/AIOX/agents/pm.md +377 -0
  576. package/template/.claude/commands/AIOX/agents/po.md +335 -0
  577. package/template/.claude/commands/AIOX/agents/qa.md +449 -0
  578. package/template/.claude/commands/AIOX/agents/sm.md +287 -0
  579. package/template/.claude/commands/AIOX/agents/squad-creator.md +344 -0
  580. package/template/.claude/commands/AIOX/agents/ux-design-expert.md +495 -0
  581. package/template/.claude/commands/AIOX/scripts/agent-config-loader.js +624 -0
  582. package/template/.claude/commands/AIOX/scripts/generate-greeting.js +160 -0
  583. package/template/.claude/commands/AIOX/scripts/greeting-builder.js +866 -0
  584. package/template/.claude/commands/AIOX/scripts/session-context-loader.js +286 -0
  585. package/template/.claude/commands/AIOX/stories/story-6.1.4.md +1404 -0
  586. package/template/.claude/commands/cohort-squad/agents/cohort-manager.md +145 -0
  587. package/template/.claude/commands/design-system/agents/brad-frost.md +1097 -0
  588. package/template/.claude/commands/design-system/agents/dan-mall.md +857 -0
  589. package/template/.claude/commands/design-system/agents/dave-malouf.md +2272 -0
  590. package/template/.claude/commands/design-system/agents/design-chief.md +102 -0
  591. package/template/.claude/commands/design-system/agents/nano-banana-generator.md +162 -0
  592. package/template/.claude/commands/greet.md +101 -0
  593. package/template/.claude/commands/synapse/manager.md +75 -0
  594. package/template/.claude/commands/synapse/tasks/add-rule.md +94 -0
  595. package/template/.claude/commands/synapse/tasks/create-command.md +109 -0
  596. package/template/.claude/commands/synapse/tasks/create-domain.md +127 -0
  597. package/template/.claude/commands/synapse/tasks/diagnose-synapse.md +245 -0
  598. package/template/.claude/commands/synapse/tasks/edit-rule.md +109 -0
  599. package/template/.claude/commands/synapse/tasks/suggest-domain.md +116 -0
  600. package/template/.claude/commands/synapse/tasks/toggle-domain.md +83 -0
  601. package/template/.claude/commands/synapse/templates/domain-template +8 -0
  602. package/template/.claude/commands/synapse/templates/manifest-entry-template +4 -0
  603. package/template/.claude/commands/synapse/utils/manifest-parser-reference.md +134 -0
  604. package/template/.claude/hooks/README.md +194 -0
  605. package/template/.claude/hooks/enforce-architecture-first.py +196 -0
  606. package/template/.claude/hooks/enforce-git-push-authority.sh +33 -0
  607. package/template/.claude/hooks/install-hooks.sh +41 -0
  608. package/template/.claude/hooks/mind-clone-governance.py +192 -0
  609. package/template/.claude/hooks/pre-commit-version-check.sh +156 -0
  610. package/template/.claude/hooks/precompact-session-digest.cjs +141 -87
  611. package/template/.claude/hooks/precompact-wrapper.cjs +46 -0
  612. package/template/.claude/hooks/read-protection.py +151 -0
  613. package/template/.claude/hooks/slug-validation.py +176 -0
  614. package/template/.claude/hooks/sql-governance.py +155 -38
  615. package/template/.claude/hooks/synapse-engine.cjs +91 -324
  616. package/template/.claude/hooks/synapse-wrapper.cjs +57 -0
  617. package/template/.claude/hooks/write-path-validation.py +169 -34
  618. package/template/.claude/rules/agent-authority.md +105 -39
  619. package/template/.claude/rules/agent-handoff.md +97 -71
  620. package/template/.claude/rules/agent-memory-imports.md +15 -0
  621. package/template/.claude/rules/coderabbit-integration.md +101 -0
  622. package/template/.claude/rules/ids-principles.md +119 -52
  623. package/template/.claude/rules/mcp-usage.md +176 -49
  624. package/template/.claude/rules/story-lifecycle.md +145 -87
  625. package/template/.claude/rules/tool-examples.md +64 -0
  626. package/template/.claude/rules/tool-response-filtering.md +57 -0
  627. package/template/.claude/rules/workflow-execution.md +150 -68
  628. package/template/.claude/settings.json +26 -58
  629. package/template/.synapse/agent-aiox-master +15 -0
  630. package/template/.synapse/agent-analyst +14 -38
  631. package/template/.synapse/agent-architect +16 -44
  632. package/template/.synapse/agent-data-engineer +17 -0
  633. package/template/.synapse/agent-dev +18 -8
  634. package/template/.synapse/agent-devops +17 -53
  635. package/template/.synapse/agent-pm +16 -37
  636. package/template/.synapse/agent-po +15 -48
  637. package/template/.synapse/agent-qa +16 -42
  638. package/template/.synapse/agent-sm +13 -68
  639. package/template/.synapse/agent-squad-creator +14 -0
  640. package/template/.synapse/agent-ux +15 -0
  641. package/template/.synapse/commands +109 -0
  642. package/template/.synapse/constitution +49 -44
  643. package/template/.synapse/context +25 -8
  644. package/template/.synapse/global +24 -47
  645. package/template/.synapse/manifest +56 -14
  646. package/template/.synapse/workflow-arch-review +15 -0
  647. package/template/.synapse/workflow-epic-create +16 -0
  648. package/template/.synapse/workflow-story-dev +20 -0
  649. package/template/AGENTS.md +75 -0
  650. package/template/README.md +746 -53
  651. package/template/.claude/agent-memory/analyst/MEMORY.md +0 -20
  652. package/template/.claude/agent-memory/architect/MEMORY.md +0 -20
  653. package/template/.claude/agent-memory/dev/MEMORY.md +0 -20
  654. package/template/.claude/agent-memory/devops/MEMORY.md +0 -20
  655. package/template/.claude/agent-memory/pm/MEMORY.md +0 -20
  656. package/template/.claude/agent-memory/po/MEMORY.md +0 -20
  657. package/template/.claude/agent-memory/qa/MEMORY.md +0 -20
  658. package/template/.claude/agent-memory/reviewer/MEMORY.md +0 -20
  659. package/template/.claude/agent-memory/sm/MEMORY.md +0 -20
  660. package/template/.claude/commands/analyst.md +0 -55
  661. package/template/.claude/commands/architect.md +0 -56
  662. package/template/.claude/commands/dev.md +0 -63
  663. package/template/.claude/commands/devops.md +0 -64
  664. package/template/.claude/commands/plan-story.md +0 -70
  665. package/template/.claude/commands/pm.md +0 -51
  666. package/template/.claude/commands/po.md +0 -69
  667. package/template/.claude/commands/project-state.md +0 -35
  668. package/template/.claude/commands/project-sync.md +0 -44
  669. package/template/.claude/commands/qa.md +0 -67
  670. package/template/.claude/commands/reviewer.md +0 -63
  671. package/template/.claude/commands/sm.md +0 -82
  672. package/template/.claude/commands/squad.md +0 -56
  673. package/template/.claude/hooks/enforce-git-push-authority.py +0 -70
  674. package/template/.claude/hooks/metrics-tracker.cjs +0 -65
  675. package/template/.claude/rules/agent-memory.md +0 -61
  676. package/template/.claude/rules/new-project.md +0 -157
  677. package/template/.claude/settings.local.json +0 -14
  678. package/template/.genia/CONSTITUTION.md +0 -129
  679. package/template/.genia/contexts/api-patterns.md +0 -134
  680. package/template/.genia/contexts/nextjs-react.md +0 -210
  681. package/template/.genia/contexts/projeto.md +0 -18
  682. package/template/.genia/contexts/supabase.md +0 -152
  683. package/template/.genia/contexts/whatsapp-cloud.md +0 -176
  684. package/template/.genia/core-config.yaml +0 -192
  685. package/template/.genia/development/agents/analyst.md +0 -138
  686. package/template/.genia/development/agents/architect.md +0 -171
  687. package/template/.genia/development/agents/dev.md +0 -160
  688. package/template/.genia/development/agents/devops.md +0 -200
  689. package/template/.genia/development/agents/pm.md +0 -142
  690. package/template/.genia/development/agents/po.md +0 -165
  691. package/template/.genia/development/agents/qa.md +0 -183
  692. package/template/.genia/development/agents/reviewer.md +0 -198
  693. package/template/.genia/development/agents/sm.md +0 -230
  694. package/template/.genia/development/checklists/architecture-review.md +0 -189
  695. package/template/.genia/development/checklists/pre-commit.md +0 -205
  696. package/template/.genia/development/checklists/pre-deploy.md +0 -230
  697. package/template/.genia/development/checklists/qa-gate.md +0 -216
  698. package/template/.genia/development/checklists/story-dod.md +0 -155
  699. package/template/.genia/development/tasks/code-review.md +0 -197
  700. package/template/.genia/development/tasks/criar-prd.md +0 -170
  701. package/template/.genia/development/tasks/criar-spec.md +0 -188
  702. package/template/.genia/development/tasks/criar-story.md +0 -185
  703. package/template/.genia/development/tasks/debug-sistematico.md +0 -230
  704. package/template/.genia/development/tasks/dev-implement.md +0 -199
  705. package/template/.genia/development/tasks/qa-review.md +0 -224
  706. package/template/.genia/development/workflows/brownfield.md +0 -178
  707. package/template/.genia/development/workflows/delivery.md +0 -208
  708. package/template/.genia/development/workflows/development.md +0 -189
  709. package/template/.genia/development/workflows/greenfield.md +0 -166
  710. package/template/.genia/development/workflows/planning.md +0 -167
  711. package/template/.genia/development/workflows/qa-loop.md +0 -179
  712. package/template/.genia/development/workflows/spec-pipeline.md +0 -192
  713. package/template/.genia/development/workflows/story-development-cycle.md +0 -252
  714. package/template/.genia/guidelines/clean-code.md +0 -98
  715. package/template/.genia/guidelines/testing.md +0 -176
  716. package/template/.genia/skills/design/canvas-design.md +0 -109
  717. package/template/.genia/skills/design/frontend-design.md +0 -140
  718. package/template/.genia/skills/dev/mcp-builder.md +0 -172
  719. package/template/.genia/skills/dev/webapp-testing.md +0 -150
  720. package/template/.genia/skills/documents/docx.md +0 -153
  721. package/template/.genia/skills/documents/pdf.md +0 -134
  722. package/template/.genia/skills/documents/pptx.md +0 -118
  723. package/template/.genia/skills/documents/xlsx.md +0 -140
  724. package/template/.synapse/agent-reviewer +0 -43
@@ -0,0 +1,855 @@
1
+ /**
2
+ * Squad Validator Utility
3
+ *
4
+ * Validates squads against:
5
+ * 1. JSON Schema (squad.yaml/config.yaml)
6
+ * 2. Directory structure (task-first architecture)
7
+ * 3. Task format (TASK-FORMAT-SPECIFICATION-V1)
8
+ * 4. Agent definitions
9
+ *
10
+ * Used by: squad-creator agent (*validate-squad task)
11
+ *
12
+ * @module squad-validator
13
+ * @version 1.0.0
14
+ * @see Story SQS-3: Squad Validator + JSON Schema
15
+ */
16
+
17
+ const Ajv = require('ajv');
18
+ const fs = require('fs').promises;
19
+ const path = require('path');
20
+ const yaml = require('js-yaml');
21
+
22
+ /**
23
+ * Load schema - handle both require and dynamic loading
24
+ * @returns {Object} JSON Schema
25
+ */
26
+ function loadSchema() {
27
+ try {
28
+ return require('../../../schemas/squad-schema.json');
29
+ } catch {
30
+ // Fallback for test environments
31
+ return null;
32
+ }
33
+ }
34
+
35
+ /**
36
+ * Supported manifest file names in order of preference
37
+ * @constant {string[]}
38
+ */
39
+ const MANIFEST_FILES = ['squad.yaml', 'config.yaml'];
40
+
41
+ /**
42
+ * Required fields in tasks (TASK-FORMAT-SPECIFICATION-V1)
43
+ * @constant {string[]}
44
+ */
45
+ const TASK_REQUIRED_FIELDS = [
46
+ 'task',
47
+ 'responsavel',
48
+ 'responsavel_type',
49
+ 'atomic_layer',
50
+ 'Entrada',
51
+ 'Saida',
52
+ 'Checklist',
53
+ ];
54
+
55
+ /**
56
+ * Error codes for SquadValidatorError
57
+ * @enum {string}
58
+ */
59
+ const ValidationErrorCodes = {
60
+ MANIFEST_NOT_FOUND: 'MANIFEST_NOT_FOUND',
61
+ YAML_PARSE_ERROR: 'YAML_PARSE_ERROR',
62
+ SCHEMA_ERROR: 'SCHEMA_ERROR',
63
+ DEPRECATED_MANIFEST: 'DEPRECATED_MANIFEST',
64
+ MISSING_DIRECTORY: 'MISSING_DIRECTORY',
65
+ NO_TASKS: 'NO_TASKS',
66
+ TASK_MISSING_FIELD: 'TASK_MISSING_FIELD',
67
+ TASK_READ_ERROR: 'TASK_READ_ERROR',
68
+ AGENT_INVALID_FORMAT: 'AGENT_INVALID_FORMAT',
69
+ FILE_NOT_FOUND: 'FILE_NOT_FOUND',
70
+ INVALID_NAMING: 'INVALID_NAMING',
71
+ };
72
+
73
+ /**
74
+ * Validation result structure
75
+ * @typedef {Object} ValidationResult
76
+ * @property {boolean} valid - Whether validation passed (no errors)
77
+ * @property {Array<ValidationError>} errors - Critical errors that fail validation
78
+ * @property {Array<ValidationWarning>} warnings - Non-critical issues
79
+ * @property {Array<string>} suggestions - Helpful suggestions
80
+ */
81
+
82
+ /**
83
+ * Validation error structure
84
+ * @typedef {Object} ValidationError
85
+ * @property {string} code - Error code from ValidationErrorCodes
86
+ * @property {string} message - Human-readable error message
87
+ * @property {string} [suggestion] - Suggested fix
88
+ * @property {string} [path] - JSON path where error occurred
89
+ * @property {string} [file] - File where error occurred
90
+ */
91
+
92
+ /**
93
+ * Squad Validator class for validating squad structure and content
94
+ */
95
+ class SquadValidator {
96
+ /**
97
+ * Create a SquadValidator instance
98
+ * @param {Object} [options={}] - Configuration options
99
+ * @param {boolean} [options.verbose=false] - Enable verbose logging
100
+ * @param {boolean} [options.strict=false] - Treat warnings as errors
101
+ * @param {Object} [options.schema] - Custom schema (for testing)
102
+ */
103
+ constructor(options = {}) {
104
+ this.verbose = options.verbose || false;
105
+ this.strict = options.strict || false;
106
+
107
+ // Initialize AJV with schema
108
+ this.ajv = new Ajv({ allErrors: true, verbose: true });
109
+ const schema = options.schema || loadSchema();
110
+ if (schema) {
111
+ this.validateSchema = this.ajv.compile(schema);
112
+ } else {
113
+ this.validateSchema = null;
114
+ }
115
+ }
116
+
117
+ /**
118
+ * Log message if verbose mode is enabled
119
+ * @private
120
+ * @param {string} message - Message to log
121
+ */
122
+ _log(message) {
123
+ if (this.verbose) {
124
+ console.log(`[SquadValidator] ${message}`);
125
+ }
126
+ }
127
+
128
+ /**
129
+ * Validate entire squad
130
+ *
131
+ * Runs all validation checks:
132
+ * 1. Manifest validation (schema)
133
+ * 2. Directory structure
134
+ * 3. Task format
135
+ * 4. Agent definitions
136
+ *
137
+ * @param {string} squadPath - Path to squad directory
138
+ * @returns {Promise<ValidationResult>} Validation result
139
+ *
140
+ * @example
141
+ * const validator = new SquadValidator();
142
+ * const result = await validator.validate('./squads/my-squad');
143
+ * if (result.valid) {
144
+ * console.log('Squad is valid!');
145
+ * } else {
146
+ * console.log('Errors:', result.errors);
147
+ * }
148
+ */
149
+ async validate(squadPath) {
150
+ this._log(`Validating squad: ${squadPath}`);
151
+
152
+ const result = {
153
+ valid: true,
154
+ errors: [],
155
+ warnings: [],
156
+ suggestions: [],
157
+ };
158
+
159
+ // 1. Validate manifest
160
+ const manifestResult = await this.validateManifest(squadPath);
161
+ this._mergeResults(result, manifestResult);
162
+
163
+ // 2. Validate directory structure
164
+ const structureResult = await this.validateStructure(squadPath);
165
+ this._mergeResults(result, structureResult);
166
+
167
+ // 3. Validate tasks (task-first!)
168
+ const tasksResult = await this.validateTasks(squadPath);
169
+ this._mergeResults(result, tasksResult);
170
+
171
+ // 4. Validate agents
172
+ const agentsResult = await this.validateAgents(squadPath);
173
+ this._mergeResults(result, agentsResult);
174
+
175
+ // 5. Validate config references (SQS-10)
176
+ const configResult = await this.validateConfigReferences(squadPath);
177
+ this._mergeResults(result, configResult);
178
+
179
+ // 6. Validate workflows (GAP-2)
180
+ const workflowsResult = await this.validateWorkflows(squadPath);
181
+ this._mergeResults(result, workflowsResult);
182
+
183
+ // In strict mode, warnings become errors
184
+ if (this.strict && result.warnings.length > 0) {
185
+ result.errors.push(...result.warnings);
186
+ result.warnings = [];
187
+ result.valid = false;
188
+ }
189
+
190
+ this._log(`Validation complete: ${result.valid ? 'VALID' : 'INVALID'}`);
191
+ return result;
192
+ }
193
+
194
+ /**
195
+ * Validate manifest against JSON Schema
196
+ *
197
+ * @param {string} squadPath - Path to squad directory
198
+ * @returns {Promise<ValidationResult>} Validation result for manifest
199
+ */
200
+ async validateManifest(squadPath) {
201
+ this._log(`Validating manifest in: ${squadPath}`);
202
+
203
+ const result = {
204
+ valid: true,
205
+ errors: [],
206
+ warnings: [],
207
+ suggestions: [],
208
+ };
209
+
210
+ // Find manifest file
211
+ const manifestPath = await this._findManifest(squadPath);
212
+ if (!manifestPath) {
213
+ result.valid = false;
214
+ result.errors.push({
215
+ code: ValidationErrorCodes.MANIFEST_NOT_FOUND,
216
+ message: `No manifest found in ${squadPath}/ (expected squad.yaml or config.yaml)`,
217
+ suggestion: 'Create squad.yaml with required fields: name, version',
218
+ });
219
+ return result;
220
+ }
221
+
222
+ // Deprecation warning for config.yaml
223
+ const manifestFilename = path.basename(manifestPath);
224
+ if (manifestFilename === 'config.yaml') {
225
+ result.warnings.push({
226
+ code: ValidationErrorCodes.DEPRECATED_MANIFEST,
227
+ message: 'config.yaml is deprecated, rename to squad.yaml',
228
+ suggestion: 'mv config.yaml squad.yaml',
229
+ file: manifestFilename,
230
+ });
231
+ }
232
+
233
+ // Parse YAML
234
+ let manifest;
235
+ try {
236
+ const content = await fs.readFile(manifestPath, 'utf-8');
237
+ manifest = yaml.load(content);
238
+ } catch (error) {
239
+ result.valid = false;
240
+ result.errors.push({
241
+ code: ValidationErrorCodes.YAML_PARSE_ERROR,
242
+ message: `Failed to parse manifest: ${error.message}`,
243
+ suggestion: 'Check YAML syntax - use a YAML linter',
244
+ file: manifestFilename,
245
+ });
246
+ return result;
247
+ }
248
+
249
+ // Validate against schema
250
+ if (this.validateSchema && manifest) {
251
+ const schemaValid = this.validateSchema(manifest);
252
+ if (!schemaValid) {
253
+ result.valid = false;
254
+ for (const err of this.validateSchema.errors) {
255
+ result.errors.push({
256
+ code: ValidationErrorCodes.SCHEMA_ERROR,
257
+ path: err.instancePath || '/',
258
+ message: err.message,
259
+ suggestion: this._getSchemaSuggestion(err),
260
+ });
261
+ }
262
+ }
263
+ }
264
+
265
+ this._log(`Manifest validation: ${result.valid ? 'PASS' : 'FAIL'}`);
266
+ return result;
267
+ }
268
+
269
+ /**
270
+ * Validate directory structure
271
+ *
272
+ * Checks for expected directories in task-first architecture.
273
+ *
274
+ * @param {string} squadPath - Path to squad directory
275
+ * @returns {Promise<ValidationResult>} Validation result for structure
276
+ */
277
+ async validateStructure(squadPath) {
278
+ this._log(`Validating structure of: ${squadPath}`);
279
+
280
+ const result = {
281
+ valid: true,
282
+ errors: [],
283
+ warnings: [],
284
+ suggestions: [],
285
+ };
286
+
287
+ // Expected directories (task-first: tasks and agents are primary)
288
+ const expectedDirs = ['tasks', 'agents'];
289
+ const _optionalDirs = [
290
+ 'workflows',
291
+ 'checklists',
292
+ 'templates',
293
+ 'tools',
294
+ 'scripts',
295
+ 'data',
296
+ 'config',
297
+ ];
298
+
299
+ // Check expected directories (warn if missing)
300
+ for (const dir of expectedDirs) {
301
+ const dirPath = path.join(squadPath, dir);
302
+ if (!(await this._pathExists(dirPath))) {
303
+ result.warnings.push({
304
+ code: ValidationErrorCodes.MISSING_DIRECTORY,
305
+ message: `Expected directory not found: ${dir}/`,
306
+ suggestion: `mkdir ${dir} (task-first architecture recommends tasks/ and agents/)`,
307
+ });
308
+ }
309
+ }
310
+
311
+ // Validate files referenced in manifest exist
312
+ const manifestPath = await this._findManifest(squadPath);
313
+ if (manifestPath) {
314
+ try {
315
+ const content = await fs.readFile(manifestPath, 'utf-8');
316
+ const manifest = yaml.load(content);
317
+
318
+ if (manifest && manifest.components) {
319
+ await this._validateReferencedFiles(
320
+ squadPath,
321
+ manifest.components,
322
+ result,
323
+ );
324
+ }
325
+ } catch {
326
+ // Already handled in manifest validation
327
+ }
328
+ }
329
+
330
+ this._log(`Structure validation: ${result.errors.length} errors, ${result.warnings.length} warnings`);
331
+ return result;
332
+ }
333
+
334
+ /**
335
+ * Validate task files against TASK-FORMAT-SPECIFICATION-V1
336
+ *
337
+ * @param {string} squadPath - Path to squad directory
338
+ * @returns {Promise<ValidationResult>} Validation result for tasks
339
+ */
340
+ async validateTasks(squadPath) {
341
+ this._log(`Validating tasks in: ${squadPath}`);
342
+
343
+ const result = {
344
+ valid: true,
345
+ errors: [],
346
+ warnings: [],
347
+ suggestions: [],
348
+ };
349
+
350
+ const tasksDir = path.join(squadPath, 'tasks');
351
+
352
+ // Check if tasks directory exists
353
+ if (!(await this._pathExists(tasksDir))) {
354
+ return result; // Already warned in structure validation
355
+ }
356
+
357
+ // Get task files
358
+ let files;
359
+ try {
360
+ files = await fs.readdir(tasksDir);
361
+ } catch (error) {
362
+ result.errors.push({
363
+ code: ValidationErrorCodes.TASK_READ_ERROR,
364
+ message: `Failed to read tasks directory: ${error.message}`,
365
+ });
366
+ result.valid = false;
367
+ return result;
368
+ }
369
+
370
+ const taskFiles = files.filter((f) => f.endsWith('.md'));
371
+
372
+ if (taskFiles.length === 0) {
373
+ result.warnings.push({
374
+ code: ValidationErrorCodes.NO_TASKS,
375
+ message: 'No task files found in tasks/',
376
+ suggestion: 'Task-first architecture: Create at least one task file',
377
+ });
378
+ return result;
379
+ }
380
+
381
+ // Validate each task file
382
+ for (const taskFile of taskFiles) {
383
+ const taskPath = path.join(tasksDir, taskFile);
384
+ const taskResult = await this._validateTaskFile(taskPath);
385
+ this._mergeResults(result, taskResult);
386
+ }
387
+
388
+ this._log(`Task validation: ${taskFiles.length} files checked`);
389
+ return result;
390
+ }
391
+
392
+ /**
393
+ * Validate config references in squad.yaml
394
+ * Implements AC10.4: Validates that referenced config files actually exist
395
+ *
396
+ * @param {string} squadPath - Path to squad directory
397
+ * @returns {Promise<ValidationResult>} Validation result for config references
398
+ * @see Story SQS-10: Project Config Reference for Squads
399
+ */
400
+ async validateConfigReferences(squadPath) {
401
+ this._log(`Validating config references in: ${squadPath}`);
402
+
403
+ const result = {
404
+ valid: true,
405
+ errors: [],
406
+ warnings: [],
407
+ suggestions: [],
408
+ };
409
+
410
+ // Find and parse manifest
411
+ const manifestPath = await this._findManifest(squadPath);
412
+ if (!manifestPath) {
413
+ return result; // Already handled in manifest validation
414
+ }
415
+
416
+ let manifest;
417
+ try {
418
+ const content = await fs.readFile(manifestPath, 'utf-8');
419
+ manifest = yaml.load(content);
420
+ } catch {
421
+ return result; // Already handled in manifest validation
422
+ }
423
+
424
+ // Check config section
425
+ if (!manifest || !manifest.config) {
426
+ return result; // No config section to validate
427
+ }
428
+
429
+ const configFields = ['coding-standards', 'tech-stack', 'source-tree'];
430
+
431
+ for (const field of configFields) {
432
+ const configPath = manifest.config[field];
433
+ if (!configPath) continue;
434
+
435
+ const resolvedPath = await this._resolveConfigPath(squadPath, configPath);
436
+ if (!resolvedPath) {
437
+ // Check if this is a project-level reference that doesn't exist
438
+ if (configPath.includes('..') || configPath.includes('docs/framework')) {
439
+ result.warnings.push({
440
+ code: ValidationErrorCodes.FILE_NOT_FOUND,
441
+ message: `Config reference not found: ${configPath}`,
442
+ suggestion: `Create the file at ${configPath} or update squad.yaml to use local config (config/${field}.md)`,
443
+ });
444
+ } else {
445
+ // Local config file missing - this is an error
446
+ result.errors.push({
447
+ code: ValidationErrorCodes.FILE_NOT_FOUND,
448
+ message: `Local config file not found: ${configPath}`,
449
+ suggestion: `Create ${path.join(squadPath, configPath)} or remove from config section`,
450
+ });
451
+ result.valid = false;
452
+ }
453
+ }
454
+ }
455
+
456
+ this._log(`Config validation: ${result.errors.length} errors, ${result.warnings.length} warnings`);
457
+ return result;
458
+ }
459
+
460
+ /**
461
+ * Validate agent definitions
462
+ *
463
+ * @param {string} squadPath - Path to squad directory
464
+ * @returns {Promise<ValidationResult>} Validation result for agents
465
+ */
466
+ async validateAgents(squadPath) {
467
+ this._log(`Validating agents in: ${squadPath}`);
468
+
469
+ const result = {
470
+ valid: true,
471
+ errors: [],
472
+ warnings: [],
473
+ suggestions: [],
474
+ };
475
+
476
+ const agentsDir = path.join(squadPath, 'agents');
477
+
478
+ // Check if agents directory exists
479
+ if (!(await this._pathExists(agentsDir))) {
480
+ return result; // Already warned in structure validation
481
+ }
482
+
483
+ // Get agent files
484
+ let files;
485
+ try {
486
+ files = await fs.readdir(agentsDir);
487
+ } catch (_error) {
488
+ return result;
489
+ }
490
+
491
+ const agentFiles = files.filter((f) => f.endsWith('.md'));
492
+
493
+ // Validate each agent file
494
+ for (const agentFile of agentFiles) {
495
+ const agentPath = path.join(agentsDir, agentFile);
496
+ try {
497
+ const content = await fs.readFile(agentPath, 'utf-8');
498
+
499
+ // Check for basic agent structure (YAML frontmatter or markdown structure)
500
+ const hasYamlFrontmatter = content.includes('agent:');
501
+ const hasMarkdownHeading = content.match(/^#\s+.+/m);
502
+
503
+ if (!hasYamlFrontmatter && !hasMarkdownHeading) {
504
+ result.warnings.push({
505
+ code: ValidationErrorCodes.AGENT_INVALID_FORMAT,
506
+ file: agentFile,
507
+ message: 'Agent file may not follow AIOX agent definition format',
508
+ suggestion:
509
+ 'Use agent: YAML frontmatter or markdown heading structure',
510
+ });
511
+ }
512
+
513
+ // Check naming convention (kebab-case)
514
+ if (!this._isKebabCase(path.basename(agentFile, '.md'))) {
515
+ result.warnings.push({
516
+ code: ValidationErrorCodes.INVALID_NAMING,
517
+ file: agentFile,
518
+ message: 'Agent filename should be kebab-case',
519
+ suggestion: 'Rename to use lowercase letters and hyphens only',
520
+ });
521
+ }
522
+ } catch (error) {
523
+ result.errors.push({
524
+ code: ValidationErrorCodes.TASK_READ_ERROR,
525
+ file: agentFile,
526
+ message: `Failed to read agent file: ${error.message}`,
527
+ });
528
+ result.valid = false;
529
+ }
530
+ }
531
+
532
+ this._log(`Agent validation: ${agentFiles.length} files checked`);
533
+ return result;
534
+ }
535
+
536
+ /**
537
+ * Format validation result for display
538
+ *
539
+ * @param {ValidationResult} result - Validation result
540
+ * @param {string} squadPath - Path to squad
541
+ * @returns {string} Formatted output
542
+ */
543
+ formatResult(result, squadPath) {
544
+ const lines = [];
545
+
546
+ lines.push(`Validating squad: ${squadPath}/`);
547
+ lines.push('');
548
+
549
+ // Errors
550
+ if (result.errors.length > 0) {
551
+ lines.push(`Errors: ${result.errors.length}`);
552
+ for (const err of result.errors) {
553
+ const filePart = err.file ? ` (${err.file})` : '';
554
+ const pathPart = err.path ? ` at ${err.path}` : '';
555
+ lines.push(` - [${err.code}]${pathPart}${filePart}: ${err.message}`);
556
+ if (err.suggestion) {
557
+ lines.push(` Suggestion: ${err.suggestion}`);
558
+ }
559
+ }
560
+ lines.push('');
561
+ }
562
+
563
+ // Warnings
564
+ if (result.warnings.length > 0) {
565
+ lines.push(`Warnings: ${result.warnings.length}`);
566
+ for (const warn of result.warnings) {
567
+ const filePart = warn.file ? ` (${warn.file})` : '';
568
+ lines.push(` - [${warn.code}]${filePart}: ${warn.message}`);
569
+ if (warn.suggestion) {
570
+ lines.push(` Suggestion: ${warn.suggestion}`);
571
+ }
572
+ }
573
+ lines.push('');
574
+ }
575
+
576
+ // Result
577
+ if (result.valid) {
578
+ if (result.warnings.length > 0) {
579
+ lines.push('Result: VALID (with warnings)');
580
+ } else {
581
+ lines.push('Result: VALID');
582
+ }
583
+ } else {
584
+ lines.push('Result: INVALID');
585
+ }
586
+
587
+ return lines.join('\n');
588
+ }
589
+
590
+ /**
591
+ * Validate workflow files in squad using WorkflowValidator
592
+ *
593
+ * @param {string} squadPath - Path to squad directory
594
+ * @returns {Promise<ValidationResult>} Validation result for workflows
595
+ */
596
+ async validateWorkflows(squadPath) {
597
+ this._log(`Validating workflows in: ${squadPath}`);
598
+
599
+ const result = {
600
+ valid: true,
601
+ errors: [],
602
+ warnings: [],
603
+ suggestions: [],
604
+ };
605
+
606
+ const workflowsDir = path.join(squadPath, 'workflows');
607
+
608
+ if (!(await this._pathExists(workflowsDir))) {
609
+ return result; // No workflows dir is fine
610
+ }
611
+
612
+ let files;
613
+ try {
614
+ files = await fs.readdir(workflowsDir);
615
+ } catch {
616
+ return result;
617
+ }
618
+
619
+ const yamlFiles = files.filter(
620
+ (f) => f.endsWith('.yaml') || f.endsWith('.yml'),
621
+ );
622
+
623
+ if (yamlFiles.length === 0) {
624
+ return result; // No workflow files to validate
625
+ }
626
+
627
+ // Import WorkflowValidator
628
+ let WorkflowValidator;
629
+ try {
630
+ ({ WorkflowValidator } = require('../workflow-validator'));
631
+ } catch {
632
+ result.warnings.push({
633
+ code: 'WORKFLOW_VALIDATOR_UNAVAILABLE',
634
+ message: 'WorkflowValidator module not found, skipping workflow content validation',
635
+ suggestion: 'Ensure workflow-validator.js exists in .aiox-core/development/scripts/',
636
+ });
637
+ return result;
638
+ }
639
+
640
+ const coreAgentsPath = path.join(process.cwd(), '.aiox-core', 'development', 'agents');
641
+ const validator = new WorkflowValidator({
642
+ verbose: this.verbose,
643
+ strict: this.strict,
644
+ agentsPath: coreAgentsPath,
645
+ squadAgentsPath: path.join(squadPath, 'agents'),
646
+ });
647
+
648
+ for (const yamlFile of yamlFiles) {
649
+ const workflowPath = path.join(workflowsDir, yamlFile);
650
+ const workflowResult = await validator.validate(workflowPath);
651
+ this._mergeResults(result, workflowResult);
652
+ }
653
+
654
+ this._log(`Workflow validation: ${yamlFiles.length} files checked`);
655
+ return result;
656
+ }
657
+
658
+ // ============ Private Helper Methods ============
659
+
660
+ /**
661
+ * Find manifest file in squad directory
662
+ * @private
663
+ */
664
+ async _findManifest(squadPath) {
665
+ for (const filename of MANIFEST_FILES) {
666
+ const manifestPath = path.join(squadPath, filename);
667
+ if (await this._pathExists(manifestPath)) {
668
+ return manifestPath;
669
+ }
670
+ }
671
+ return null;
672
+ }
673
+
674
+ /**
675
+ * Check if path exists
676
+ * @private
677
+ */
678
+ async _pathExists(filePath) {
679
+ try {
680
+ await fs.access(filePath);
681
+ return true;
682
+ } catch {
683
+ return false;
684
+ }
685
+ }
686
+
687
+ /**
688
+ * Resolve config path - check both local and project-level paths
689
+ * Implements AC10.4: Validator Path Resolution
690
+ *
691
+ * @param {string} squadPath - Squad directory
692
+ * @param {string} configPath - Path from squad.yaml config section
693
+ * @returns {Promise<string|null>} Resolved absolute path or null if not found
694
+ * @see Story SQS-10: Project Config Reference for Squads
695
+ * @private
696
+ */
697
+ async _resolveConfigPath(squadPath, configPath) {
698
+ if (!configPath) return null;
699
+
700
+ // Resolve path relative to squad directory
701
+ // path.resolve handles both local paths (config/file.md) and relative paths (../../docs/framework/...)
702
+ // Simplified from redundant path.resolve + path.join (CodeRabbit nitpick)
703
+ const resolvedPath = path.resolve(squadPath, configPath);
704
+ if (await this._pathExists(resolvedPath)) {
705
+ this._log(`Resolved config path: ${configPath} -> ${resolvedPath}`);
706
+ return resolvedPath;
707
+ }
708
+
709
+ this._log(`Config path not found: ${configPath}`);
710
+ return null;
711
+ }
712
+
713
+ /**
714
+ * Validate a single task file
715
+ * @private
716
+ */
717
+ async _validateTaskFile(taskPath) {
718
+ const result = {
719
+ valid: true,
720
+ errors: [],
721
+ warnings: [],
722
+ suggestions: [],
723
+ };
724
+ const filename = path.basename(taskPath);
725
+
726
+ try {
727
+ const content = await fs.readFile(taskPath, 'utf-8');
728
+
729
+ // Check for required fields (case-insensitive, handle accents)
730
+ for (const field of TASK_REQUIRED_FIELDS) {
731
+ // Create patterns that handle Portuguese accents
732
+ const patterns = [
733
+ new RegExp(`^[#*-]*\\s*${field}\\s*:`, 'im'),
734
+ new RegExp(
735
+ `^[#*-]*\\s*${field.replace(/a/g, '[aá]').replace(/i/g, '[ií]')}\\s*:`,
736
+ 'im',
737
+ ),
738
+ // Also check for markdown headers with the field
739
+ new RegExp(`^#+\\s*${field}`, 'im'),
740
+ ];
741
+
742
+ const found = patterns.some((p) => p.test(content));
743
+ if (!found) {
744
+ result.warnings.push({
745
+ code: ValidationErrorCodes.TASK_MISSING_FIELD,
746
+ file: filename,
747
+ message: `Task missing recommended field: ${field}`,
748
+ suggestion: `Add "${field}:" to ${filename} (TASK-FORMAT-SPECIFICATION-V1)`,
749
+ });
750
+ }
751
+ }
752
+
753
+ // Check naming convention
754
+ if (!this._isKebabCase(path.basename(filename, '.md'))) {
755
+ result.warnings.push({
756
+ code: ValidationErrorCodes.INVALID_NAMING,
757
+ file: filename,
758
+ message: 'Task filename should be kebab-case',
759
+ suggestion: 'Rename to use lowercase letters and hyphens only',
760
+ });
761
+ }
762
+ } catch (error) {
763
+ result.errors.push({
764
+ code: ValidationErrorCodes.TASK_READ_ERROR,
765
+ file: filename,
766
+ message: `Failed to read task: ${error.message}`,
767
+ });
768
+ result.valid = false;
769
+ }
770
+
771
+ return result;
772
+ }
773
+
774
+ /**
775
+ * Validate files referenced in manifest components
776
+ * @private
777
+ */
778
+ async _validateReferencedFiles(squadPath, components, result) {
779
+ const componentDirs = {
780
+ tasks: 'tasks',
781
+ agents: 'agents',
782
+ workflows: 'workflows',
783
+ checklists: 'checklists',
784
+ templates: 'templates',
785
+ tools: 'tools',
786
+ scripts: 'scripts',
787
+ };
788
+
789
+ for (const [component, dir] of Object.entries(componentDirs)) {
790
+ if (components[component] && Array.isArray(components[component])) {
791
+ for (const file of components[component]) {
792
+ const filePath = path.join(squadPath, dir, file);
793
+ if (!(await this._pathExists(filePath))) {
794
+ result.errors.push({
795
+ code: ValidationErrorCodes.FILE_NOT_FOUND,
796
+ message: `Referenced file not found: ${dir}/${file}`,
797
+ suggestion: `Create ${filePath} or remove from components.${component}`,
798
+ });
799
+ result.valid = false;
800
+ }
801
+ }
802
+ }
803
+ }
804
+ }
805
+
806
+ /**
807
+ * Check if string is kebab-case
808
+ * @private
809
+ */
810
+ _isKebabCase(str) {
811
+ return /^[a-z0-9]+(-[a-z0-9]+)*$/.test(str);
812
+ }
813
+
814
+ /**
815
+ * Get suggestion for schema error
816
+ * @private
817
+ */
818
+ _getSchemaSuggestion(error) {
819
+ const suggestions = {
820
+ 'must match pattern':
821
+ 'Use correct format (kebab-case for names, semver for versions)',
822
+ 'must be string': 'Wrap value in quotes',
823
+ 'must be array': 'Use YAML array syntax: [item1, item2] or - item',
824
+ 'must have required property': 'Add the missing required property',
825
+ 'must be equal to one of the allowed values': 'Use one of the allowed values',
826
+ };
827
+
828
+ for (const [key, suggestion] of Object.entries(suggestions)) {
829
+ if (error.message && error.message.includes(key)) {
830
+ return suggestion;
831
+ }
832
+ }
833
+ return 'Check squad.yaml syntax against the schema';
834
+ }
835
+
836
+ /**
837
+ * Merge validation results
838
+ * @private
839
+ */
840
+ _mergeResults(target, source) {
841
+ target.errors.push(...(source.errors || []));
842
+ target.warnings.push(...(source.warnings || []));
843
+ target.suggestions.push(...(source.suggestions || []));
844
+ if (source.errors && source.errors.length > 0) {
845
+ target.valid = false;
846
+ }
847
+ }
848
+ }
849
+
850
+ module.exports = {
851
+ SquadValidator,
852
+ ValidationErrorCodes,
853
+ TASK_REQUIRED_FIELDS,
854
+ MANIFEST_FILES,
855
+ };