aios-core 2.1.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 (607) hide show
  1. package/.aios-core/.session/current-session.json +14 -0
  2. package/.aios-core/cli/commands/generate/index.js +222 -0
  3. package/.aios-core/cli/commands/manifest/index.js +46 -0
  4. package/.aios-core/cli/commands/manifest/regenerate.js +96 -0
  5. package/.aios-core/cli/commands/manifest/validate.js +66 -0
  6. package/.aios-core/cli/commands/mcp/add.js +234 -0
  7. package/.aios-core/cli/commands/mcp/index.js +76 -0
  8. package/.aios-core/cli/commands/mcp/link.js +217 -0
  9. package/.aios-core/cli/commands/mcp/setup.js +164 -0
  10. package/.aios-core/cli/commands/mcp/status.js +183 -0
  11. package/.aios-core/cli/commands/metrics/cleanup.js +91 -0
  12. package/.aios-core/cli/commands/metrics/index.js +65 -0
  13. package/.aios-core/cli/commands/metrics/record.js +154 -0
  14. package/.aios-core/cli/commands/metrics/seed.js +126 -0
  15. package/.aios-core/cli/commands/metrics/show.js +209 -0
  16. package/.aios-core/cli/commands/migrate/analyze.js +353 -0
  17. package/.aios-core/cli/commands/migrate/backup.js +352 -0
  18. package/.aios-core/cli/commands/migrate/execute.js +292 -0
  19. package/.aios-core/cli/commands/migrate/index.js +441 -0
  20. package/.aios-core/cli/commands/migrate/rollback.js +323 -0
  21. package/.aios-core/cli/commands/migrate/update-imports.js +396 -0
  22. package/.aios-core/cli/commands/migrate/validate.js +452 -0
  23. package/.aios-core/cli/commands/qa/index.js +56 -0
  24. package/.aios-core/cli/commands/qa/run.js +163 -0
  25. package/.aios-core/cli/commands/qa/status.js +195 -0
  26. package/.aios-core/cli/commands/workers/formatters/info-formatter.js +274 -0
  27. package/.aios-core/cli/commands/workers/formatters/list-table.js +265 -0
  28. package/.aios-core/cli/commands/workers/formatters/list-tree.js +159 -0
  29. package/.aios-core/cli/commands/workers/index.js +56 -0
  30. package/.aios-core/cli/commands/workers/info.js +194 -0
  31. package/.aios-core/cli/commands/workers/list.js +214 -0
  32. package/.aios-core/cli/commands/workers/search-filters.js +185 -0
  33. package/.aios-core/cli/commands/workers/search-keyword.js +310 -0
  34. package/.aios-core/cli/commands/workers/search-semantic.js +293 -0
  35. package/.aios-core/cli/commands/workers/search.js +154 -0
  36. package/.aios-core/cli/commands/workers/utils/pagination.js +102 -0
  37. package/.aios-core/cli/index.js +128 -0
  38. package/.aios-core/cli/utils/output-formatter-cli.js +232 -0
  39. package/.aios-core/cli/utils/score-calculator.js +221 -0
  40. package/.aios-core/core/README.md +229 -0
  41. package/.aios-core/core/config/config-cache.js +233 -0
  42. package/.aios-core/core/config/config-loader.js +277 -0
  43. package/.aios-core/core/data/agent-config-requirements.yaml +368 -0
  44. package/.aios-core/core/data/aios-kb.md +924 -0
  45. package/.aios-core/core/data/workflow-patterns.yaml +267 -0
  46. package/.aios-core/core/docs/SHARD-TRANSLATION-GUIDE.md +335 -0
  47. package/.aios-core/core/docs/component-creation-guide.md +458 -0
  48. package/.aios-core/core/docs/session-update-pattern.md +307 -0
  49. package/.aios-core/core/docs/template-syntax.md +267 -0
  50. package/.aios-core/core/docs/troubleshooting-guide.md +625 -0
  51. package/.aios-core/core/elicitation/agent-elicitation.js +272 -0
  52. package/.aios-core/core/elicitation/elicitation-engine.js +479 -0
  53. package/.aios-core/core/elicitation/session-manager.js +320 -0
  54. package/.aios-core/core/elicitation/task-elicitation.js +281 -0
  55. package/.aios-core/core/elicitation/workflow-elicitation.js +315 -0
  56. package/.aios-core/core/index.esm.js +42 -0
  57. package/.aios-core/core/index.js +76 -0
  58. package/.aios-core/core/manifest/manifest-generator.js +386 -0
  59. package/.aios-core/core/manifest/manifest-validator.js +429 -0
  60. package/.aios-core/core/mcp/config-migrator.js +340 -0
  61. package/.aios-core/core/mcp/global-config-manager.js +369 -0
  62. package/.aios-core/core/mcp/index.js +34 -0
  63. package/.aios-core/core/mcp/os-detector.js +188 -0
  64. package/.aios-core/core/mcp/symlink-manager.js +413 -0
  65. package/.aios-core/core/migration/migration-config.yaml +83 -0
  66. package/.aios-core/core/migration/module-mapping.yaml +89 -0
  67. package/.aios-core/core/quality-gates/base-layer.js +134 -0
  68. package/.aios-core/core/quality-gates/checklist-generator.js +329 -0
  69. package/.aios-core/core/quality-gates/focus-area-recommender.js +359 -0
  70. package/.aios-core/core/quality-gates/human-review-orchestrator.js +529 -0
  71. package/.aios-core/core/quality-gates/layer1-precommit.js +336 -0
  72. package/.aios-core/core/quality-gates/layer2-pr-automation.js +324 -0
  73. package/.aios-core/core/quality-gates/layer3-human-review.js +348 -0
  74. package/.aios-core/core/quality-gates/notification-manager.js +550 -0
  75. package/.aios-core/core/quality-gates/quality-gate-config.yaml +86 -0
  76. package/.aios-core/core/quality-gates/quality-gate-manager.js +601 -0
  77. package/.aios-core/core/registry/README.md +179 -0
  78. package/.aios-core/core/registry/build-registry.js +452 -0
  79. package/.aios-core/core/registry/registry-loader.js +330 -0
  80. package/.aios-core/core/registry/registry-schema.json +166 -0
  81. package/.aios-core/core/registry/service-registry.json +6586 -0
  82. package/.aios-core/core/registry/validate-registry.js +340 -0
  83. package/.aios-core/core/session/context-detector.js +229 -0
  84. package/.aios-core/core/session/context-loader.js +288 -0
  85. package/.aios-core/core/utils/output-formatter.js +298 -0
  86. package/.aios-core/core/utils/security-utils.js +333 -0
  87. package/.aios-core/core/utils/yaml-validator.js +419 -0
  88. package/.aios-core/core-config.yaml +382 -0
  89. package/.aios-core/data/agent-config-requirements.yaml +368 -0
  90. package/.aios-core/data/aios-kb.md +924 -0
  91. package/.aios-core/data/technical-preferences.md +4 -0
  92. package/.aios-core/data/workflow-patterns.yaml +267 -0
  93. package/.aios-core/development/README.md +142 -0
  94. package/.aios-core/development/agent-teams/team-all.yaml +15 -0
  95. package/.aios-core/development/agent-teams/team-fullstack.yaml +18 -0
  96. package/.aios-core/development/agent-teams/team-ide-minimal.yaml +10 -0
  97. package/.aios-core/development/agent-teams/team-no-ui.yaml +13 -0
  98. package/.aios-core/development/agent-teams/team-qa-focused.yaml +155 -0
  99. package/.aios-core/development/agents/aios-master.md +339 -0
  100. package/.aios-core/development/agents/analyst.md +195 -0
  101. package/.aios-core/development/agents/architect.md +359 -0
  102. package/.aios-core/development/agents/data-engineer.md +468 -0
  103. package/.aios-core/development/agents/dev.md +390 -0
  104. package/.aios-core/development/agents/devops.md +398 -0
  105. package/.aios-core/development/agents/pm.md +198 -0
  106. package/.aios-core/development/agents/po.md +256 -0
  107. package/.aios-core/development/agents/qa.md +312 -0
  108. package/.aios-core/development/agents/sm.md +220 -0
  109. package/.aios-core/development/agents/ux-design-expert.md +451 -0
  110. package/.aios-core/development/scripts/agent-assignment-resolver.js +231 -0
  111. package/.aios-core/development/scripts/agent-config-loader.js +624 -0
  112. package/.aios-core/development/scripts/agent-exit-hooks.js +96 -0
  113. package/.aios-core/development/scripts/apply-inline-greeting-all-agents.js +146 -0
  114. package/.aios-core/development/scripts/audit-agent-config.js +380 -0
  115. package/.aios-core/development/scripts/backlog-manager.js +404 -0
  116. package/.aios-core/development/scripts/batch-update-agents-session-context.js +95 -0
  117. package/.aios-core/development/scripts/decision-context.js +228 -0
  118. package/.aios-core/development/scripts/decision-log-generator.js +293 -0
  119. package/.aios-core/development/scripts/decision-log-indexer.js +284 -0
  120. package/.aios-core/development/scripts/decision-recorder.js +168 -0
  121. package/.aios-core/development/scripts/dev-context-loader.js +297 -0
  122. package/.aios-core/development/scripts/generate-greeting.js +160 -0
  123. package/.aios-core/development/scripts/greeting-builder.js +866 -0
  124. package/.aios-core/development/scripts/greeting-config-cli.js +85 -0
  125. package/.aios-core/development/scripts/greeting-preference-manager.js +145 -0
  126. package/.aios-core/development/scripts/migrate-task-to-v2.js +377 -0
  127. package/.aios-core/development/scripts/story-index-generator.js +337 -0
  128. package/.aios-core/development/scripts/story-manager.js +375 -0
  129. package/.aios-core/development/scripts/story-update-hook.js +259 -0
  130. package/.aios-core/development/scripts/task-identifier-resolver.js +145 -0
  131. package/.aios-core/development/scripts/test-greeting-system.js +142 -0
  132. package/.aios-core/development/scripts/validate-task-v2.js +319 -0
  133. package/.aios-core/development/scripts/workflow-navigator.js +214 -0
  134. package/.aios-core/development/tasks/add-mcp.md +319 -0
  135. package/.aios-core/development/tasks/advanced-elicitation.md +319 -0
  136. package/.aios-core/development/tasks/analyst-facilitate-brainstorming.md +342 -0
  137. package/.aios-core/development/tasks/analyze-framework.md +697 -0
  138. package/.aios-core/development/tasks/analyze-performance.md +637 -0
  139. package/.aios-core/development/tasks/apply-qa-fixes.md +340 -0
  140. package/.aios-core/development/tasks/architect-analyze-impact.md +827 -0
  141. package/.aios-core/development/tasks/audit-codebase.md +429 -0
  142. package/.aios-core/development/tasks/audit-tailwind-config.md +270 -0
  143. package/.aios-core/development/tasks/audit-utilities.md +358 -0
  144. package/.aios-core/development/tasks/bootstrap-shadcn-library.md +286 -0
  145. package/.aios-core/development/tasks/brownfield-create-epic.md +486 -0
  146. package/.aios-core/development/tasks/brownfield-create-story.md +357 -0
  147. package/.aios-core/development/tasks/build-component.md +478 -0
  148. package/.aios-core/development/tasks/calculate-roi.md +455 -0
  149. package/.aios-core/development/tasks/ci-cd-configuration.md +764 -0
  150. package/.aios-core/development/tasks/cleanup-utilities.md +670 -0
  151. package/.aios-core/development/tasks/collaborative-edit.md +1109 -0
  152. package/.aios-core/development/tasks/compose-molecule.md +284 -0
  153. package/.aios-core/development/tasks/consolidate-patterns.md +414 -0
  154. package/.aios-core/development/tasks/correct-course.md +280 -0
  155. package/.aios-core/development/tasks/create-agent.md +322 -0
  156. package/.aios-core/development/tasks/create-brownfield-story.md +727 -0
  157. package/.aios-core/development/tasks/create-deep-research-prompt.md +499 -0
  158. package/.aios-core/development/tasks/create-doc.md +316 -0
  159. package/.aios-core/development/tasks/create-next-story.md +774 -0
  160. package/.aios-core/development/tasks/create-suite.md +284 -0
  161. package/.aios-core/development/tasks/create-task.md +372 -0
  162. package/.aios-core/development/tasks/create-workflow.md +371 -0
  163. package/.aios-core/development/tasks/db-analyze-hotpaths.md +572 -0
  164. package/.aios-core/development/tasks/db-apply-migration.md +381 -0
  165. package/.aios-core/development/tasks/db-bootstrap.md +642 -0
  166. package/.aios-core/development/tasks/db-domain-modeling.md +693 -0
  167. package/.aios-core/development/tasks/db-dry-run.md +293 -0
  168. package/.aios-core/development/tasks/db-env-check.md +260 -0
  169. package/.aios-core/development/tasks/db-expansion-pack-integration.md +663 -0
  170. package/.aios-core/development/tasks/db-explain.md +631 -0
  171. package/.aios-core/development/tasks/db-impersonate.md +495 -0
  172. package/.aios-core/development/tasks/db-load-csv.md +593 -0
  173. package/.aios-core/development/tasks/db-policy-apply.md +653 -0
  174. package/.aios-core/development/tasks/db-rls-audit.md +411 -0
  175. package/.aios-core/development/tasks/db-rollback.md +739 -0
  176. package/.aios-core/development/tasks/db-run-sql.md +613 -0
  177. package/.aios-core/development/tasks/db-schema-audit.md +1011 -0
  178. package/.aios-core/development/tasks/db-seed.md +390 -0
  179. package/.aios-core/development/tasks/db-smoke-test.md +351 -0
  180. package/.aios-core/development/tasks/db-snapshot.md +569 -0
  181. package/.aios-core/development/tasks/db-supabase-setup.md +712 -0
  182. package/.aios-core/development/tasks/db-verify-order.md +515 -0
  183. package/.aios-core/development/tasks/deprecate-component.md +957 -0
  184. package/.aios-core/development/tasks/dev-apply-qa-fixes.md +318 -0
  185. package/.aios-core/development/tasks/dev-backlog-debt.md +469 -0
  186. package/.aios-core/development/tasks/dev-develop-story.md +846 -0
  187. package/.aios-core/development/tasks/dev-improve-code-quality.md +873 -0
  188. package/.aios-core/development/tasks/dev-optimize-performance.md +1034 -0
  189. package/.aios-core/development/tasks/dev-suggest-refactoring.md +871 -0
  190. package/.aios-core/development/tasks/dev-validate-next-story.md +349 -0
  191. package/.aios-core/development/tasks/document-project.md +553 -0
  192. package/.aios-core/development/tasks/environment-bootstrap.md +1311 -0
  193. package/.aios-core/development/tasks/execute-checklist.md +301 -0
  194. package/.aios-core/development/tasks/export-design-tokens-dtcg.md +274 -0
  195. package/.aios-core/development/tasks/extend-pattern.md +269 -0
  196. package/.aios-core/development/tasks/extract-tokens.md +467 -0
  197. package/.aios-core/development/tasks/facilitate-brainstorming-session.md +518 -0
  198. package/.aios-core/development/tasks/generate-ai-frontend-prompt.md +261 -0
  199. package/.aios-core/development/tasks/generate-documentation.md +284 -0
  200. package/.aios-core/development/tasks/generate-migration-strategy.md +522 -0
  201. package/.aios-core/development/tasks/generate-shock-report.md +501 -0
  202. package/.aios-core/development/tasks/github-devops-github-pr-automation.md +427 -0
  203. package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +733 -0
  204. package/.aios-core/development/tasks/github-devops-repository-cleanup.md +374 -0
  205. package/.aios-core/development/tasks/github-devops-version-management.md +483 -0
  206. package/.aios-core/development/tasks/improve-self.md +823 -0
  207. package/.aios-core/development/tasks/index-docs.md +388 -0
  208. package/.aios-core/development/tasks/init-project-status.md +506 -0
  209. package/.aios-core/development/tasks/integrate-expansion-pack.md +314 -0
  210. package/.aios-core/development/tasks/kb-mode-interaction.md +284 -0
  211. package/.aios-core/development/tasks/learn-patterns.md +901 -0
  212. package/.aios-core/development/tasks/mcp-workflow.md +437 -0
  213. package/.aios-core/development/tasks/modify-agent.md +382 -0
  214. package/.aios-core/development/tasks/modify-task.md +425 -0
  215. package/.aios-core/development/tasks/modify-workflow.md +466 -0
  216. package/.aios-core/development/tasks/po-backlog-add.md +370 -0
  217. package/.aios-core/development/tasks/po-manage-story-backlog.md +523 -0
  218. package/.aios-core/development/tasks/po-pull-story-from-clickup.md +540 -0
  219. package/.aios-core/development/tasks/po-pull-story.md +316 -0
  220. package/.aios-core/development/tasks/po-stories-index.md +351 -0
  221. package/.aios-core/development/tasks/po-sync-story-to-clickup.md +457 -0
  222. package/.aios-core/development/tasks/po-sync-story.md +303 -0
  223. package/.aios-core/development/tasks/pr-automation.md +701 -0
  224. package/.aios-core/development/tasks/propose-modification.md +843 -0
  225. package/.aios-core/development/tasks/qa-backlog-add-followup.md +425 -0
  226. package/.aios-core/development/tasks/qa-gate.md +374 -0
  227. package/.aios-core/development/tasks/qa-generate-tests.md +1175 -0
  228. package/.aios-core/development/tasks/qa-nfr-assess.md +558 -0
  229. package/.aios-core/development/tasks/qa-review-proposal.md +1158 -0
  230. package/.aios-core/development/tasks/qa-review-story.md +683 -0
  231. package/.aios-core/development/tasks/qa-risk-profile.md +567 -0
  232. package/.aios-core/development/tasks/qa-run-tests.md +277 -0
  233. package/.aios-core/development/tasks/qa-test-design.md +388 -0
  234. package/.aios-core/development/tasks/qa-trace-requirements.md +477 -0
  235. package/.aios-core/development/tasks/release-management.md +723 -0
  236. package/.aios-core/development/tasks/security-audit.md +554 -0
  237. package/.aios-core/development/tasks/security-scan.md +790 -0
  238. package/.aios-core/development/tasks/setup-database.md +741 -0
  239. package/.aios-core/development/tasks/setup-design-system.md +462 -0
  240. package/.aios-core/development/tasks/setup-github.md +874 -0
  241. package/.aios-core/development/tasks/setup-llm-routing.md +229 -0
  242. package/.aios-core/development/tasks/setup-mcp-docker.md +584 -0
  243. package/.aios-core/development/tasks/shard-doc.md +538 -0
  244. package/.aios-core/development/tasks/sm-create-next-story.md +480 -0
  245. package/.aios-core/development/tasks/sync-documentation.md +865 -0
  246. package/.aios-core/development/tasks/tailwind-upgrade.md +294 -0
  247. package/.aios-core/development/tasks/test-as-user.md +621 -0
  248. package/.aios-core/development/tasks/test-validation-task.md +171 -0
  249. package/.aios-core/development/tasks/undo-last.md +347 -0
  250. package/.aios-core/development/tasks/update-manifest.md +410 -0
  251. package/.aios-core/development/tasks/ux-create-wireframe.md +617 -0
  252. package/.aios-core/development/tasks/ux-ds-scan-artifact.md +672 -0
  253. package/.aios-core/development/tasks/ux-user-research.md +559 -0
  254. package/.aios-core/development/tasks/validate-next-story.md +423 -0
  255. package/.aios-core/development/tasks/validate-structure.md +243 -0
  256. package/.aios-core/development/workflows/README.md +84 -0
  257. package/.aios-core/development/workflows/brownfield-fullstack.yaml +297 -0
  258. package/.aios-core/development/workflows/brownfield-service.yaml +187 -0
  259. package/.aios-core/development/workflows/brownfield-ui.yaml +197 -0
  260. package/.aios-core/development/workflows/greenfield-fullstack.yaml +333 -0
  261. package/.aios-core/development/workflows/greenfield-service.yaml +206 -0
  262. package/.aios-core/development/workflows/greenfield-ui.yaml +235 -0
  263. package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -0
  264. package/.aios-core/docs/component-creation-guide.md +458 -0
  265. package/.aios-core/docs/session-update-pattern.md +307 -0
  266. package/.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +572 -0
  267. package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-QUICK-REFERENCE.md +185 -0
  268. package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-V2.1.md +354 -0
  269. package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -0
  270. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +821 -0
  271. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -0
  272. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -0
  273. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1339 -0
  274. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -0
  275. package/.aios-core/docs/standards/EXECUTOR-DECISION-TREE.md +697 -0
  276. package/.aios-core/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +511 -0
  277. package/.aios-core/docs/standards/QUALITY-GATES-SPECIFICATION.md +556 -0
  278. package/.aios-core/docs/standards/STANDARDS-INDEX.md +210 -0
  279. package/.aios-core/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +550 -0
  280. package/.aios-core/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1414 -0
  281. package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -0
  282. package/.aios-core/docs/template-syntax.md +267 -0
  283. package/.aios-core/docs/troubleshooting-guide.md +625 -0
  284. package/.aios-core/elicitation/agent-elicitation.js +272 -0
  285. package/.aios-core/elicitation/task-elicitation.js +281 -0
  286. package/.aios-core/elicitation/workflow-elicitation.js +315 -0
  287. package/.aios-core/index.d.ts +8 -0
  288. package/.aios-core/index.esm.js +16 -0
  289. package/.aios-core/index.js +16 -0
  290. package/.aios-core/infrastructure/README.md +126 -0
  291. package/.aios-core/infrastructure/index.js +199 -0
  292. package/.aios-core/infrastructure/integrations/pm-adapters/README.md +59 -0
  293. package/.aios-core/infrastructure/integrations/pm-adapters/clickup-adapter.js +345 -0
  294. package/.aios-core/infrastructure/integrations/pm-adapters/github-adapter.js +392 -0
  295. package/.aios-core/infrastructure/integrations/pm-adapters/jira-adapter.js +448 -0
  296. package/.aios-core/infrastructure/integrations/pm-adapters/local-adapter.js +175 -0
  297. package/.aios-core/infrastructure/scripts/_archived/final-todo-count.js +122 -0
  298. package/.aios-core/infrastructure/scripts/_archived/fix-yaml-formatting.js +89 -0
  299. package/.aios-core/infrastructure/scripts/_archived/migration-generator.js +780 -0
  300. package/.aios-core/infrastructure/scripts/_archived/migration-path-generator.js +950 -0
  301. package/.aios-core/infrastructure/scripts/_archived/phase2-entrada-saida-errors.js +425 -0
  302. package/.aios-core/infrastructure/scripts/_archived/phase2-spot-check.js +132 -0
  303. package/.aios-core/infrastructure/scripts/_archived/phase3-tools-scripts-validation.js +381 -0
  304. package/.aios-core/infrastructure/scripts/_archived/phase4-metadata-performance.js +203 -0
  305. package/.aios-core/infrastructure/scripts/_archived/test-yaml-parsing.js +24 -0
  306. package/.aios-core/infrastructure/scripts/_archived/verify-yaml-fix.js +51 -0
  307. package/.aios-core/infrastructure/scripts/aios-validator.js +294 -0
  308. package/.aios-core/infrastructure/scripts/approval-workflow.js +643 -0
  309. package/.aios-core/infrastructure/scripts/atomic-layer-classifier.js +308 -0
  310. package/.aios-core/infrastructure/scripts/backup-manager.js +607 -0
  311. package/.aios-core/infrastructure/scripts/batch-creator.js +608 -0
  312. package/.aios-core/infrastructure/scripts/branch-manager.js +391 -0
  313. package/.aios-core/infrastructure/scripts/capability-analyzer.js +535 -0
  314. package/.aios-core/infrastructure/scripts/clickup-helpers.js +226 -0
  315. package/.aios-core/infrastructure/scripts/code-quality-improver.js +1312 -0
  316. package/.aios-core/infrastructure/scripts/commit-message-generator.js +850 -0
  317. package/.aios-core/infrastructure/scripts/component-generator.js +738 -0
  318. package/.aios-core/infrastructure/scripts/component-metadata.js +627 -0
  319. package/.aios-core/infrastructure/scripts/component-search.js +277 -0
  320. package/.aios-core/infrastructure/scripts/config-cache.js +322 -0
  321. package/.aios-core/infrastructure/scripts/config-loader.js +349 -0
  322. package/.aios-core/infrastructure/scripts/conflict-resolver.js +675 -0
  323. package/.aios-core/infrastructure/scripts/coverage-analyzer.js +882 -0
  324. package/.aios-core/infrastructure/scripts/dependency-analyzer.js +638 -0
  325. package/.aios-core/infrastructure/scripts/dependency-impact-analyzer.js +703 -0
  326. package/.aios-core/infrastructure/scripts/diff-generator.js +129 -0
  327. package/.aios-core/infrastructure/scripts/documentation-integrity/brownfield-analyzer.js +501 -0
  328. package/.aios-core/infrastructure/scripts/documentation-integrity/config-generator.js +329 -0
  329. package/.aios-core/infrastructure/scripts/documentation-integrity/deployment-config-loader.js +282 -0
  330. package/.aios-core/infrastructure/scripts/documentation-integrity/doc-generator.js +331 -0
  331. package/.aios-core/infrastructure/scripts/documentation-integrity/gitignore-generator.js +313 -0
  332. package/.aios-core/infrastructure/scripts/documentation-integrity/index.js +74 -0
  333. package/.aios-core/infrastructure/scripts/documentation-integrity/mode-detector.js +358 -0
  334. package/.aios-core/infrastructure/scripts/documentation-synchronizer.js +1432 -0
  335. package/.aios-core/infrastructure/scripts/framework-analyzer.js +746 -0
  336. package/.aios-core/infrastructure/scripts/git-config-detector.js +293 -0
  337. package/.aios-core/infrastructure/scripts/git-wrapper.js +443 -0
  338. package/.aios-core/infrastructure/scripts/improvement-engine.js +758 -0
  339. package/.aios-core/infrastructure/scripts/improvement-validator.js +710 -0
  340. package/.aios-core/infrastructure/scripts/llm-routing/install-llm-routing.js +267 -0
  341. package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free.cmd +80 -0
  342. package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free.sh +62 -0
  343. package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-max.cmd +26 -0
  344. package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-max.sh +18 -0
  345. package/.aios-core/infrastructure/scripts/modification-risk-assessment.js +970 -0
  346. package/.aios-core/infrastructure/scripts/modification-validator.js +555 -0
  347. package/.aios-core/infrastructure/scripts/output-formatter.js +297 -0
  348. package/.aios-core/infrastructure/scripts/performance-analyzer.js +758 -0
  349. package/.aios-core/infrastructure/scripts/performance-and-error-resolver.js +258 -0
  350. package/.aios-core/infrastructure/scripts/performance-optimizer.js +1902 -0
  351. package/.aios-core/infrastructure/scripts/performance-tracker.js +452 -0
  352. package/.aios-core/infrastructure/scripts/pm-adapter-factory.js +181 -0
  353. package/.aios-core/infrastructure/scripts/pm-adapter.js +134 -0
  354. package/.aios-core/infrastructure/scripts/project-status-loader.js +445 -0
  355. package/.aios-core/infrastructure/scripts/refactoring-suggester.js +1139 -0
  356. package/.aios-core/infrastructure/scripts/repository-detector.js +64 -0
  357. package/.aios-core/infrastructure/scripts/sandbox-tester.js +618 -0
  358. package/.aios-core/infrastructure/scripts/security-checker.js +359 -0
  359. package/.aios-core/infrastructure/scripts/source-tree-guardian/index.js +375 -0
  360. package/.aios-core/infrastructure/scripts/source-tree-guardian/manifest-generator.js +410 -0
  361. package/.aios-core/infrastructure/scripts/source-tree-guardian/rules/naming-rules.yaml +285 -0
  362. package/.aios-core/infrastructure/scripts/source-tree-guardian/rules/placement-rules.yaml +262 -0
  363. package/.aios-core/infrastructure/scripts/source-tree-guardian/validator.js +468 -0
  364. package/.aios-core/infrastructure/scripts/spot-check-validator.js +149 -0
  365. package/.aios-core/infrastructure/scripts/status-mapper.js +115 -0
  366. package/.aios-core/infrastructure/scripts/template-engine.js +240 -0
  367. package/.aios-core/infrastructure/scripts/template-validator.js +279 -0
  368. package/.aios-core/infrastructure/scripts/test-generator.js +844 -0
  369. package/.aios-core/infrastructure/scripts/test-quality-assessment.js +1081 -0
  370. package/.aios-core/infrastructure/scripts/test-utilities-fast.js +126 -0
  371. package/.aios-core/infrastructure/scripts/test-utilities.js +200 -0
  372. package/.aios-core/infrastructure/scripts/tool-resolver.js +360 -0
  373. package/.aios-core/infrastructure/scripts/transaction-manager.js +590 -0
  374. package/.aios-core/infrastructure/scripts/usage-analytics.js +634 -0
  375. package/.aios-core/infrastructure/scripts/validate-output-pattern.js +213 -0
  376. package/.aios-core/infrastructure/scripts/visual-impact-generator.js +1056 -0
  377. package/.aios-core/infrastructure/scripts/yaml-validator.js +397 -0
  378. package/.aios-core/infrastructure/templates/coderabbit.yaml.template +279 -0
  379. package/.aios-core/infrastructure/templates/core-config/core-config-brownfield.tmpl.yaml +182 -0
  380. package/.aios-core/infrastructure/templates/core-config/core-config-greenfield.tmpl.yaml +127 -0
  381. package/.aios-core/infrastructure/templates/github-workflows/README.md +109 -0
  382. package/.aios-core/infrastructure/templates/github-workflows/ci.yml.template +169 -0
  383. package/.aios-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -0
  384. package/.aios-core/infrastructure/templates/github-workflows/release.yml.template +196 -0
  385. package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +63 -0
  386. package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -0
  387. package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -0
  388. package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -0
  389. package/.aios-core/infrastructure/templates/project-docs/coding-standards-tmpl.md +346 -0
  390. package/.aios-core/infrastructure/templates/project-docs/source-tree-tmpl.md +177 -0
  391. package/.aios-core/infrastructure/templates/project-docs/tech-stack-tmpl.md +267 -0
  392. package/.aios-core/infrastructure/tests/project-status-loader.test.js +394 -0
  393. package/.aios-core/infrastructure/tests/regression-suite-v2.md +621 -0
  394. package/.aios-core/infrastructure/tests/utilities-audit-results.json +501 -0
  395. package/.aios-core/infrastructure/tests/validate-module.js +97 -0
  396. package/.aios-core/infrastructure/tools/README.md +222 -0
  397. package/.aios-core/infrastructure/tools/cli/github-cli.yaml +200 -0
  398. package/.aios-core/infrastructure/tools/cli/llm-routing.yaml +126 -0
  399. package/.aios-core/infrastructure/tools/cli/railway-cli.yaml +260 -0
  400. package/.aios-core/infrastructure/tools/cli/supabase-cli.yaml +224 -0
  401. package/.aios-core/infrastructure/tools/local/ffmpeg.yaml +261 -0
  402. package/.aios-core/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -0
  403. package/.aios-core/infrastructure/tools/mcp/browser.yaml +103 -0
  404. package/.aios-core/infrastructure/tools/mcp/clickup.yaml +534 -0
  405. package/.aios-core/infrastructure/tools/mcp/context7.yaml +78 -0
  406. package/.aios-core/infrastructure/tools/mcp/desktop-commander.yaml +180 -0
  407. package/.aios-core/infrastructure/tools/mcp/exa.yaml +103 -0
  408. package/.aios-core/infrastructure/tools/mcp/google-workspace.yaml +930 -0
  409. package/.aios-core/infrastructure/tools/mcp/n8n.yaml +551 -0
  410. package/.aios-core/infrastructure/tools/mcp/supabase.yaml +808 -0
  411. package/.aios-core/install-manifest.yaml +347 -0
  412. package/.aios-core/manifests/agents.csv +1 -0
  413. package/.aios-core/manifests/schema/manifest-schema.json +190 -0
  414. package/.aios-core/manifests/tasks.csv +121 -0
  415. package/.aios-core/manifests/workers.csv +204 -0
  416. package/.aios-core/package.json +103 -0
  417. package/.aios-core/product/README.md +56 -0
  418. package/.aios-core/product/checklists/architect-checklist.md +444 -0
  419. package/.aios-core/product/checklists/change-checklist.md +183 -0
  420. package/.aios-core/product/checklists/database-design-checklist.md +119 -0
  421. package/.aios-core/product/checklists/dba-predeploy-checklist.md +97 -0
  422. package/.aios-core/product/checklists/dba-rollback-checklist.md +99 -0
  423. package/.aios-core/product/checklists/pm-checklist.md +376 -0
  424. package/.aios-core/product/checklists/po-master-checklist.md +442 -0
  425. package/.aios-core/product/checklists/pre-push-checklist.md +108 -0
  426. package/.aios-core/product/checklists/release-checklist.md +122 -0
  427. package/.aios-core/product/checklists/story-dod-checklist.md +102 -0
  428. package/.aios-core/product/checklists/story-draft-checklist.md +216 -0
  429. package/.aios-core/product/data/brainstorming-techniques.md +37 -0
  430. package/.aios-core/product/data/elicitation-methods.md +135 -0
  431. package/.aios-core/product/data/mode-selection-best-practices.md +471 -0
  432. package/.aios-core/product/data/test-levels-framework.md +149 -0
  433. package/.aios-core/product/data/test-priorities-matrix.md +175 -0
  434. package/.aios-core/product/templates/1mcp-config.yaml +225 -0
  435. package/.aios-core/product/templates/activation-instructions-inline-greeting.yaml +63 -0
  436. package/.aios-core/product/templates/activation-instructions-template.md +258 -0
  437. package/.aios-core/product/templates/adr.hbs +125 -0
  438. package/.aios-core/product/templates/agent-template.yaml +121 -0
  439. package/.aios-core/product/templates/architecture-tmpl.yaml +651 -0
  440. package/.aios-core/product/templates/brainstorming-output-tmpl.yaml +156 -0
  441. package/.aios-core/product/templates/brownfield-architecture-tmpl.yaml +476 -0
  442. package/.aios-core/product/templates/brownfield-prd-tmpl.yaml +280 -0
  443. package/.aios-core/product/templates/changelog-template.md +134 -0
  444. package/.aios-core/product/templates/command-rationalization-matrix.md +152 -0
  445. package/.aios-core/product/templates/competitor-analysis-tmpl.yaml +293 -0
  446. package/.aios-core/product/templates/component-react-tmpl.tsx +98 -0
  447. package/.aios-core/product/templates/dbdr.hbs +241 -0
  448. package/.aios-core/product/templates/design-story-tmpl.yaml +587 -0
  449. package/.aios-core/product/templates/ds-artifact-analysis.md +70 -0
  450. package/.aios-core/product/templates/engine/elicitation.js +298 -0
  451. package/.aios-core/product/templates/engine/index.js +308 -0
  452. package/.aios-core/product/templates/engine/loader.js +231 -0
  453. package/.aios-core/product/templates/engine/renderer.js +343 -0
  454. package/.aios-core/product/templates/engine/schemas/adr.schema.json +102 -0
  455. package/.aios-core/product/templates/engine/schemas/dbdr.schema.json +205 -0
  456. package/.aios-core/product/templates/engine/schemas/epic.schema.json +175 -0
  457. package/.aios-core/product/templates/engine/schemas/pmdr.schema.json +175 -0
  458. package/.aios-core/product/templates/engine/schemas/prd-v2.schema.json +300 -0
  459. package/.aios-core/product/templates/engine/schemas/prd.schema.json +152 -0
  460. package/.aios-core/product/templates/engine/schemas/story.schema.json +222 -0
  461. package/.aios-core/product/templates/engine/schemas/task.schema.json +154 -0
  462. package/.aios-core/product/templates/engine/validator.js +294 -0
  463. package/.aios-core/product/templates/epic.hbs +212 -0
  464. package/.aios-core/product/templates/eslintrc-security.json +32 -0
  465. package/.aios-core/product/templates/front-end-architecture-tmpl.yaml +206 -0
  466. package/.aios-core/product/templates/front-end-spec-tmpl.yaml +349 -0
  467. package/.aios-core/product/templates/fullstack-architecture-tmpl.yaml +805 -0
  468. package/.aios-core/product/templates/github-actions-cd.yml +212 -0
  469. package/.aios-core/product/templates/github-actions-ci.yml +172 -0
  470. package/.aios-core/product/templates/github-pr-template.md +67 -0
  471. package/.aios-core/product/templates/gordon-mcp.yaml +140 -0
  472. package/.aios-core/product/templates/ide-rules/antigravity-rules.md +115 -0
  473. package/.aios-core/product/templates/ide-rules/claude-rules.md +221 -0
  474. package/.aios-core/product/templates/ide-rules/cline-rules.md +84 -0
  475. package/.aios-core/product/templates/ide-rules/copilot-rules.md +92 -0
  476. package/.aios-core/product/templates/ide-rules/cursor-rules.md +115 -0
  477. package/.aios-core/product/templates/ide-rules/gemini-rules.md +85 -0
  478. package/.aios-core/product/templates/ide-rules/roo-rules.md +86 -0
  479. package/.aios-core/product/templates/ide-rules/trae-rules.md +104 -0
  480. package/.aios-core/product/templates/ide-rules/windsurf-rules.md +80 -0
  481. package/.aios-core/product/templates/index-strategy-tmpl.yaml +53 -0
  482. package/.aios-core/product/templates/market-research-tmpl.yaml +252 -0
  483. package/.aios-core/product/templates/mcp-workflow.js +271 -0
  484. package/.aios-core/product/templates/migration-plan-tmpl.yaml +1022 -0
  485. package/.aios-core/product/templates/migration-strategy-tmpl.md +524 -0
  486. package/.aios-core/product/templates/personalized-agent-template.md +258 -0
  487. package/.aios-core/product/templates/personalized-checklist-template.md +340 -0
  488. package/.aios-core/product/templates/personalized-task-template-v2.md +905 -0
  489. package/.aios-core/product/templates/personalized-task-template.md +344 -0
  490. package/.aios-core/product/templates/personalized-template-file.yaml +322 -0
  491. package/.aios-core/product/templates/personalized-workflow-template.yaml +460 -0
  492. package/.aios-core/product/templates/pmdr.hbs +186 -0
  493. package/.aios-core/product/templates/prd-tmpl.yaml +202 -0
  494. package/.aios-core/product/templates/prd-v2.0.hbs +216 -0
  495. package/.aios-core/product/templates/prd.hbs +201 -0
  496. package/.aios-core/product/templates/project-brief-tmpl.yaml +221 -0
  497. package/.aios-core/product/templates/qa-gate-tmpl.yaml +240 -0
  498. package/.aios-core/product/templates/rls-policies-tmpl.yaml +1203 -0
  499. package/.aios-core/product/templates/schema-design-tmpl.yaml +428 -0
  500. package/.aios-core/product/templates/shock-report-tmpl.html +502 -0
  501. package/.aios-core/product/templates/state-persistence-tmpl.yaml +219 -0
  502. package/.aios-core/product/templates/story-tmpl.yaml +332 -0
  503. package/.aios-core/product/templates/story.hbs +263 -0
  504. package/.aios-core/product/templates/task-execution-report.md +495 -0
  505. package/.aios-core/product/templates/task-template.md +123 -0
  506. package/.aios-core/product/templates/task.hbs +170 -0
  507. package/.aios-core/product/templates/tmpl-comment-on-examples.sql +158 -0
  508. package/.aios-core/product/templates/tmpl-migration-script.sql +91 -0
  509. package/.aios-core/product/templates/tmpl-rls-granular-policies.sql +104 -0
  510. package/.aios-core/product/templates/tmpl-rls-kiss-policy.sql +10 -0
  511. package/.aios-core/product/templates/tmpl-rls-roles.sql +135 -0
  512. package/.aios-core/product/templates/tmpl-rls-simple.sql +77 -0
  513. package/.aios-core/product/templates/tmpl-rls-tenant.sql +152 -0
  514. package/.aios-core/product/templates/tmpl-rollback-script.sql +77 -0
  515. package/.aios-core/product/templates/tmpl-seed-data.sql +140 -0
  516. package/.aios-core/product/templates/tmpl-smoke-test.sql +16 -0
  517. package/.aios-core/product/templates/tmpl-staging-copy-merge.sql +139 -0
  518. package/.aios-core/product/templates/tmpl-stored-proc.sql +140 -0
  519. package/.aios-core/product/templates/tmpl-trigger.sql +152 -0
  520. package/.aios-core/product/templates/tmpl-view-materialized.sql +133 -0
  521. package/.aios-core/product/templates/tmpl-view.sql +177 -0
  522. package/.aios-core/product/templates/token-exports-css-tmpl.css +240 -0
  523. package/.aios-core/product/templates/token-exports-tailwind-tmpl.js +395 -0
  524. package/.aios-core/product/templates/tokens-schema-tmpl.yaml +305 -0
  525. package/.aios-core/product/templates/workflow-template.yaml +134 -0
  526. package/.aios-core/quality/metrics-collector.js +572 -0
  527. package/.aios-core/quality/metrics-hook.js +260 -0
  528. package/.aios-core/quality/schemas/quality-metrics.schema.json +233 -0
  529. package/.aios-core/quality/seed-metrics.js +336 -0
  530. package/.aios-core/scripts/README.md +354 -0
  531. package/.aios-core/scripts/aios-doc-template.md +325 -0
  532. package/.aios-core/scripts/batch-migrate-phase1.ps1 +36 -0
  533. package/.aios-core/scripts/batch-migrate-phase2.ps1 +88 -0
  534. package/.aios-core/scripts/batch-migrate-phase3.ps1 +45 -0
  535. package/.aios-core/scripts/command-execution-hook.js +201 -0
  536. package/.aios-core/scripts/context-detector.js +226 -0
  537. package/.aios-core/scripts/elicitation-engine.js +385 -0
  538. package/.aios-core/scripts/elicitation-session-manager.js +300 -0
  539. package/.aios-core/scripts/migrate-framework-docs.sh +300 -0
  540. package/.aios-core/scripts/session-context-loader.js +286 -0
  541. package/.aios-core/scripts/test-template-system.js +941 -0
  542. package/.aios-core/scripts/validate-phase1.ps1 +35 -0
  543. package/.aios-core/scripts/workflow-management.md +69 -0
  544. package/.aios-core/tasks/find-component.md.legacy +391 -0
  545. package/.aios-core/tasks/generate-commit-message.md.legacy +426 -0
  546. package/.aios-core/tasks/generate-migration.md.legacy +382 -0
  547. package/.aios-core/tasks/rollback-modification.md.legacy +307 -0
  548. package/.aios-core/tasks/update-tests.md.legacy +283 -0
  549. package/.aios-core/user-guide.md +1413 -0
  550. package/.aios-core/working-in-the-brownfield.md +361 -0
  551. package/.claude/CLAUDE.md +221 -0
  552. package/LICENSE +48 -0
  553. package/README.md +703 -0
  554. package/bin/aios-init-old.js +532 -0
  555. package/bin/aios-init-v4.js +390 -0
  556. package/bin/aios-init.backup-v1.1.4.js +352 -0
  557. package/bin/aios-init.js +736 -0
  558. package/bin/aios-minimal.js +26 -0
  559. package/bin/aios.js +279 -0
  560. package/bin/migrate-pm-config.js +219 -0
  561. package/bin/modules/env-config.js +436 -0
  562. package/bin/modules/mcp-installer.js +383 -0
  563. package/bin/utils/install-errors.js +339 -0
  564. package/bin/utils/install-transaction.js +445 -0
  565. package/index.d.ts +19 -0
  566. package/index.esm.js +21 -0
  567. package/index.js +94 -0
  568. package/package.json +161 -0
  569. package/packages/installer/package.json +39 -0
  570. package/packages/installer/src/config/configure-environment.js +312 -0
  571. package/packages/installer/src/config/templates/core-config-template.js +183 -0
  572. package/packages/installer/src/config/templates/env-template.js +127 -0
  573. package/packages/installer/src/config/validation/config-validator.js +243 -0
  574. package/packages/installer/src/detection/detect-project-type.js +81 -0
  575. package/packages/installer/src/wizard/wizard.js +244 -0
  576. package/packages/installer/tests/integration/environment-configuration.test.js +328 -0
  577. package/packages/installer/tests/integration/wizard-detection.test.js +349 -0
  578. package/packages/installer/tests/unit/config-validator.test.js +315 -0
  579. package/packages/installer/tests/unit/detection/detect-project-type.test.js +401 -0
  580. package/packages/installer/tests/unit/env-template.test.js +185 -0
  581. package/src/config/ide-configs.js +189 -0
  582. package/src/installer/aios-core-installer.js +319 -0
  583. package/src/installer/dependency-installer.js +335 -0
  584. package/src/utils/aios-colors.js +234 -0
  585. package/src/wizard/feedback.js +218 -0
  586. package/src/wizard/ide-config-generator.js +488 -0
  587. package/src/wizard/ide-selector.js +84 -0
  588. package/src/wizard/index.js +589 -0
  589. package/src/wizard/questions.js +249 -0
  590. package/src/wizard/validation/index.js +120 -0
  591. package/src/wizard/validation/report-generator.js +269 -0
  592. package/src/wizard/validation/troubleshooting-system.js +346 -0
  593. package/src/wizard/validation/validators/config-validator.js +362 -0
  594. package/src/wizard/validation/validators/dependency-validator.js +333 -0
  595. package/src/wizard/validation/validators/file-structure-validator.js +181 -0
  596. package/src/wizard/validation/validators/mcp-health-checker.js +310 -0
  597. package/src/wizard/validators.js +274 -0
  598. package/templates/squad/LICENSE +21 -0
  599. package/templates/squad/README.md +37 -0
  600. package/templates/squad/agents/example-agent.yaml +36 -0
  601. package/templates/squad/package.json +19 -0
  602. package/templates/squad/squad.yaml +25 -0
  603. package/templates/squad/tasks/example-task.yaml +46 -0
  604. package/templates/squad/templates/example-template.md +24 -0
  605. package/templates/squad/tests/example-agent.test.js +53 -0
  606. package/templates/squad/workflows/example-workflow.yaml +54 -0
  607. package/tools/package-builder.js +35 -0
@@ -0,0 +1,126 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Fast Framework Utilities Audit Script
5
+ *
6
+ * Quick scan version that skips slow integration counting during initial pass
7
+ * Usage: node test-utilities-fast.js
8
+ */
9
+
10
+ const fs = require('fs');
11
+ const path = require('path');
12
+
13
+ const utilsDir = path.join(__dirname);
14
+ let results = [];
15
+ let utilities = [];
16
+
17
+ /**
18
+ * Quick test - just try to require and see what happens
19
+ */
20
+ function quickTest(utilityFile) {
21
+ const utilityPath = path.join(utilsDir, utilityFile);
22
+ const result = {
23
+ name: utilityFile,
24
+ status: 'UNKNOWN',
25
+ loadable: false,
26
+ exports: [],
27
+ errors: [],
28
+ recommendation: '',
29
+ };
30
+
31
+ try {
32
+ // Suppress console output during require
33
+ const originalLog = console.log;
34
+ const originalError = console.error;
35
+ console.log = () => {};
36
+ console.error = () => {};
37
+
38
+ delete require.cache[require.resolve(utilityPath)];
39
+ const utility = require(utilityPath);
40
+
41
+ // Restore console
42
+ console.log = originalLog;
43
+ console.error = originalError;
44
+
45
+ result.loadable = true;
46
+ result.exports = Object.keys(utility);
47
+
48
+ if (result.exports.length > 0) {
49
+ result.status = 'WORKING';
50
+ result.recommendation = 'Functional - verify integration';
51
+ } else {
52
+ result.status = 'FIXABLE';
53
+ result.recommendation = 'Loads but exports nothing';
54
+ }
55
+
56
+ } catch (error) {
57
+ // Restore console
58
+ console.log = console.log.bind(console);
59
+ console.error = console.error.bind(console);
60
+
61
+ result.errors.push(error.message);
62
+
63
+ if (error.code === 'MODULE_NOT_FOUND' || error.message.includes('Cannot find module')) {
64
+ result.status = 'FIXABLE';
65
+ result.recommendation = 'Missing dependencies - installable';
66
+ } else if (error.message.includes('SyntaxError')) {
67
+ result.status = 'DEPRECATED';
68
+ result.recommendation = 'Syntax errors - major rewrite needed';
69
+ } else {
70
+ result.status = 'DEPRECATED';
71
+ result.recommendation = 'Runtime errors - investigation needed';
72
+ }
73
+ }
74
+
75
+ return result;
76
+ }
77
+
78
+ /**
79
+ * Run the fast audit
80
+ */
81
+ function runFastAudit() {
82
+ console.log('🔍 Fast Framework Utilities Audit Starting...\n');
83
+
84
+ // Get all .js files except test utilities
85
+ utilities = fs.readdirSync(utilsDir)
86
+ .filter(f => f.endsWith('.js') && !f.includes('test-utilities'))
87
+ .sort();
88
+
89
+ results = [];
90
+ console.log(`Found ${utilities.length} utilities to audit\n`);
91
+
92
+ // Run quick audit
93
+ let processed = 0;
94
+ for (const utility of utilities) {
95
+ processed++;
96
+ process.stdout.write(`\r[${processed}/${utilities.length}] ${utility}`.padEnd(80));
97
+ results.push(quickTest(utility));
98
+ }
99
+
100
+ console.log('\n');
101
+
102
+ // Summary
103
+ const working = results.filter(r => r.status === 'WORKING');
104
+ const fixable = results.filter(r => r.status === 'FIXABLE');
105
+ const deprecated = results.filter(r => r.status === 'DEPRECATED');
106
+
107
+ console.log('\n📊 QUICK AUDIT SUMMARY\n');
108
+ console.log(`✅ WORKING: ${working.length} (${Math.round(working.length / utilities.length * 100)}%)`);
109
+ console.log(`🔧 FIXABLE: ${fixable.length} (${Math.round(fixable.length / utilities.length * 100)}%)`);
110
+ console.log(`🗑️ DEPRECATED: ${deprecated.length} (${Math.round(deprecated.length / utilities.length * 100)}%)`);
111
+ console.log(`\n📦 Total: ${utilities.length}`);
112
+
113
+ // Save results
114
+ const outputPath = path.join(process.cwd(), 'utilities-audit-results.json');
115
+ fs.writeFileSync(outputPath, JSON.stringify(results, null, 2));
116
+ console.log(`\n💾 Results: ${outputPath}\n`);
117
+
118
+ return { results, working: working.length, fixable: fixable.length, deprecated: deprecated.length };
119
+ }
120
+
121
+ // Run audit if executed directly
122
+ if (require.main === module) {
123
+ runFastAudit();
124
+ }
125
+
126
+ module.exports = { runFastAudit, quickTest };
@@ -0,0 +1,200 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Framework Utilities Audit Script
5
+ *
6
+ * Systematically tests all utilities in .aios-core/scripts/ and classifies them
7
+ * as WORKING, FIXABLE, or DEPRECATED based on their functional status.
8
+ *
9
+ * Usage: node .aios-core/scripts/test-utilities.js
10
+ */
11
+
12
+ const fs = require('fs');
13
+ const path = require('path');
14
+ const { exec } = require('child_process');
15
+ const util = require('util');
16
+ const execPromise = util.promisify(exec);
17
+
18
+ const utilsDir = path.join(__dirname);
19
+ let results = [];
20
+ let utilities = [];
21
+
22
+ /**
23
+ * Count integration references for a utility
24
+ */
25
+ async function countIntegrationReferences(utilityName) {
26
+ const basename = path.basename(utilityName, '.js');
27
+ const searchDirs = [
28
+ '.aios-core/agents',
29
+ '.aios-core/tasks',
30
+ 'expansion-packs',
31
+ ];
32
+
33
+ let totalCount = 0;
34
+
35
+ for (const dir of searchDirs) {
36
+ if (!fs.existsSync(dir)) continue;
37
+
38
+ try {
39
+ const { stdout } = await execPromise(
40
+ `grep -r "${basename}" ${dir} 2>/dev/null | wc -l`,
41
+ { shell: '/bin/bash' },
42
+ );
43
+ totalCount += parseInt(stdout.trim()) || 0;
44
+ } catch (_error) {
45
+ // Directory doesn't exist or grep failed - not a problem
46
+ }
47
+ }
48
+
49
+ return totalCount;
50
+ }
51
+
52
+ /**
53
+ * Test a single utility
54
+ */
55
+ async function testUtility(utilityFile) {
56
+ const utilityPath = path.join(utilsDir, utilityFile);
57
+ const result = {
58
+ name: utilityFile,
59
+ status: 'UNKNOWN',
60
+ loadable: false,
61
+ exports: [],
62
+ testPassed: null,
63
+ errors: [],
64
+ integrationCount: 0,
65
+ recommendation: '',
66
+ };
67
+
68
+ try {
69
+ // Clear require cache to ensure fresh load
70
+ delete require.cache[require.resolve(utilityPath)];
71
+
72
+ // Test 1: Can it be required?
73
+ const utility = require(utilityPath);
74
+ result.loadable = true;
75
+
76
+ // Test 2: Does it export functions?
77
+ result.exports = Object.keys(utility);
78
+
79
+ // Test 3: Can we call its test function if it exists?
80
+ if (typeof utility.test === 'function') {
81
+ try {
82
+ await utility.test();
83
+ result.testPassed = true;
84
+ } catch (testError) {
85
+ result.testPassed = false;
86
+ result.errors.push(`Test function failed: ${testError.message}`);
87
+ }
88
+ }
89
+
90
+ // Test 4: Count integration references
91
+ result.integrationCount = await countIntegrationReferences(utilityFile);
92
+
93
+ // Classify based on results
94
+ if (result.errors.length === 0 && result.exports.length > 0) {
95
+ result.status = 'WORKING';
96
+ result.recommendation = result.integrationCount > 0
97
+ ? 'Keep - actively used'
98
+ : 'Keep but document usage';
99
+ }
100
+
101
+ } catch (_error) {
102
+ result.errors.push(error.message);
103
+
104
+ // Classify error type
105
+ if (error.code === 'MODULE_NOT_FOUND') {
106
+ result.status = 'FIXABLE';
107
+ result.recommendation = 'Install missing dependencies';
108
+ } else if (error.message.includes('SyntaxError')) {
109
+ result.status = 'DEPRECATED';
110
+ result.recommendation = 'Syntax errors - needs major rewrite';
111
+ } else if (error.message.includes('Cannot find module')) {
112
+ result.status = 'FIXABLE';
113
+ result.recommendation = 'Missing local dependencies - <4h fix';
114
+ } else {
115
+ result.status = 'DEPRECATED';
116
+ result.recommendation = 'Execution errors - needs investigation';
117
+ }
118
+
119
+ // Count integration even if broken
120
+ try {
121
+ result.integrationCount = await countIntegrationReferences(utilityFile);
122
+ } catch (_e) {
123
+ // Ignore counting errors
124
+ }
125
+ }
126
+
127
+ return result;
128
+ }
129
+
130
+ /**
131
+ * Main audit execution
132
+ */
133
+ async function runAudit() {
134
+ console.log('🔍 Framework Utilities Audit Starting...\n');
135
+ console.log(`📁 Scanning directory: ${utilsDir}\n`);
136
+
137
+ // Get all .js files except test-utilities.js itself
138
+ utilities = fs.readdirSync(utilsDir)
139
+ .filter(f => f.endsWith('.js') && f !== 'test-utilities.js')
140
+ .sort();
141
+
142
+ results = [];
143
+ console.log(`Found ${utilities.length} utilities to audit\n`);
144
+ console.log('=' .repeat(80));
145
+
146
+ let processed = 0;
147
+
148
+ for (const utility of utilities) {
149
+ processed++;
150
+ process.stdout.write(`\r[${processed}/${utilities.length}] Testing ${utility}...`.padEnd(80));
151
+
152
+ const result = await testUtility(utility);
153
+ results.push(result);
154
+ }
155
+
156
+ console.log('\n');
157
+ console.log('=' .repeat(80));
158
+
159
+ // Generate summary
160
+ const working = results.filter(r => r.status === 'WORKING');
161
+ const fixable = results.filter(r => r.status === 'FIXABLE');
162
+ const deprecated = results.filter(r => r.status === 'DEPRECATED');
163
+ const unknown = results.filter(r => r.status === 'UNKNOWN');
164
+
165
+ console.log('\n📊 AUDIT SUMMARY\n');
166
+ console.log(`✅ WORKING: ${working.length} (${Math.round(working.length / utilities.length * 100)}%)`);
167
+ console.log(`🔧 FIXABLE: ${fixable.length} (${Math.round(fixable.length / utilities.length * 100)}%)`);
168
+ console.log(`🗑️ DEPRECATED: ${deprecated.length} (${Math.round(deprecated.length / utilities.length * 100)}%)`);
169
+ console.log(`❓ UNKNOWN: ${unknown.length} (${Math.round(unknown.length / utilities.length * 100)}%)`);
170
+ console.log(`\n📦 Total Utilities: ${utilities.length}`);
171
+
172
+ // Save detailed results to JSON for report generation
173
+ const outputPath = path.join(process.cwd(), 'utilities-audit-results.json');
174
+ fs.writeFileSync(outputPath, JSON.stringify(results, null, 2));
175
+ console.log(`\n💾 Detailed results saved to: ${outputPath}`);
176
+
177
+ return {
178
+ total: utilities.length,
179
+ working: working.length,
180
+ fixable: fixable.length,
181
+ deprecated: deprecated.length,
182
+ unknown: unknown.length,
183
+ results,
184
+ };
185
+ }
186
+
187
+ // Run audit if executed directly
188
+ if (require.main === module) {
189
+ runAudit()
190
+ .then(() => {
191
+ console.log('\n✅ Audit complete!\n');
192
+ process.exit(0);
193
+ })
194
+ .catch(error => {
195
+ console.error('\n❌ Audit failed:', error);
196
+ process.exit(1);
197
+ });
198
+ }
199
+
200
+ module.exports = { runAudit, testUtility, countIntegrationReferences };
@@ -0,0 +1,360 @@
1
+ const fs = require('fs-extra');
2
+ const path = require('path');
3
+ const yaml = require('js-yaml');
4
+ const glob = require('glob');
5
+
6
+ /**
7
+ * ToolResolver - Resolves and loads AIOS tools from file system
8
+ *
9
+ * Features:
10
+ * - Map-based caching for performance (<5ms cached lookups)
11
+ * - Search path priority: expansion pack → common → core
12
+ * - Glob-based file resolution
13
+ * - Schema validation
14
+ * - Health checking (tool_call, command, http methods)
15
+ * - Schema version auto-detection
16
+ *
17
+ * Target Performance: <50ms for uncached resolution
18
+ */
19
+ class ToolResolver {
20
+ constructor() {
21
+ // Map-based cache for fast lookups
22
+ this.cache = new Map();
23
+
24
+ // Base search paths (in priority order)
25
+ this.basePaths = [
26
+ 'aios-core/tools',
27
+ 'common/tools',
28
+ // Expansion pack paths added dynamically during resolution
29
+ ];
30
+ }
31
+
32
+ /**
33
+ * Resolve a tool by name
34
+ *
35
+ * @param {string} toolName - Tool identifier (e.g., 'clickup', 'github-cli')
36
+ * @param {object} context - Resolution context (optional)
37
+ * @param {string} context.expansionPack - Specific expansion pack to search
38
+ * @returns {object} Tool definition with schema_version detected
39
+ * @throws {Error} If tool not found or validation fails
40
+ */
41
+ async resolveTool(toolName, context = {}) {
42
+ // 1. Check cache first (performance: <5ms cached)
43
+ const cacheKey = `${context.expansionPack || 'core'}:${toolName}`;
44
+ if (this.cache.has(cacheKey)) {
45
+ return this.cache.get(cacheKey);
46
+ }
47
+
48
+ // 2. Build search paths (expansion pack → core priority)
49
+ const searchPaths = [];
50
+ if (context.expansionPack) {
51
+ searchPaths.push(`expansion-packs/${context.expansionPack}/tools`);
52
+ }
53
+ searchPaths.push(...this.basePaths);
54
+
55
+ // 3. Find tool file using glob (searches subdirectories)
56
+ let toolPath = null;
57
+ for (const basePath of searchPaths) {
58
+ const candidates = glob.sync(`${basePath}/**/${toolName}.yaml`);
59
+ if (candidates.length > 0) {
60
+ toolPath = candidates[0];
61
+ break;
62
+ }
63
+ }
64
+
65
+ if (!toolPath) {
66
+ throw new Error(`Tool '${toolName}' not found in search paths: ${searchPaths.join(', ')}`);
67
+ }
68
+
69
+ // 4. Load and parse YAML
70
+ const toolContent = await fs.readFile(toolPath, 'utf8');
71
+ let toolDef = yaml.load(toolContent);
72
+
73
+ // Extract tool object if wrapped (handles both formats)
74
+ if (toolDef.tool) {
75
+ toolDef = toolDef.tool;
76
+ }
77
+
78
+ // 5. Validate schema
79
+ await this.validateToolSchema(toolDef);
80
+
81
+ // 6. Detect schema version (auto-detection if not specified)
82
+ if (!toolDef.schema_version) {
83
+ toolDef.schema_version = this.detectSchemaVersion(toolDef);
84
+ }
85
+
86
+ // 7. Health check if configured
87
+ if (toolDef.health_check) {
88
+ const healthy = await this.checkHealth(toolDef);
89
+ if (!healthy && toolDef.health_check.required) {
90
+ throw new Error(`Required tool '${toolName}' health check failed`);
91
+ }
92
+ toolDef._healthStatus = healthy ? 'healthy' : 'unhealthy';
93
+ }
94
+
95
+ // 8. Cache and return (target: <50ms total)
96
+ this.cache.set(cacheKey, toolDef);
97
+ return toolDef;
98
+ }
99
+
100
+ /**
101
+ * Validate tool schema structure
102
+ *
103
+ * @param {object} tool - Tool definition
104
+ * @throws {Error} If required fields missing or invalid
105
+ */
106
+ async validateToolSchema(tool) {
107
+ // Required fields for all tools
108
+ const requiredFields = ['id', 'type', 'name', 'version', 'description'];
109
+
110
+ for (const field of requiredFields) {
111
+ if (!tool[field]) {
112
+ throw new Error(`Tool missing required field: ${field}`);
113
+ }
114
+ }
115
+
116
+ // Validate type enum
117
+ const validTypes = ['mcp', 'cli', 'local', 'meta'];
118
+ if (!validTypes.includes(tool.type)) {
119
+ throw new Error(`Invalid tool type '${tool.type}'. Must be one of: ${validTypes.join(', ')}`);
120
+ }
121
+
122
+ // Validate version format (basic semver check)
123
+ const semverPattern = /^\d+\.\d+\.\d+$/;
124
+ if (!semverPattern.test(tool.version)) {
125
+ throw new Error(`Invalid version format '${tool.version}'. Expected semantic versioning (e.g., 1.0.0)`);
126
+ }
127
+
128
+ // Validate schema_version if present (support both string and numeric formats)
129
+ if (tool.schema_version) {
130
+ const version = typeof tool.schema_version === 'number'
131
+ ? tool.schema_version
132
+ : parseFloat(tool.schema_version);
133
+
134
+ if (![1.0, 2.0].includes(version)) {
135
+ throw new Error(`Invalid schema_version '${tool.schema_version}'. Must be '1.0' or '2.0'`);
136
+ }
137
+ }
138
+
139
+ // v2.0 specific validation
140
+ if (tool.schema_version === '2.0' || tool.schema_version === 2.0) {
141
+ await this.validateV2Schema(tool);
142
+ }
143
+ }
144
+
145
+ /**
146
+ * Validate v2.0 schema-specific features
147
+ *
148
+ * @param {object} tool - Tool definition
149
+ * @throws {Error} If v2.0 features are invalid
150
+ */
151
+ async validateV2Schema(tool) {
152
+ // Validate executable_knowledge if present
153
+ if (tool.executable_knowledge) {
154
+ const { helpers, processors, validators } = tool.executable_knowledge;
155
+
156
+ // Validate helpers
157
+ if (helpers) {
158
+ if (!Array.isArray(helpers)) {
159
+ throw new Error('executable_knowledge.helpers must be an array');
160
+ }
161
+ for (const helper of helpers) {
162
+ if (!helper.id || !helper.language || !helper.function) {
163
+ throw new Error('Helper must have id, language, and function fields');
164
+ }
165
+ if (helper.language !== 'javascript') {
166
+ throw new Error(`Unsupported helper language: ${helper.language}`);
167
+ }
168
+ }
169
+ }
170
+
171
+ // Validate validators
172
+ if (validators) {
173
+ if (!Array.isArray(validators)) {
174
+ throw new Error('executable_knowledge.validators must be an array');
175
+ }
176
+ for (const validator of validators) {
177
+ if (!validator.id || !validator.validates || !validator.function) {
178
+ throw new Error('Validator must have id, validates, and function fields');
179
+ }
180
+ }
181
+ }
182
+ }
183
+
184
+ // Validate anti_patterns if present
185
+ if (tool.anti_patterns) {
186
+ if (!Array.isArray(tool.anti_patterns)) {
187
+ throw new Error('anti_patterns must be an array');
188
+ }
189
+ for (const pattern of tool.anti_patterns) {
190
+ if (!pattern.pattern || !pattern.description || !pattern.wrong || !pattern.correct) {
191
+ throw new Error('Anti-pattern must have pattern, description, wrong, and correct fields');
192
+ }
193
+ }
194
+ }
195
+ }
196
+
197
+ /**
198
+ * Detect schema version from tool features
199
+ *
200
+ * @param {object} tool - Tool definition
201
+ * @returns {number} Detected schema version (1.0 or 2.0)
202
+ */
203
+ detectSchemaVersion(tool) {
204
+ // Check for v2.0 features
205
+ const hasExecutableKnowledge = !!tool.executable_knowledge;
206
+ const hasApiComplexity = !!tool.api_complexity;
207
+ const hasAntiPatterns = !!tool.anti_patterns;
208
+ const hasEnhancedExamples = tool.examples &&
209
+ Object.values(tool.examples).some(ex =>
210
+ ex.some(e => e.scenario && ['success', 'failure_invalid_param'].includes(e.scenario)),
211
+ );
212
+
213
+ if (hasExecutableKnowledge || hasApiComplexity || hasAntiPatterns || hasEnhancedExamples) {
214
+ return 2.0;
215
+ }
216
+
217
+ // Default to v1.0 (simple tools)
218
+ return 1.0;
219
+ }
220
+
221
+ /**
222
+ * Perform health check on tool
223
+ *
224
+ * @param {object} tool - Tool definition with health_check config
225
+ * @returns {boolean} True if healthy, false otherwise
226
+ */
227
+ async checkHealth(tool) {
228
+ const { health_check } = tool;
229
+
230
+ if (!health_check || !health_check.method) {
231
+ return true; // No health check configured = assume healthy
232
+ }
233
+
234
+ try {
235
+ switch (health_check.method) {
236
+ case 'tool_call':
237
+ // Execute a specific tool command and check response
238
+ // Note: Actual implementation would use ToolExecutor
239
+ // For now, check if command exists in tool definition
240
+ return !!tool.commands?.includes(health_check.command);
241
+
242
+ case 'command':
243
+ // Execute shell command and check exit code
244
+ // Note: Actual implementation would use child_process
245
+ // For now, return true (not implemented)
246
+ return true;
247
+
248
+ case 'http':
249
+ // Make HTTP request and check status
250
+ // Note: Actual implementation would use fetch/axios
251
+ // For now, return true (not implemented)
252
+ return true;
253
+
254
+ default:
255
+ console.warn(`Unknown health check method: ${health_check.method}`);
256
+ return true;
257
+ }
258
+ } catch (error) {
259
+ console.error(`Health check failed for tool '${tool.id}':`, error);
260
+ return false;
261
+ }
262
+ }
263
+
264
+ /**
265
+ * Clear cache (useful for testing or reloading tools)
266
+ */
267
+ clearCache() {
268
+ this.cache.clear();
269
+ }
270
+
271
+ /**
272
+ * Get cache statistics
273
+ *
274
+ * @returns {object} Cache stats
275
+ */
276
+ getCacheStats() {
277
+ return {
278
+ size: this.cache.size,
279
+ keys: Array.from(this.cache.keys()),
280
+ };
281
+ }
282
+
283
+ /**
284
+ * List all available tools across all search paths
285
+ *
286
+ * @returns {Array<string>} Array of tool file paths
287
+ */
288
+ listAvailableTools() {
289
+ const allTools = [];
290
+ for (const basePath of this.basePaths) {
291
+ const tools = glob.sync(`${basePath}/**/*.yaml`);
292
+ allTools.push(...tools);
293
+ }
294
+ return allTools;
295
+ }
296
+
297
+ /**
298
+ * Check if a tool exists without loading it
299
+ *
300
+ * @param {string} toolName - Tool identifier
301
+ * @param {object} context - Resolution context
302
+ * @returns {boolean} True if tool exists
303
+ */
304
+ async toolExists(toolName, context = {}) {
305
+ const searchPaths = [];
306
+ if (context.expansionPack) {
307
+ searchPaths.push(`expansion-packs/${context.expansionPack}/tools`);
308
+ }
309
+ searchPaths.push(...this.basePaths);
310
+
311
+ for (const basePath of searchPaths) {
312
+ const candidates = glob.sync(`${basePath}/**/${toolName}.yaml`);
313
+ if (candidates.length > 0) {
314
+ return true;
315
+ }
316
+ }
317
+ return false;
318
+ }
319
+
320
+ /**
321
+ * Set custom search paths (useful for testing)
322
+ *
323
+ * @param {string[]} paths - Array of search paths
324
+ */
325
+ setSearchPaths(paths) {
326
+ this.basePaths = paths;
327
+ }
328
+
329
+ /**
330
+ * Reset search paths to default
331
+ */
332
+ resetSearchPaths() {
333
+ this.basePaths = [
334
+ 'aios-core/tools',
335
+ 'common/tools',
336
+ ];
337
+ }
338
+ }
339
+
340
+ // Export singleton instance
341
+ const toolResolverInstance = new ToolResolver();
342
+
343
+ // Save reference to instance method BEFORE it gets overwritten by the export
344
+ const yamlBasedResolveTool = toolResolverInstance.resolveTool.bind(toolResolverInstance);
345
+
346
+ /**
347
+ * Simple tool resolution function - delegates to YAML-based tool resolution
348
+ * All tools (including MCP tools like clickup and github) are loaded from YAML definitions
349
+ *
350
+ * @param {string} toolName - Name of the tool (e.g., 'clickup', 'github')
351
+ * @param {object} context - Resolution context (optional, includes expansionPack)
352
+ * @returns {object} Tool definition from YAML file
353
+ */
354
+ async function resolveTool(toolName, context = {}) {
355
+ // All tools go through YAML-based resolution
356
+ return await yamlBasedResolveTool(toolName, context);
357
+ }
358
+
359
+ module.exports = toolResolverInstance;
360
+ module.exports.resolveTool = resolveTool;