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,127 @@
1
+ /**
2
+ * .env Template Generator
3
+ * Story 1.6: Environment Configuration
4
+ *
5
+ * Generates .env file with secure defaults and helpful comments
6
+ *
7
+ * @module env-template
8
+ */
9
+
10
+ /**
11
+ * Generate .env file content
12
+ *
13
+ * @param {Object} apiKeys - API keys provided by user
14
+ * @param {string} [apiKeys.openai] - OpenAI API key (optional)
15
+ * @param {string} [apiKeys.anthropic] - Anthropic API key (optional)
16
+ * @param {string} [apiKeys.clickup] - ClickUp API key (optional)
17
+ * @param {string} [apiKeys.github] - GitHub token (optional)
18
+ * @param {string} [apiKeys.exa] - Exa API key (optional)
19
+ * @returns {string} .env file content
20
+ */
21
+ function generateEnvContent(apiKeys = {}) {
22
+ const content = `# AIOS Environment Configuration
23
+ # Generated by AIOS Installer
24
+ # DO NOT commit this file - it contains sensitive credentials
25
+
26
+ # ============================================================================
27
+ # AIOS Core Configuration
28
+ # ============================================================================
29
+ NODE_ENV=development
30
+ AIOS_VERSION=2.1.0
31
+
32
+ # ============================================================================
33
+ # AI Providers (at least one recommended)
34
+ # ============================================================================
35
+ # OpenAI API Key - Get yours at: https://platform.openai.com/api-keys
36
+ OPENAI_API_KEY=${apiKeys.openai || ''}
37
+
38
+ # Anthropic API Key - Get yours at: https://console.anthropic.com/
39
+ ANTHROPIC_API_KEY=${apiKeys.anthropic || ''}
40
+
41
+ # ============================================================================
42
+ # Optional Services
43
+ # ============================================================================
44
+ # ClickUp API Key - For task management integration
45
+ # Get yours at: https://app.clickup.com/settings/apps
46
+ CLICKUP_API_KEY=${apiKeys.clickup || ''}
47
+
48
+ # GitHub Personal Access Token - For GitHub integration
49
+ # Create at: https://github.com/settings/tokens
50
+ GITHUB_TOKEN=${apiKeys.github || ''}
51
+
52
+ # Exa API Key - For web search capabilities
53
+ # Get yours at: https://exa.ai/
54
+ EXA_API_KEY=${apiKeys.exa || ''}
55
+
56
+ # ============================================================================
57
+ # Database Configuration (if applicable)
58
+ # ============================================================================
59
+ # DATABASE_URL=postgresql://user:password@localhost:5432/dbname
60
+
61
+ # ============================================================================
62
+ # Custom Configuration
63
+ # ============================================================================
64
+ # Add your custom environment variables below
65
+ `;
66
+
67
+ return content;
68
+ }
69
+
70
+ /**
71
+ * Generate .env.example file content (no sensitive data)
72
+ *
73
+ * @returns {string} .env.example file content
74
+ */
75
+ function generateEnvExample() {
76
+ const content = `# AIOS Environment Configuration Template
77
+ # Copy this file to .env and fill in your actual values
78
+ # DO NOT commit .env with real credentials
79
+
80
+ # ============================================================================
81
+ # AIOS Core Configuration
82
+ # ============================================================================
83
+ NODE_ENV=development
84
+ AIOS_VERSION=2.1.0
85
+
86
+ # ============================================================================
87
+ # AI Providers (at least one recommended)
88
+ # ============================================================================
89
+ # OpenAI API Key - Get yours at: https://platform.openai.com/api-keys
90
+ OPENAI_API_KEY=
91
+
92
+ # Anthropic API Key - Get yours at: https://console.anthropic.com/
93
+ ANTHROPIC_API_KEY=
94
+
95
+ # ============================================================================
96
+ # Optional Services
97
+ # ============================================================================
98
+ # ClickUp API Key - For task management integration
99
+ # Get yours at: https://app.clickup.com/settings/apps
100
+ CLICKUP_API_KEY=
101
+
102
+ # GitHub Personal Access Token - For GitHub integration
103
+ # Create at: https://github.com/settings/tokens
104
+ GITHUB_TOKEN=
105
+
106
+ # Exa API Key - For web search capabilities
107
+ # Get yours at: https://exa.ai/
108
+ EXA_API_KEY=
109
+
110
+ # ============================================================================
111
+ # Database Configuration (if applicable)
112
+ # ============================================================================
113
+ # DATABASE_URL=postgresql://user:password@localhost:5432/dbname
114
+
115
+ # ============================================================================
116
+ # Custom Configuration
117
+ # ============================================================================
118
+ # Add your custom environment variables below
119
+ `;
120
+
121
+ return content;
122
+ }
123
+
124
+ module.exports = {
125
+ generateEnvContent,
126
+ generateEnvExample,
127
+ };
@@ -0,0 +1,243 @@
1
+ /**
2
+ * Configuration Validation Module
3
+ * Story 1.6: Environment Configuration
4
+ *
5
+ * Validates .env and YAML configuration files
6
+ *
7
+ * @module config-validator
8
+ */
9
+
10
+ const yaml = require('js-yaml');
11
+ const path = require('path');
12
+
13
+ /**
14
+ * Validate .env file format
15
+ *
16
+ * @param {string} content - .env file content
17
+ * @returns {Object} Validation result { valid: boolean, errors: Array<string> }
18
+ */
19
+ function validateEnvFormat(content) {
20
+ const errors = [];
21
+ const lines = content.split('\n');
22
+
23
+ lines.forEach((line, index) => {
24
+ const lineNum = index + 1;
25
+ const trimmed = line.trim();
26
+
27
+ // Skip empty lines and comments
28
+ if (!trimmed || trimmed.startsWith('#')) {
29
+ return;
30
+ }
31
+
32
+ // Check for KEY=value format (no spaces around =)
33
+ if (!trimmed.match(/^[A-Z_][A-Z0-9_]*=/)) {
34
+ errors.push(`Line ${lineNum}: Invalid format. Expected KEY=value (no spaces around =)`);
35
+ return;
36
+ }
37
+
38
+ // Check for spaces around =
39
+ if (trimmed.match(/\s*=\s*/)) {
40
+ const [key, ...rest] = trimmed.split('=');
41
+ if (key.includes(' ') || (rest.length > 0 && rest[0].startsWith(' '))) {
42
+ errors.push(`Line ${lineNum}: Remove spaces around = in "${trimmed}"`);
43
+ }
44
+ }
45
+ });
46
+
47
+ return {
48
+ valid: errors.length === 0,
49
+ errors,
50
+ };
51
+ }
52
+
53
+ /**
54
+ * Validate API key format (basic check)
55
+ *
56
+ * @param {string} key - API key to validate
57
+ * @param {string} [provider] - Provider name for specific validation
58
+ * @returns {Object} Validation result { valid: boolean, error: string|null }
59
+ */
60
+ function validateApiKeyFormat(key, provider = null) {
61
+ // Null/undefined/empty is valid (skip logic)
62
+ if (key === null || key === undefined || key === '') {
63
+ return { valid: true, error: null };
64
+ }
65
+
66
+ const trimmed = typeof key === 'string' ? key.trim() : '';
67
+
68
+ // Whitespace-only keys are invalid
69
+ if (key !== '' && trimmed === '') {
70
+ return { valid: false, error: 'API key cannot be only whitespace' };
71
+ }
72
+
73
+ // Provider-specific validation
74
+ if (provider) {
75
+ switch (provider.toLowerCase()) {
76
+ case 'openai':
77
+ // OpenAI keys start with sk- and are at least 20 chars
78
+ if (!trimmed.startsWith('sk-') || trimmed.length < 20) {
79
+ return { valid: false, error: 'OpenAI API keys should start with "sk-" and be at least 20 characters' };
80
+ }
81
+ break;
82
+
83
+ case 'anthropic':
84
+ // Anthropic keys start with sk-ant- and are longer
85
+ if (!trimmed.startsWith('sk-ant-') || trimmed.length < 30) {
86
+ return { valid: false, error: 'Anthropic API keys should start with "sk-ant-" and be at least 30 characters' };
87
+ }
88
+ break;
89
+
90
+ case 'github':
91
+ // GitHub tokens: ghp_ (personal), gho_ (OAuth), ghs_ (server), ghu_ (user), ghr_ (refresh), github_pat_ (fine-grained)
92
+ if (!trimmed.match(/^(ghp_|gho_|ghs_|ghu_|ghr_|github_pat_)/)) {
93
+ return { valid: false, error: 'GitHub tokens should start with ghp_, gho_, ghs_, ghu_, ghr_, or github_pat_' };
94
+ }
95
+ break;
96
+
97
+ // Other providers use basic validation
98
+ default:
99
+ break;
100
+ }
101
+ }
102
+
103
+ // Check for suspicious patterns (spaces, newlines)
104
+ if (trimmed.match(/\s/)) {
105
+ return { valid: false, error: 'API key should not contain spaces or newlines' };
106
+ }
107
+
108
+ // Check for minimum length (general safety)
109
+ if (trimmed.length < 10) {
110
+ return { valid: false, error: 'API key seems too short (minimum 10 characters)' };
111
+ }
112
+
113
+ return { valid: true, error: null };
114
+ }
115
+
116
+ /**
117
+ * Validate YAML syntax
118
+ *
119
+ * @param {string} content - YAML content
120
+ * @returns {Object} Validation result { valid: boolean, error: string|null, parsed: Object|null }
121
+ */
122
+ function validateYamlSyntax(content) {
123
+ try {
124
+ const parsed = yaml.load(content);
125
+ return { valid: true, error: null, parsed };
126
+ } catch (error) {
127
+ return {
128
+ valid: false,
129
+ error: `YAML syntax error: ${error.message}`,
130
+ parsed: null,
131
+ };
132
+ }
133
+ }
134
+
135
+ /**
136
+ * Validate core-config.yaml structure
137
+ *
138
+ * @param {Object} config - Parsed YAML config
139
+ * @returns {Object} Validation result { valid: boolean, errors: Array<string> }
140
+ */
141
+ function validateCoreConfigStructure(config) {
142
+ const errors = [];
143
+ const requiredFields = ['project', 'qa', 'prd', 'architecture'];
144
+
145
+ // Check required top-level fields
146
+ requiredFields.forEach(field => {
147
+ if (!config[field]) {
148
+ errors.push(`Missing required field: ${field}`);
149
+ }
150
+ });
151
+
152
+ // Validate project section
153
+ if (config.project) {
154
+ if (!config.project.type) {
155
+ errors.push('Missing project.type');
156
+ } else {
157
+ // Accept both lowercase and uppercase project types
158
+ const validTypes = ['GREENFIELD', 'BROWNFIELD', 'EXISTING_AIOS', 'greenfield', 'brownfield', 'existing_aios'];
159
+ if (!validTypes.includes(config.project.type)) {
160
+ errors.push(`Invalid project.type: ${config.project.type}. Expected greenfield, brownfield, or existing_aios`);
161
+ }
162
+ }
163
+ }
164
+
165
+ // Validate IDE section
166
+ if (config.ide) {
167
+ if (!Array.isArray(config.ide.selected)) {
168
+ errors.push('ide.selected must be an array');
169
+ }
170
+ }
171
+
172
+ return {
173
+ valid: errors.length === 0,
174
+ errors,
175
+ };
176
+ }
177
+
178
+ /**
179
+ * Validate file path (cross-platform)
180
+ *
181
+ * @param {string} filePath - Path to validate
182
+ * @returns {Object} Validation result { valid: boolean, error: string|null }
183
+ */
184
+ function validatePath(filePath) {
185
+ // Check for null/undefined
186
+ if (!filePath) {
187
+ return { valid: false, error: 'Path cannot be empty' };
188
+ }
189
+
190
+ // Check for path traversal attempts (before normalization)
191
+ if (filePath.includes('..')) {
192
+ return { valid: false, error: 'Path traversal detected (..)' };
193
+ }
194
+
195
+ // Normalize and check again
196
+ const normalized = path.normalize(filePath);
197
+ if (normalized.includes('..')) {
198
+ return { valid: false, error: 'Path traversal detected (..)' };
199
+ }
200
+
201
+ // Check for invalid characters (basic check)
202
+ const invalidChars = /[<>"|?*\0]/;
203
+ if (invalidChars.test(filePath)) {
204
+ return { valid: false, error: 'Path contains invalid characters' };
205
+ }
206
+
207
+ return { valid: true, error: null };
208
+ }
209
+
210
+ /**
211
+ * Sanitize input to prevent injection
212
+ *
213
+ * @param {string} input - Input to sanitize
214
+ * @returns {string} Sanitized input
215
+ */
216
+ function sanitizeInput(input) {
217
+ if (typeof input !== 'string') {
218
+ return '';
219
+ }
220
+
221
+ // Remove null bytes
222
+ let sanitized = input.replace(/\0/g, '');
223
+
224
+ // Trim whitespace
225
+ sanitized = sanitized.trim();
226
+
227
+ // Limit length (prevent DoS)
228
+ const maxLength = 10000;
229
+ if (sanitized.length > maxLength) {
230
+ sanitized = sanitized.substring(0, maxLength);
231
+ }
232
+
233
+ return sanitized;
234
+ }
235
+
236
+ module.exports = {
237
+ validateEnvFormat,
238
+ validateApiKeyFormat,
239
+ validateYamlSyntax,
240
+ validateCoreConfigStructure,
241
+ validatePath,
242
+ sanitizeInput,
243
+ };
@@ -0,0 +1,81 @@
1
+ const fs = require('fs');
2
+ const path = require('path');
3
+
4
+ /**
5
+ * Detects the type of project in the current directory
6
+ *
7
+ * Detection Priority Order:
8
+ * 1. EXISTING_AIOS - .aios-core/ directory exists
9
+ * 2. GREENFIELD - directory is empty
10
+ * 3. BROWNFIELD - package.json OR .git exists
11
+ * 4. UNKNOWN - directory has files but no recognized markers
12
+ *
13
+ * @param {string} targetDir - Directory to analyze (defaults to process.cwd())
14
+ * @returns {string} 'GREENFIELD' | 'BROWNFIELD' | 'EXISTING_AIOS' | 'UNKNOWN'
15
+ * @throws {Error} If directory cannot be accessed
16
+ *
17
+ * @example
18
+ * // Detect current directory
19
+ * const type = detectProjectType();
20
+ * console.log(type); // 'GREENFIELD'
21
+ *
22
+ * @example
23
+ * // Detect specific directory
24
+ * const type = detectProjectType('/path/to/project');
25
+ * console.log(type); // 'BROWNFIELD'
26
+ */
27
+ function detectProjectType(targetDir = process.cwd()) {
28
+ try {
29
+ // Validate targetDir parameter
30
+ if (!targetDir || typeof targetDir !== 'string') {
31
+ throw new Error('Invalid targetDir parameter: must be a non-empty string');
32
+ }
33
+
34
+ // Normalize path for cross-platform compatibility
35
+ const normalizedDir = path.resolve(targetDir);
36
+
37
+ // Check if directory exists before attempting to read
38
+ if (!fs.existsSync(normalizedDir)) {
39
+ throw new Error(`Directory does not exist: ${normalizedDir}`);
40
+ }
41
+
42
+ // Check for AIOS installation markers (use path.join for security)
43
+ const hasAiosCore = fs.existsSync(path.join(normalizedDir, '.aios-core'));
44
+
45
+ // If AIOS already installed, return immediately (highest priority)
46
+ if (hasAiosCore) {
47
+ return 'EXISTING_AIOS';
48
+ }
49
+
50
+ // Check directory contents
51
+ const dirContents = fs.readdirSync(normalizedDir);
52
+ const isEmpty = dirContents.length === 0;
53
+
54
+ // Empty directory = greenfield (second priority)
55
+ if (isEmpty) {
56
+ return 'GREENFIELD';
57
+ }
58
+
59
+ // Check for project markers (third priority)
60
+ const hasPackageJson = fs.existsSync(path.join(normalizedDir, 'package.json'));
61
+ const hasGit = fs.existsSync(path.join(normalizedDir, '.git'));
62
+
63
+ // Existing project markers = brownfield
64
+ if (hasPackageJson || hasGit) {
65
+ return 'BROWNFIELD';
66
+ }
67
+
68
+ // Directory has files but no recognized markers = unknown
69
+ return 'UNKNOWN';
70
+
71
+ } catch (error) {
72
+ // Log error with context for debugging
73
+ console.error(`[detect-project-type] Error detecting project type in '${targetDir}': ${error.message}`);
74
+
75
+ // Re-throw with more context for caller to handle
76
+ throw new Error(`Failed to detect project type: ${error.message}`);
77
+ }
78
+ }
79
+
80
+ module.exports = { detectProjectType };
81
+
@@ -0,0 +1,244 @@
1
+ const { detectProjectType } = require('../detection/detect-project-type');
2
+ const {
3
+ detectInstallationMode,
4
+ getModeOptions,
5
+ validateModeSelection,
6
+ InstallationMode,
7
+ } = require('../../../../.aios-core/infrastructure/scripts/documentation-integrity/mode-detector');
8
+
9
+ /**
10
+ * Interactive Wizard for AIOS Installation
11
+ *
12
+ * Supports three installation modes:
13
+ * - GREENFIELD: New project - generates all docs and config
14
+ * - BROWNFIELD: Existing project - analyzes and adapts
15
+ * - FRAMEWORK_DEV: Contributing to aios-core itself
16
+ *
17
+ * @module wizard
18
+ * @version 2.0.0
19
+ * @story 6.9
20
+ */
21
+
22
+ /**
23
+ * Run the interactive installer wizard
24
+ *
25
+ * @param {Object} options - Wizard options
26
+ * @param {string} options.targetDir - Target directory for installation
27
+ * @param {string} options.mode - Pre-selected mode (skip detection)
28
+ * @returns {Promise<Object>} Installation configuration
29
+ */
30
+ async function runWizard(options = {}) {
31
+ const targetDir = options.targetDir || process.cwd();
32
+
33
+ try {
34
+ // Step 1: Welcome screen
35
+ console.log('🚀 Welcome to AIOS Installer\n');
36
+
37
+ // Step 2: Detect installation mode (Story 6.9)
38
+ console.log('📊 Analyzing project directory...');
39
+ const detected = detectInstallationMode(targetDir);
40
+ console.log(`✅ Detected: ${detected.mode} (${detected.reason})\n`);
41
+
42
+ // Step 3: Select installation mode (with user override)
43
+ const selectedMode = options.mode || (await selectInstallationMode(detected));
44
+
45
+ // Step 4: Validate selection
46
+ const validation = validateModeSelection(selectedMode, detected);
47
+ if (validation.warnings.length > 0) {
48
+ console.log('\n⚠️ Warnings:');
49
+ validation.warnings.forEach((w) => console.log(` - ${w}`));
50
+ console.log('');
51
+ }
52
+
53
+ // Step 5: Mode-specific configuration
54
+ const modeConfig = await configureModeSpecific(selectedMode, targetDir, detected);
55
+
56
+ // Step 6: Continue with installation (Stories 1.4-1.8)
57
+ // - IDE Selection (Story 1.4)
58
+ // - MCP Installation (Story 1.5)
59
+ // - Environment Config (Story 1.6)
60
+ // - Validation (Story 1.8)
61
+
62
+ return {
63
+ projectType: detected.legacyType, // Backward compatibility
64
+ installationMode: selectedMode,
65
+ targetDir,
66
+ detected,
67
+ modeConfig,
68
+ // Other configuration will be added by downstream stories
69
+ };
70
+ } catch (error) {
71
+ console.error('❌ Installation failed:', error.message);
72
+ throw error;
73
+ }
74
+ }
75
+
76
+ /**
77
+ * Select installation mode with user input
78
+ *
79
+ * @param {Object} detected - Detection result from mode detector
80
+ * @returns {Promise<string>} Selected installation mode
81
+ */
82
+ async function selectInstallationMode(detected) {
83
+ const options = getModeOptions(detected);
84
+
85
+ console.log('Select installation type:\n');
86
+ options.forEach((opt, index) => {
87
+ const marker = opt.value === detected.mode ? '→' : ' ';
88
+ console.log(`${marker} ${index + 1}. ${opt.label}`);
89
+ console.log(` ${opt.hint}\n`);
90
+ });
91
+
92
+ // Stub: In real implementation, use @clack/prompts select()
93
+ // For now, return detected mode or first option
94
+ console.log(`(Using detected mode: ${detected.mode})`);
95
+ console.log('(Interactive selection via @clack/prompts in Story 1.2)\n');
96
+
97
+ return detected.mode !== InstallationMode.UNKNOWN ? detected.mode : InstallationMode.GREENFIELD;
98
+ }
99
+
100
+ /**
101
+ * Configure mode-specific settings
102
+ *
103
+ * @param {string} mode - Selected installation mode
104
+ * @param {string} targetDir - Target directory
105
+ * @param {Object} detected - Detection result
106
+ * @returns {Promise<Object>} Mode-specific configuration
107
+ */
108
+ async function configureModeSpecific(mode, targetDir, detected) {
109
+ const config = {
110
+ mode,
111
+ generateDocs: true,
112
+ generateConfig: true,
113
+ generateGitignore: true,
114
+ runSetupGithub: false,
115
+ deployment: null,
116
+ };
117
+
118
+ switch (mode) {
119
+ case InstallationMode.FRAMEWORK_DEV:
120
+ // Framework development - skip project setup
121
+ console.log('🔧 Framework Development Mode');
122
+ console.log(' → Using existing framework standards');
123
+ console.log(' → Skipping project documentation generation');
124
+ console.log(' → Skipping infrastructure setup\n');
125
+ config.generateDocs = false;
126
+ config.generateConfig = false;
127
+ config.generateGitignore = false;
128
+ break;
129
+
130
+ case InstallationMode.GREENFIELD:
131
+ // New project - full scaffolding
132
+ console.log('🆕 Greenfield Mode');
133
+ console.log(' → Will generate project documentation');
134
+ console.log(' → Will create project-specific core-config');
135
+ console.log(' → Will generate .gitignore based on tech stack');
136
+ console.log(' → Will offer *setup-github for infrastructure\n');
137
+ config.runSetupGithub = true;
138
+ // Deployment config will be elicited in Phase 3
139
+ config.deployment = await elicitDeploymentConfig();
140
+ break;
141
+
142
+ case InstallationMode.BROWNFIELD:
143
+ // Existing project - analyze and adapt
144
+ console.log('📂 Brownfield Mode');
145
+ console.log(' → Will analyze existing source tree');
146
+ console.log(' → Will detect existing coding standards');
147
+ console.log(' → Will merge with existing .gitignore');
148
+ console.log(' → Will analyze existing GitHub workflows\n');
149
+ // Deployment config will be elicited based on analysis in Phase 3
150
+ config.deployment = await elicitDeploymentConfig();
151
+ break;
152
+
153
+ default:
154
+ console.log('❓ Unknown mode - using greenfield defaults\n');
155
+ }
156
+
157
+ return config;
158
+ }
159
+
160
+ /**
161
+ * Elicit deployment configuration from user
162
+ * Implements Task 3.3 from Story 6.9
163
+ *
164
+ * @returns {Promise<Object>} Deployment configuration
165
+ */
166
+ async function elicitDeploymentConfig() {
167
+ // Stub implementation - will be fully implemented in Phase 3
168
+ console.log('📦 Deployment Configuration');
169
+ console.log(' (Full elicitation will be implemented in Phase 3)\n');
170
+
171
+ // Return default staging-first workflow
172
+ return {
173
+ workflow: 'staging-first',
174
+ branches: {
175
+ staging_targets: ['feature/*', 'fix/*', 'docs/*', 'chore/*', 'refactor/*', 'test/*'],
176
+ production_targets: ['hotfix/*'],
177
+ staging_branch: 'staging',
178
+ production_branch: 'main',
179
+ default_target: 'staging',
180
+ },
181
+ environments: {
182
+ staging: {
183
+ name: 'Staging',
184
+ auto_deploy: true,
185
+ platform: null, // To be detected/elicited
186
+ },
187
+ production: {
188
+ name: 'Production',
189
+ auto_deploy: true,
190
+ platform: null,
191
+ },
192
+ },
193
+ quality_gates: {
194
+ lint: true,
195
+ typecheck: true,
196
+ tests: true,
197
+ security_scan: false,
198
+ },
199
+ };
200
+ }
201
+
202
+ /**
203
+ * Confirm project type with user or allow override
204
+ * @deprecated Use selectInstallationMode instead
205
+ *
206
+ * @param {string} detectedType - Detected project type
207
+ * @returns {Promise<string>} Confirmed project type
208
+ */
209
+ async function confirmProjectType(detectedType) {
210
+ // Kept for backward compatibility
211
+ const typeDescriptions = {
212
+ GREENFIELD: 'New project - AIOS will create complete structure',
213
+ BROWNFIELD: 'Existing project - AIOS will integrate with current setup',
214
+ EXISTING_AIOS: 'AIOS already installed - Would you like to update or reinstall?',
215
+ UNKNOWN: 'Unknown project type - Manual selection required',
216
+ };
217
+
218
+ console.log(`Project Type: ${detectedType}`);
219
+ console.log(`Description: ${typeDescriptions[detectedType]}`);
220
+ console.log('(Use selectInstallationMode for new three-mode selection)\n');
221
+
222
+ return detectedType;
223
+ }
224
+
225
+ /**
226
+ * Get project type for a directory (exposed for downstream stories)
227
+ *
228
+ * @param {string} targetDir - Directory to check
229
+ * @returns {string} Project type
230
+ */
231
+ function getProjectType(targetDir) {
232
+ return detectProjectType(targetDir);
233
+ }
234
+
235
+ module.exports = {
236
+ runWizard,
237
+ selectInstallationMode,
238
+ configureModeSpecific,
239
+ elicitDeploymentConfig,
240
+ confirmProjectType, // Deprecated - kept for backward compatibility
241
+ getProjectType,
242
+ InstallationMode,
243
+ };
244
+