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,736 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * AIOS-FullStack Installation Wizard v5
5
+ * Based on the original beautiful visual design with ASCII art
6
+ * Version: 2.1.0
7
+ *
8
+ * Supported IDEs (8 total):
9
+ * - Claude Code, Cursor, Windsurf, Trae, Roo Code, Cline, Gemini CLI, GitHub Copilot
10
+ */
11
+
12
+ const path = require('path');
13
+ const fs = require('fs');
14
+ const fse = require('fs-extra');
15
+ const yaml = require('yaml');
16
+ const { execSync } = require('child_process');
17
+ const inquirer = require('inquirer');
18
+ const chalk = require('chalk');
19
+
20
+ // ASCII Art Banner (Clean blocky style like reference image)
21
+ const BANNER = chalk.cyan(`
22
+ █████╗ ██╗ ██████╗ ███████╗ ███████╗██╗ ██╗██╗ ██╗ ███████╗████████╗ █████╗ ██████╗██╗ ██╗
23
+ ██╔══██╗██║██╔═══██╗██╔════╝ ██╔════╝██║ ██║██║ ██║ ██╔════╝╚══██╔══╝██╔══██╗██╔════╝██║ ██╔╝
24
+ ███████║██║██║ ██║███████╗█████╗█████╗ ██║ ██║██║ ██║ ███████╗ ██║ ███████║██║ █████╔╝
25
+ ██╔══██║██║██║ ██║╚════██║╚════╝██╔══╝ ██║ ██║██║ ██║ ╚════██║ ██║ ██╔══██║██║ ██╔═██╗
26
+ ██║ ██║██║╚██████╔╝███████║ ██║ ╚██████╔╝███████╗███████╗███████║ ██║ ██║ ██║╚██████╗██║ ██╗
27
+ ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═════╝ ╚══════╝╚══════╝╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
28
+ `);
29
+
30
+ const SUBTITLE = chalk.magenta('🚀 Universal AI Agent Framework for Any Domain');
31
+ // Read version from package.json dynamically
32
+ const packageJsonVersion = require(path.join(__dirname, '..', 'package.json')).version;
33
+ const VERSION = chalk.yellow(`✨ Installer v${packageJsonVersion}`);
34
+
35
+ /**
36
+ * Smart path resolution for AIOS Core modules
37
+ */
38
+ function resolveAiosCoreModule(modulePath) {
39
+ const aiosCoreModule = path.join(__dirname, '..', '.aios-core', modulePath);
40
+
41
+ const moduleExists = fs.existsSync(aiosCoreModule + '.js') ||
42
+ fs.existsSync(aiosCoreModule + '/index.js') ||
43
+ fs.existsSync(aiosCoreModule);
44
+
45
+ if (!moduleExists) {
46
+ throw new Error(
47
+ `Cannot find AIOS Core module: ${modulePath}\n` +
48
+ `Searched: ${aiosCoreModule}\n` +
49
+ 'Please ensure aios-fullstack is installed correctly.',
50
+ );
51
+ }
52
+
53
+ return require(aiosCoreModule);
54
+ }
55
+
56
+ // Load AIOS Core modules
57
+ const { detectRepositoryContext } = resolveAiosCoreModule('scripts/repository-detector');
58
+ // PM adapters imported but not used directly (loaded dynamically)
59
+ // const { ClickUpAdapter } = resolveAiosCoreModule('utils/pm-adapters/clickup-adapter');
60
+ // const { GitHubProjectsAdapter } = resolveAiosCoreModule('utils/pm-adapters/github-adapter');
61
+ // const { JiraAdapter } = resolveAiosCoreModule('utils/pm-adapters/jira-adapter');
62
+
63
+ async function main() {
64
+ console.clear();
65
+
66
+ // Check for minimal mode flag
67
+ const isMinimalMode = process.argv.includes('--minimal');
68
+
69
+ // Display beautiful banner
70
+ console.log(BANNER);
71
+ console.log(SUBTITLE);
72
+ console.log(VERSION);
73
+ if (isMinimalMode) {
74
+ console.log(chalk.yellow(' 🔹 Minimal Installation Mode'));
75
+ }
76
+ console.log('');
77
+ console.log(chalk.gray('═'.repeat(80)));
78
+ console.log('');
79
+
80
+ const projectRoot = process.cwd();
81
+ let context = detectRepositoryContext();
82
+
83
+ // Setup prerequisites if needed
84
+ if (!context) {
85
+ console.log(chalk.blue('⚙️ Setting up project prerequisites...\n'));
86
+
87
+ // Check for git repository
88
+ let hasGit = false;
89
+ try {
90
+ execSync('git rev-parse --git-dir', { cwd: projectRoot, stdio: 'ignore' });
91
+ hasGit = true;
92
+ } catch (_err) {
93
+ // Not a git repo
94
+ }
95
+
96
+ if (!hasGit) {
97
+ try {
98
+ execSync('git init', { cwd: projectRoot, stdio: 'ignore' });
99
+ console.log(chalk.green('✓') + ' Git repository initialized');
100
+ } catch (_err) {
101
+ console.error(chalk.red('✗') + ' Failed to initialize git repository');
102
+ process.exit(1);
103
+ }
104
+ }
105
+
106
+ // Check for package.json
107
+ const packageJsonPath = path.join(projectRoot, 'package.json');
108
+ if (!fs.existsSync(packageJsonPath)) {
109
+ const dirName = path.basename(projectRoot);
110
+ const defaultPackage = {
111
+ name: dirName.toLowerCase().replace(/\s+/g, '-'),
112
+ version: '1.0.0',
113
+ description: 'AIOS-FullStack project',
114
+ main: 'index.js',
115
+ scripts: { test: 'echo "Error: no test specified" && exit 1' },
116
+ keywords: [],
117
+ author: '',
118
+ license: 'ISC',
119
+ };
120
+ fs.writeFileSync(packageJsonPath, JSON.stringify(defaultPackage, null, 2));
121
+ console.log(chalk.green('✓') + ' package.json created');
122
+ }
123
+
124
+ console.log(chalk.green('✓') + ' Prerequisites ready\n');
125
+
126
+ // Try to detect context again
127
+ context = detectRepositoryContext();
128
+
129
+ // If still no context, create minimal one
130
+ if (!context) {
131
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
132
+ context = {
133
+ projectRoot,
134
+ packageName: packageJson.name,
135
+ packageVersion: packageJson.version,
136
+ repositoryUrl: 'local-repository',
137
+ frameworkLocation: path.join(__dirname, '..'),
138
+ };
139
+ }
140
+ }
141
+
142
+ console.log(chalk.cyan('📦 Package:') + ` ${context.packageName}`);
143
+ console.log('');
144
+
145
+ // Step 1: Installation Mode
146
+ console.log(chalk.gray('─'.repeat(80)));
147
+ const { installMode } = await inquirer.prompt([
148
+ {
149
+ type: 'list',
150
+ name: 'installMode',
151
+ message: chalk.white('How are you using AIOS-FullStack?'),
152
+ choices: [
153
+ {
154
+ name: ' Using AIOS in a project ' + chalk.gray('(Framework files added to .gitignore)'),
155
+ value: 'project-development',
156
+ },
157
+ {
158
+ name: ' Developing AIOS framework itself ' + chalk.gray('(Framework files are source code)'),
159
+ value: 'framework-development',
160
+ },
161
+ ],
162
+ },
163
+ ]);
164
+
165
+ // Save installation config
166
+ const config = {
167
+ installation: {
168
+ mode: installMode,
169
+ detected_at: new Date().toISOString(),
170
+ },
171
+ repository: {
172
+ url: context.repositoryUrl,
173
+ auto_detect: true,
174
+ },
175
+ framework: {
176
+ source: installMode === 'framework-development' ? 'local' : 'npm',
177
+ version: context.packageVersion,
178
+ location: context.frameworkLocation,
179
+ },
180
+ git_ignore_rules: {
181
+ mode: installMode,
182
+ ignore_framework_files: installMode === 'project-development',
183
+ },
184
+ };
185
+
186
+ const configPath = path.join(context.projectRoot, '.aios-installation-config.yaml');
187
+ fs.writeFileSync(configPath, yaml.stringify(config));
188
+
189
+ // Update .gitignore
190
+ updateGitIgnore(installMode, context.projectRoot);
191
+
192
+ // Step 2: PM Tool
193
+ console.log('');
194
+ const { pmTool } = await inquirer.prompt([
195
+ {
196
+ type: 'list',
197
+ name: 'pmTool',
198
+ message: chalk.white('Do you use a project management tool?'),
199
+ choices: [
200
+ { name: ' None (local YAML files only) ' + chalk.gray('- Recommended'), value: 'local' },
201
+ { name: ' ClickUp ' + chalk.gray('- Requires API token'), value: 'clickup' },
202
+ { name: ' GitHub Projects ' + chalk.gray('- Uses gh auth'), value: 'github-projects' },
203
+ { name: ' Jira ' + chalk.gray('- Requires API token'), value: 'jira' },
204
+ ],
205
+ },
206
+ ]);
207
+
208
+ // Save PM config
209
+ savePMConfig(pmTool, {}, context.projectRoot);
210
+
211
+ // Step 3: IDE Selection (CHECKBOX with instructions)
212
+ console.log('');
213
+ console.log(chalk.gray('─'.repeat(80)));
214
+ console.log(chalk.dim(' Press <space> to select, <a> to toggle all, <i> to invert selection, and <enter> to proceed'));
215
+ console.log('');
216
+
217
+ const { ides } = await inquirer.prompt([
218
+ {
219
+ type: 'checkbox',
220
+ name: 'ides',
221
+ message: chalk.white('Which IDE(s) will you use?'),
222
+ choices: [
223
+ { name: ' Claude Code ' + chalk.blue('(v2.1)') + chalk.gray(' - Recommended'), value: 'claude', checked: true },
224
+ { name: ' Cursor ' + chalk.blue('(v2.1)'), value: 'cursor' },
225
+ { name: ' Windsurf ' + chalk.blue('(v2.1)'), value: 'windsurf' },
226
+ { name: ' Trae ' + chalk.blue('(v2.1)'), value: 'trae' },
227
+ { name: ' Roo Code ' + chalk.blue('(v2.1)'), value: 'roo' },
228
+ { name: ' Cline ' + chalk.blue('(v2.1)'), value: 'cline' },
229
+ { name: ' Gemini CLI ' + chalk.blue('(v2.1)'), value: 'gemini' },
230
+ { name: ' GitHub Copilot ' + chalk.blue('(v2.1)'), value: 'github-copilot' },
231
+ { name: ' AntiGravity ' + chalk.blue('(v2.1)') + chalk.gray(' - Google AI IDE'), value: 'antigravity' },
232
+ new inquirer.Separator(chalk.gray('─'.repeat(40))),
233
+ { name: ' Skip IDE setup', value: 'none' },
234
+ ],
235
+ validate: function(answer) {
236
+ if (answer.length < 1) {
237
+ return 'You must choose at least one option.';
238
+ }
239
+ return true;
240
+ },
241
+ },
242
+ ]);
243
+
244
+ // Step 4: Copy AIOS Core files
245
+ console.log('');
246
+ console.log(chalk.blue('📦 Installing AIOS Core files...'));
247
+
248
+ const sourceCoreDir = path.join(context.frameworkLocation, '.aios-core');
249
+ const targetCoreDir = path.join(context.projectRoot, '.aios-core');
250
+
251
+ if (fs.existsSync(sourceCoreDir)) {
252
+ await fse.copy(sourceCoreDir, targetCoreDir);
253
+ console.log(chalk.green('✓') + ' AIOS Core files installed ' + chalk.gray('(11 agents, 68 tasks, 23 templates)'));
254
+ } else {
255
+ console.error(chalk.red('✗') + ' AIOS Core files not found');
256
+ process.exit(1);
257
+ }
258
+
259
+ // Copy IDE rules and commands if IDE was selected
260
+ if (!ides.includes('none')) {
261
+ console.log('');
262
+ console.log(chalk.blue('📝 Installing IDE configurations...'));
263
+
264
+ const ideRulesMap = {
265
+ 'claude': { source: 'claude-rules.md', target: '.claude/CLAUDE.md' },
266
+ 'cursor': { source: 'cursor-rules.md', target: '.cursor/rules.md' },
267
+ 'windsurf': { source: 'windsurf-rules.md', target: '.windsurf/rules.md' },
268
+ 'trae': { source: 'trae-rules.md', target: '.trae/rules.md' },
269
+ 'roo': { source: 'roo-rules.md', target: '.roomodes' },
270
+ 'cline': { source: 'cline-rules.md', target: '.cline/rules.md' },
271
+ 'gemini': { source: 'gemini-rules.md', target: '.gemini/rules.md' },
272
+ 'github-copilot': { source: 'copilot-rules.md', target: '.github/chatmodes/aios-agent.md' },
273
+ 'antigravity': { source: 'antigravity-rules.md', target: '.antigravity/rules.md' },
274
+ };
275
+
276
+ // Step 1: Copy basic IDE rules files
277
+ for (const ide of ides) {
278
+ if (ide !== 'none' && ideRulesMap[ide]) {
279
+ const ideConfig = ideRulesMap[ide];
280
+ const sourceRules = path.join(targetCoreDir, 'templates', 'ide-rules', ideConfig.source);
281
+ const targetRules = path.join(context.projectRoot, ideConfig.target);
282
+
283
+ if (fs.existsSync(sourceRules)) {
284
+ await fse.ensureDir(path.dirname(targetRules));
285
+ await fse.copy(sourceRules, targetRules);
286
+ console.log(chalk.green('✓') + ` ${ide.charAt(0).toUpperCase() + ide.slice(1)} base rules installed`);
287
+ }
288
+ }
289
+ }
290
+
291
+ // Step 2: Install AIOS CORE agents and tasks for Claude Code
292
+ if (ides.includes('claude')) {
293
+ const coreAgentsSource = path.join(targetCoreDir, 'agents');
294
+ const coreAgentsTarget = path.join(context.projectRoot, '.claude', 'commands', 'AIOS', 'agents');
295
+
296
+ const coreTasksSource = path.join(targetCoreDir, 'tasks');
297
+ const coreTasksTarget = path.join(context.projectRoot, '.claude', 'commands', 'AIOS', 'tasks');
298
+
299
+ if (fs.existsSync(coreAgentsSource)) {
300
+ await fse.copy(coreAgentsSource, coreAgentsTarget);
301
+ const agentCount = fs.readdirSync(coreAgentsSource).filter(f => f.endsWith('.md')).length;
302
+ console.log(chalk.green('✓') + ` Claude Code CORE agents installed (${agentCount} agents)`);
303
+ }
304
+
305
+ if (fs.existsSync(coreTasksSource)) {
306
+ await fse.copy(coreTasksSource, coreTasksTarget);
307
+ const taskCount = fs.readdirSync(coreTasksSource).filter(f => f.endsWith('.md')).length;
308
+ console.log(chalk.green('✓') + ` Claude Code CORE tasks installed (${taskCount} tasks)`);
309
+ }
310
+
311
+ // Create AIOS README for Claude Code
312
+ const aiossReadme = path.join(context.projectRoot, '.claude', 'commands', 'AIOS', 'README.md');
313
+ await fse.ensureDir(path.dirname(aiossReadme));
314
+ await fse.writeFile(aiossReadme, `# AIOS Core Commands
315
+
316
+ This directory contains the core AIOS-FullStack agents and tasks.
317
+
318
+ ## Usage
319
+ - Agents: Use slash commands like /dev, /architect, /qa, /pm, etc.
320
+ - Tasks: Reference tasks in agent workflows
321
+
322
+ ## Documentation
323
+ See .aios-core/user-guide.md for complete documentation.
324
+ `);
325
+ }
326
+
327
+ // Step 3: Install AIOS CORE agents for Cursor
328
+ if (ides.includes('cursor')) {
329
+ const coreAgentsSource = path.join(targetCoreDir, 'agents');
330
+ const cursorRulesTarget = path.join(context.projectRoot, '.cursor', 'rules', 'AIOS', 'agents');
331
+
332
+ if (fs.existsSync(coreAgentsSource)) {
333
+ await fse.ensureDir(cursorRulesTarget);
334
+
335
+ // Convert .md files to .mdc for Cursor
336
+ const agentFiles = fs.readdirSync(coreAgentsSource).filter(f => f.endsWith('.md'));
337
+ for (const agentFile of agentFiles) {
338
+ const sourcePath = path.join(coreAgentsSource, agentFile);
339
+ const targetFileName = agentFile.replace('.md', '.mdc');
340
+ const targetPath = path.join(cursorRulesTarget, targetFileName);
341
+ await fse.copy(sourcePath, targetPath);
342
+ }
343
+
344
+ console.log(chalk.green('✓') + ` Cursor CORE rules installed (${agentFiles.length} agents)`);
345
+ }
346
+
347
+ // Create AIOS README for Cursor
348
+ const cursorReadme = path.join(context.projectRoot, '.cursor', 'rules', 'AIOS', 'README.md');
349
+ await fse.ensureDir(path.dirname(cursorReadme));
350
+ await fse.writeFile(cursorReadme, `# AIOS Core Rules
351
+
352
+ This directory contains the core AIOS-FullStack agent rules for Cursor.
353
+
354
+ ## Usage
355
+ These rules are automatically loaded by Cursor to provide agent-specific context.
356
+
357
+ ## Documentation
358
+ See .aios-core/user-guide.md for complete documentation.
359
+ `);
360
+ }
361
+
362
+ // Step 4: Install AIOS CORE agents for other IDEs (Trae, Cline, Gemini, AntiGravity)
363
+ const otherIdeInstalls = ['trae', 'cline', 'gemini', 'antigravity'];
364
+ for (const ide of otherIdeInstalls) {
365
+ if (ides.includes(ide)) {
366
+ const coreAgentsSource = path.join(targetCoreDir, 'agents');
367
+ const ideRulesDir = ide === 'gemini' ? '.gemini' : `.${ide}`;
368
+ const ideRulesTarget = path.join(context.projectRoot, ideRulesDir, 'rules', 'AIOS', 'agents');
369
+
370
+ if (fs.existsSync(coreAgentsSource)) {
371
+ await fse.ensureDir(ideRulesTarget);
372
+
373
+ // Copy agent files
374
+ const agentFiles = fs.readdirSync(coreAgentsSource).filter(f => f.endsWith('.md'));
375
+ for (const agentFile of agentFiles) {
376
+ const sourcePath = path.join(coreAgentsSource, agentFile);
377
+ const targetPath = path.join(ideRulesTarget, agentFile);
378
+ await fse.copy(sourcePath, targetPath);
379
+ }
380
+
381
+ const ideName = ide.charAt(0).toUpperCase() + ide.slice(1);
382
+ console.log(chalk.green('✓') + ` ${ideName} CORE agents installed (${agentFiles.length} agents)`);
383
+ }
384
+ }
385
+ }
386
+
387
+ // Step 5: Install Roo Code modes
388
+ if (ides.includes('roo')) {
389
+ const coreAgentsSource = path.join(targetCoreDir, 'agents');
390
+ const rooModesPath = path.join(context.projectRoot, '.roomodes');
391
+
392
+ if (fs.existsSync(coreAgentsSource)) {
393
+ const agentFiles = fs.readdirSync(coreAgentsSource).filter(f => f.endsWith('.md'));
394
+
395
+ // Create .roomodes JSON file
396
+ const roomodes = {
397
+ customModes: agentFiles.map(f => {
398
+ const agentName = f.replace('.md', '');
399
+ return {
400
+ slug: `bmad-${agentName}`,
401
+ name: `AIOS ${agentName.charAt(0).toUpperCase() + agentName.slice(1)}`,
402
+ roleDefinition: `AIOS-FullStack ${agentName} agent - see .aios-core/agents/${f}`,
403
+ groups: ['aios'],
404
+ source: 'project',
405
+ };
406
+ }),
407
+ };
408
+
409
+ await fse.writeFile(rooModesPath, JSON.stringify(roomodes, null, 2));
410
+ console.log(chalk.green('✓') + ` Roo Code modes installed (${agentFiles.length} modes)`);
411
+ }
412
+ }
413
+
414
+ // Step 6: Install GitHub Copilot chat modes
415
+ if (ides.includes('github-copilot')) {
416
+ const coreAgentsSource = path.join(targetCoreDir, 'agents');
417
+ const copilotModesDir = path.join(context.projectRoot, '.github', 'chatmodes');
418
+
419
+ if (fs.existsSync(coreAgentsSource)) {
420
+ await fse.ensureDir(copilotModesDir);
421
+
422
+ const agentFiles = fs.readdirSync(coreAgentsSource).filter(f => f.endsWith('.md'));
423
+ for (const agentFile of agentFiles) {
424
+ const sourcePath = path.join(coreAgentsSource, agentFile);
425
+ const agentName = agentFile.replace('.md', '');
426
+ const targetPath = path.join(copilotModesDir, `aios-${agentName}.md`);
427
+ await fse.copy(sourcePath, targetPath);
428
+ }
429
+
430
+ console.log(chalk.green('✓') + ` GitHub Copilot chat modes installed (${agentFiles.length} modes)`);
431
+ }
432
+ }
433
+ }
434
+
435
+ // Step 7: Expansion Packs (CHECKBOX with visual)
436
+ // Try multiple locations for expansion-packs (npm package vs local development vs npx)
437
+ // __dirname is the 'bin/' directory of the package, so '..' gives us the package root
438
+ const packageRoot = path.resolve(__dirname, '..');
439
+
440
+ const possibleExpansionDirs = [
441
+ // Primary: relative to this script (works for npx and local)
442
+ path.join(packageRoot, 'expansion-packs'),
443
+ // Secondary: context-based framework location
444
+ path.join(context.frameworkLocation, 'expansion-packs'),
445
+ // Tertiary: installed in project's node_modules
446
+ path.join(context.projectRoot, 'node_modules', 'aios-fullstack', 'expansion-packs'),
447
+ path.join(context.projectRoot, 'node_modules', '@aios', 'fullstack', 'expansion-packs'),
448
+ ];
449
+
450
+ let sourceExpansionDir = null;
451
+ for (const dir of possibleExpansionDirs) {
452
+ if (fs.existsSync(dir)) {
453
+ sourceExpansionDir = dir;
454
+ break;
455
+ }
456
+ }
457
+
458
+ const availablePacks = [];
459
+ let expansionPacks = []; // Declare here to be accessible in summary
460
+
461
+ if (sourceExpansionDir && fs.existsSync(sourceExpansionDir)) {
462
+ let packs = fs.readdirSync(sourceExpansionDir).filter(f =>
463
+ fs.statSync(path.join(sourceExpansionDir, f)).isDirectory(),
464
+ );
465
+
466
+ // Filter for minimal mode - only show expansion-creator
467
+ if (isMinimalMode) {
468
+ packs = packs.filter(pack => pack === 'expansion-creator');
469
+ }
470
+
471
+ availablePacks.push(...packs);
472
+ }
473
+
474
+ if (availablePacks.length > 0) {
475
+ console.log('');
476
+ console.log(chalk.gray('─'.repeat(80)));
477
+ console.log(chalk.dim(' Press <space> to select, <a> to toggle all, <i> to invert selection, and <enter> to proceed'));
478
+ console.log('');
479
+
480
+ const result = await inquirer.prompt([
481
+ {
482
+ type: 'checkbox',
483
+ name: 'expansionPacks',
484
+ message: chalk.white('Select expansion packs to install (optional)'),
485
+ choices: availablePacks.map(pack => ({
486
+ name: ' ' + pack,
487
+ value: pack,
488
+ })),
489
+ },
490
+ ]);
491
+
492
+ expansionPacks = result.expansionPacks; // Assign to outer scope variable
493
+
494
+ if (expansionPacks.length > 0) {
495
+ console.log('');
496
+ console.log(chalk.blue('📦 Installing expansion packs...'));
497
+
498
+ const targetExpansionDir = path.join(context.projectRoot, 'expansion-packs');
499
+
500
+ for (const pack of expansionPacks) {
501
+ const sourcePack = path.join(sourceExpansionDir, pack);
502
+ const targetPack = path.join(targetExpansionDir, pack);
503
+ await fse.copy(sourcePack, targetPack);
504
+ console.log(chalk.green('✓') + ` Expansion pack installed: ${pack}`);
505
+
506
+ // Install expansion pack agents/tasks for Claude Code
507
+ if (ides.includes('claude')) {
508
+ const packAgentsSource = path.join(targetPack, 'agents');
509
+ const packTasksSource = path.join(targetPack, 'tasks');
510
+ const packReadmeSource = path.join(targetPack, 'README.md');
511
+
512
+ const packClaudeTarget = path.join(context.projectRoot, '.claude', 'commands', pack);
513
+
514
+ // Copy agents
515
+ if (fs.existsSync(packAgentsSource)) {
516
+ const packAgentsTarget = path.join(packClaudeTarget, 'agents');
517
+ await fse.copy(packAgentsSource, packAgentsTarget);
518
+ const agentCount = fs.readdirSync(packAgentsSource).filter(f => f.endsWith('.md')).length;
519
+ console.log(chalk.green(' ✓') + ` Claude Code ${pack} agents (${agentCount} agents)`);
520
+ }
521
+
522
+ // Copy tasks
523
+ if (fs.existsSync(packTasksSource)) {
524
+ const packTasksTarget = path.join(packClaudeTarget, 'tasks');
525
+ await fse.copy(packTasksSource, packTasksTarget);
526
+ const taskCount = fs.readdirSync(packTasksSource).filter(f => f.endsWith('.md')).length;
527
+ console.log(chalk.green(' ✓') + ` Claude Code ${pack} tasks (${taskCount} tasks)`);
528
+ }
529
+
530
+ // Copy README
531
+ if (fs.existsSync(packReadmeSource)) {
532
+ await fse.copy(packReadmeSource, path.join(packClaudeTarget, 'README.md'));
533
+ }
534
+ }
535
+
536
+ // Install expansion pack agents for Cursor
537
+ if (ides.includes('cursor')) {
538
+ const packAgentsSource = path.join(targetPack, 'agents');
539
+ const packReadmeSource = path.join(targetPack, 'README.md');
540
+
541
+ if (fs.existsSync(packAgentsSource)) {
542
+ const cursorPackTarget = path.join(context.projectRoot, '.cursor', 'rules', pack, 'agents');
543
+ await fse.ensureDir(cursorPackTarget);
544
+
545
+ // Convert .md files to .mdc for Cursor
546
+ const agentFiles = fs.readdirSync(packAgentsSource).filter(f => f.endsWith('.md'));
547
+ for (const agentFile of agentFiles) {
548
+ const sourcePath = path.join(packAgentsSource, agentFile);
549
+ const targetFileName = agentFile.replace('.md', '.mdc');
550
+ const targetPath = path.join(cursorPackTarget, targetFileName);
551
+ await fse.copy(sourcePath, targetPath);
552
+ }
553
+
554
+ console.log(chalk.green(' ✓') + ` Cursor ${pack} rules (${agentFiles.length} agents)`);
555
+
556
+ // Copy README for Cursor
557
+ if (fs.existsSync(packReadmeSource)) {
558
+ await fse.copy(packReadmeSource, path.join(context.projectRoot, '.cursor', 'rules', pack, 'README.md'));
559
+ }
560
+ }
561
+ }
562
+ }
563
+ }
564
+ }
565
+
566
+ // Summary
567
+ console.log('');
568
+ console.log(chalk.gray('═'.repeat(80)));
569
+ console.log('');
570
+ console.log(chalk.green.bold('✓ AIOS-FullStack installation complete! 🎉'));
571
+ console.log('');
572
+ console.log(chalk.cyan('📋 Configuration Summary:'));
573
+ console.log(' ' + chalk.dim('Mode: ') + installMode);
574
+ console.log(' ' + chalk.dim('Version: ') + packageJsonVersion);
575
+ console.log(' ' + chalk.dim('Repository: ') + context.repositoryUrl);
576
+ console.log(' ' + chalk.dim('IDE(s): ') + (ides.includes('none') ? 'none' : ides.join(', ')));
577
+ console.log(' ' + chalk.dim('PM Tool: ') + pmTool);
578
+
579
+ if (availablePacks.length > 0 && expansionPacks && expansionPacks.length > 0) {
580
+ console.log(' ' + chalk.dim('Expansion Packs:') + ' ' + expansionPacks.join(', '));
581
+ }
582
+
583
+ console.log('');
584
+ console.log(chalk.cyan('📁 Installed Structure:'));
585
+ console.log(' ' + chalk.dim('.aios-core/') + ' - Framework core files');
586
+
587
+ if (ides.includes('claude')) {
588
+ console.log(' ' + chalk.dim('.claude/'));
589
+ console.log(' ' + chalk.dim('├─ CLAUDE.md') + ' - Main configuration');
590
+ console.log(' ' + chalk.dim('└─ commands/'));
591
+ console.log(' ' + chalk.dim(' ├─ AIOS/') + ' - Core agents & tasks');
592
+ if (expansionPacks && expansionPacks.length > 0) {
593
+ expansionPacks.forEach(pack => {
594
+ console.log(' ' + chalk.dim(` └─ ${pack}/`) + ' - Expansion pack commands');
595
+ });
596
+ }
597
+ }
598
+
599
+ if (ides.includes('cursor')) {
600
+ console.log(' ' + chalk.dim('.cursor/'));
601
+ console.log(' ' + chalk.dim('├─ rules.md') + ' - Main configuration');
602
+ console.log(' ' + chalk.dim('└─ rules/'));
603
+ console.log(' ' + chalk.dim(' ├─ AIOS/') + ' - Core agent rules');
604
+ if (expansionPacks && expansionPacks.length > 0) {
605
+ expansionPacks.forEach(pack => {
606
+ console.log(' ' + chalk.dim(` └─ ${pack}/`) + ' - Expansion pack rules');
607
+ });
608
+ }
609
+ }
610
+
611
+ // Show other IDE installations
612
+ const otherInstalledIdes = ['windsurf', 'trae', 'cline', 'gemini', 'antigravity'].filter(ide => ides.includes(ide));
613
+ for (const ide of otherInstalledIdes) {
614
+ const ideDir = ide === 'gemini' ? '.gemini' : `.${ide}`;
615
+ console.log(' ' + chalk.dim(`${ideDir}/`) + ' - ' + ide.charAt(0).toUpperCase() + ide.slice(1) + ' configuration');
616
+ }
617
+
618
+ if (ides.includes('roo')) {
619
+ console.log(' ' + chalk.dim('.roomodes') + ' - Roo Code mode definitions');
620
+ }
621
+
622
+ if (ides.includes('github-copilot')) {
623
+ console.log(' ' + chalk.dim('.github/chatmodes/') + ' - GitHub Copilot agent modes');
624
+ }
625
+
626
+ console.log('');
627
+ console.log(chalk.cyan('📚 Next steps:'));
628
+
629
+ if (ides.includes('claude')) {
630
+ console.log(' ' + chalk.yellow('Claude Code:'));
631
+ console.log(' • Use slash commands: /dev, /architect, /qa, /pm, /github-devops');
632
+ console.log(' • Browse: .claude/commands/AIOS/agents/ for all available agents');
633
+ }
634
+
635
+ if (ides.includes('cursor')) {
636
+ console.log(' ' + chalk.yellow('Cursor:'));
637
+ console.log(' • Agent rules auto-loaded from .cursor/rules/');
638
+ console.log(' • Use @agent-name to activate agents in chat');
639
+ }
640
+
641
+ if (ides.includes('windsurf') || ides.includes('trae') || ides.includes('cline')) {
642
+ console.log(' ' + chalk.yellow('Windsurf/Trae/Cline:'));
643
+ console.log(' • Use @agent-name to activate agents in chat');
644
+ }
645
+
646
+ if (ides.includes('roo')) {
647
+ console.log(' ' + chalk.yellow('Roo Code:'));
648
+ console.log(' • Select agent mode from status bar mode selector');
649
+ }
650
+
651
+ if (ides.includes('gemini')) {
652
+ console.log(' ' + chalk.yellow('Gemini CLI:'));
653
+ console.log(' • Include agent context in your prompts');
654
+ }
655
+
656
+ if (ides.includes('github-copilot')) {
657
+ console.log(' ' + chalk.yellow('GitHub Copilot:'));
658
+ console.log(' • Open Chat view and select Agent mode');
659
+ console.log(' • Requires VS Code 1.101+ with chat.agent.enabled: true');
660
+ }
661
+
662
+ if (ides.includes('antigravity')) {
663
+ console.log(' ' + chalk.yellow('AntiGravity:'));
664
+ console.log(' • Use Workspace Rules to activate agents');
665
+ console.log(' • Browse: .antigravity/rules/AIOS/agents/ for all available agents');
666
+ }
667
+
668
+ console.log(' ' + chalk.yellow('General:'));
669
+ console.log(' • Run ' + chalk.yellow('"aios-fullstack doctor"') + ' to verify installation');
670
+ console.log(' • Check .aios-core/user-guide.md for complete documentation');
671
+ console.log(' • Explore expansion-packs/ for additional capabilities');
672
+ console.log('');
673
+ console.log(chalk.gray('═'.repeat(80)));
674
+ console.log('');
675
+ }
676
+
677
+ /**
678
+ * Updates .gitignore file based on installation mode
679
+ */
680
+ function updateGitIgnore(mode, projectRoot) {
681
+ const gitignorePath = path.join(projectRoot, '.gitignore');
682
+
683
+ let gitignore = '';
684
+ if (fs.existsSync(gitignorePath)) {
685
+ gitignore = fs.readFileSync(gitignorePath, 'utf8');
686
+ }
687
+
688
+ if (mode === 'project-development') {
689
+ const frameworkRules = [
690
+ '',
691
+ '# AIOS-FullStack Framework Files (auto-managed - do not edit)',
692
+ '.aios-core/',
693
+ 'node_modules/@aios/',
694
+ 'outputs/minds/',
695
+ '.aios-installation-config.yaml',
696
+ '# End AIOS-FullStack auto-managed section',
697
+ '',
698
+ ];
699
+
700
+ const hasFrameworkSection = gitignore.includes('# AIOS-FullStack Framework Files');
701
+
702
+ if (!hasFrameworkSection) {
703
+ gitignore += frameworkRules.join('\n');
704
+ fs.writeFileSync(gitignorePath, gitignore);
705
+ }
706
+ }
707
+ }
708
+
709
+ /**
710
+ * Save PM configuration
711
+ */
712
+ function savePMConfig(pmTool, config, projectRoot) {
713
+ const pmConfigData = {
714
+ pm_tool: {
715
+ type: pmTool,
716
+ configured_at: new Date().toISOString(),
717
+ config: config,
718
+ },
719
+ sync_behavior: {
720
+ auto_sync_on_status_change: true,
721
+ create_tasks_on_story_creation: false,
722
+ bidirectional_sync: false,
723
+ },
724
+ };
725
+
726
+ const configPath = path.join(projectRoot, '.aios-pm-config.yaml');
727
+ fs.writeFileSync(configPath, yaml.stringify(pmConfigData));
728
+ }
729
+
730
+ // Run installer with error handling
731
+ main().catch((error) => {
732
+ console.error('');
733
+ console.error(chalk.red('✗ Installation failed: ') + error.message);
734
+ console.error('');
735
+ process.exit(1);
736
+ });