aios-core 2.1.6 → 2.2.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 (367) hide show
  1. package/.aios-core/core/README.md +229 -229
  2. package/.aios-core/core/data/agent-config-requirements.yaml +368 -368
  3. package/.aios-core/core/data/aios-kb.md +923 -923
  4. package/.aios-core/core/data/workflow-patterns.yaml +267 -267
  5. package/.aios-core/core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
  6. package/.aios-core/core/docs/component-creation-guide.md +457 -457
  7. package/.aios-core/core/docs/session-update-pattern.md +307 -307
  8. package/.aios-core/core/docs/template-syntax.md +266 -266
  9. package/.aios-core/core/docs/troubleshooting-guide.md +624 -624
  10. package/.aios-core/core/elicitation/elicitation-engine.js +1 -1
  11. package/.aios-core/core/index.esm.js +42 -42
  12. package/.aios-core/core/index.js +1 -1
  13. package/.aios-core/core/migration/migration-config.yaml +83 -83
  14. package/.aios-core/core/migration/module-mapping.yaml +89 -89
  15. package/.aios-core/core/quality-gates/layer2-pr-automation.js +1 -1
  16. package/.aios-core/core/quality-gates/quality-gate-config.yaml +86 -86
  17. package/.aios-core/core/registry/README.md +179 -179
  18. package/.aios-core/core/utils/security-utils.js +1 -1
  19. package/.aios-core/core-config.yaml +391 -382
  20. package/.aios-core/data/agent-config-requirements.yaml +368 -368
  21. package/.aios-core/data/aios-kb.md +923 -923
  22. package/.aios-core/data/technical-preferences.md +3 -3
  23. package/.aios-core/data/workflow-patterns.yaml +267 -267
  24. package/.aios-core/development/README.md +142 -142
  25. package/.aios-core/development/agent-teams/team-all.yaml +15 -15
  26. package/.aios-core/development/agent-teams/team-fullstack.yaml +18 -18
  27. package/.aios-core/development/agent-teams/team-ide-minimal.yaml +10 -10
  28. package/.aios-core/development/agent-teams/team-no-ui.yaml +13 -13
  29. package/.aios-core/development/agent-teams/team-qa-focused.yaml +155 -155
  30. package/.aios-core/development/agents/aios-master.md +339 -339
  31. package/.aios-core/development/agents/analyst.md +195 -195
  32. package/.aios-core/development/agents/architect.md +359 -359
  33. package/.aios-core/development/agents/data-engineer.md +468 -468
  34. package/.aios-core/development/agents/dev.md +390 -390
  35. package/.aios-core/development/agents/devops.md +398 -398
  36. package/.aios-core/development/agents/pm.md +198 -198
  37. package/.aios-core/development/agents/po.md +256 -256
  38. package/.aios-core/development/agents/qa.md +312 -312
  39. package/.aios-core/development/agents/sm.md +220 -220
  40. package/.aios-core/development/agents/ux-design-expert.md +451 -451
  41. package/.aios-core/development/scripts/greeting-config-cli.js +85 -85
  42. package/.aios-core/development/tasks/add-mcp.md +319 -319
  43. package/.aios-core/development/tasks/advanced-elicitation.md +318 -318
  44. package/.aios-core/development/tasks/analyst-facilitate-brainstorming.md +341 -341
  45. package/.aios-core/development/tasks/analyze-framework.md +696 -696
  46. package/.aios-core/development/tasks/analyze-performance.md +637 -637
  47. package/.aios-core/development/tasks/apply-qa-fixes.md +340 -340
  48. package/.aios-core/development/tasks/architect-analyze-impact.md +826 -826
  49. package/.aios-core/development/tasks/audit-codebase.md +429 -429
  50. package/.aios-core/development/tasks/audit-tailwind-config.md +270 -270
  51. package/.aios-core/development/tasks/audit-utilities.md +358 -358
  52. package/.aios-core/development/tasks/bootstrap-shadcn-library.md +286 -286
  53. package/.aios-core/development/tasks/brownfield-create-epic.md +485 -485
  54. package/.aios-core/development/tasks/brownfield-create-story.md +356 -356
  55. package/.aios-core/development/tasks/build-component.md +478 -478
  56. package/.aios-core/development/tasks/calculate-roi.md +455 -455
  57. package/.aios-core/development/tasks/ci-cd-configuration.md +764 -764
  58. package/.aios-core/development/tasks/cleanup-utilities.md +670 -670
  59. package/.aios-core/development/tasks/collaborative-edit.md +1108 -1108
  60. package/.aios-core/development/tasks/compose-molecule.md +284 -284
  61. package/.aios-core/development/tasks/consolidate-patterns.md +414 -414
  62. package/.aios-core/development/tasks/correct-course.md +279 -279
  63. package/.aios-core/development/tasks/create-agent.md +321 -321
  64. package/.aios-core/development/tasks/create-brownfield-story.md +726 -726
  65. package/.aios-core/development/tasks/create-deep-research-prompt.md +498 -498
  66. package/.aios-core/development/tasks/create-doc.md +316 -316
  67. package/.aios-core/development/tasks/create-next-story.md +774 -774
  68. package/.aios-core/development/tasks/create-suite.md +283 -283
  69. package/.aios-core/development/tasks/create-task.md +371 -371
  70. package/.aios-core/development/tasks/create-workflow.md +370 -370
  71. package/.aios-core/development/tasks/db-analyze-hotpaths.md +572 -572
  72. package/.aios-core/development/tasks/db-apply-migration.md +381 -381
  73. package/.aios-core/development/tasks/db-bootstrap.md +642 -642
  74. package/.aios-core/development/tasks/db-domain-modeling.md +693 -693
  75. package/.aios-core/development/tasks/db-dry-run.md +293 -293
  76. package/.aios-core/development/tasks/db-env-check.md +260 -260
  77. package/.aios-core/development/tasks/db-expansion-pack-integration.md +663 -663
  78. package/.aios-core/development/tasks/db-explain.md +631 -631
  79. package/.aios-core/development/tasks/db-impersonate.md +495 -495
  80. package/.aios-core/development/tasks/db-load-csv.md +593 -593
  81. package/.aios-core/development/tasks/db-policy-apply.md +653 -653
  82. package/.aios-core/development/tasks/db-rls-audit.md +411 -411
  83. package/.aios-core/development/tasks/db-rollback.md +739 -739
  84. package/.aios-core/development/tasks/db-run-sql.md +613 -613
  85. package/.aios-core/development/tasks/db-schema-audit.md +1011 -1011
  86. package/.aios-core/development/tasks/db-seed.md +390 -390
  87. package/.aios-core/development/tasks/db-smoke-test.md +351 -351
  88. package/.aios-core/development/tasks/db-snapshot.md +569 -569
  89. package/.aios-core/development/tasks/db-supabase-setup.md +712 -712
  90. package/.aios-core/development/tasks/db-verify-order.md +515 -515
  91. package/.aios-core/development/tasks/deprecate-component.md +956 -956
  92. package/.aios-core/development/tasks/dev-apply-qa-fixes.md +318 -318
  93. package/.aios-core/development/tasks/dev-backlog-debt.md +469 -469
  94. package/.aios-core/development/tasks/dev-develop-story.md +846 -846
  95. package/.aios-core/development/tasks/dev-improve-code-quality.md +872 -872
  96. package/.aios-core/development/tasks/dev-optimize-performance.md +1033 -1033
  97. package/.aios-core/development/tasks/dev-suggest-refactoring.md +870 -870
  98. package/.aios-core/development/tasks/dev-validate-next-story.md +348 -348
  99. package/.aios-core/development/tasks/document-project.md +552 -552
  100. package/.aios-core/development/tasks/environment-bootstrap.md +1311 -1311
  101. package/.aios-core/development/tasks/execute-checklist.md +301 -301
  102. package/.aios-core/development/tasks/export-design-tokens-dtcg.md +274 -274
  103. package/.aios-core/development/tasks/extend-pattern.md +269 -269
  104. package/.aios-core/development/tasks/extract-tokens.md +467 -467
  105. package/.aios-core/development/tasks/facilitate-brainstorming-session.md +518 -518
  106. package/.aios-core/development/tasks/generate-ai-frontend-prompt.md +260 -260
  107. package/.aios-core/development/tasks/generate-documentation.md +284 -284
  108. package/.aios-core/development/tasks/generate-migration-strategy.md +522 -522
  109. package/.aios-core/development/tasks/generate-shock-report.md +501 -501
  110. package/.aios-core/development/tasks/github-devops-github-pr-automation.md +427 -427
  111. package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +733 -733
  112. package/.aios-core/development/tasks/github-devops-repository-cleanup.md +374 -374
  113. package/.aios-core/development/tasks/github-devops-version-management.md +483 -483
  114. package/.aios-core/development/tasks/improve-self.md +822 -822
  115. package/.aios-core/development/tasks/index-docs.md +387 -387
  116. package/.aios-core/development/tasks/init-project-status.md +506 -506
  117. package/.aios-core/development/tasks/integrate-expansion-pack.md +314 -314
  118. package/.aios-core/development/tasks/kb-mode-interaction.md +283 -283
  119. package/.aios-core/development/tasks/learn-patterns.md +900 -900
  120. package/.aios-core/development/tasks/mcp-workflow.md +437 -437
  121. package/.aios-core/development/tasks/modify-agent.md +381 -381
  122. package/.aios-core/development/tasks/modify-task.md +424 -424
  123. package/.aios-core/development/tasks/modify-workflow.md +465 -465
  124. package/.aios-core/development/tasks/po-backlog-add.md +370 -370
  125. package/.aios-core/development/tasks/po-manage-story-backlog.md +523 -523
  126. package/.aios-core/development/tasks/po-pull-story-from-clickup.md +540 -540
  127. package/.aios-core/development/tasks/po-pull-story.md +316 -316
  128. package/.aios-core/development/tasks/po-stories-index.md +351 -351
  129. package/.aios-core/development/tasks/po-sync-story-to-clickup.md +457 -457
  130. package/.aios-core/development/tasks/po-sync-story.md +303 -303
  131. package/.aios-core/development/tasks/pr-automation.md +701 -701
  132. package/.aios-core/development/tasks/propose-modification.md +842 -842
  133. package/.aios-core/development/tasks/qa-backlog-add-followup.md +425 -425
  134. package/.aios-core/development/tasks/qa-gate.md +373 -373
  135. package/.aios-core/development/tasks/qa-generate-tests.md +1174 -1174
  136. package/.aios-core/development/tasks/qa-nfr-assess.md +557 -557
  137. package/.aios-core/development/tasks/qa-review-proposal.md +1157 -1157
  138. package/.aios-core/development/tasks/qa-review-story.md +682 -682
  139. package/.aios-core/development/tasks/qa-risk-profile.md +566 -566
  140. package/.aios-core/development/tasks/qa-run-tests.md +277 -277
  141. package/.aios-core/development/tasks/qa-test-design.md +387 -387
  142. package/.aios-core/development/tasks/qa-trace-requirements.md +476 -476
  143. package/.aios-core/development/tasks/release-management.md +723 -723
  144. package/.aios-core/development/tasks/security-audit.md +554 -554
  145. package/.aios-core/development/tasks/security-scan.md +790 -790
  146. package/.aios-core/development/tasks/setup-database.md +741 -741
  147. package/.aios-core/development/tasks/setup-design-system.md +462 -462
  148. package/.aios-core/development/tasks/setup-github.md +874 -874
  149. package/.aios-core/development/tasks/setup-llm-routing.md +1 -1
  150. package/.aios-core/development/tasks/setup-mcp-docker.md +584 -584
  151. package/.aios-core/development/tasks/setup-project-docs.md +1 -1
  152. package/.aios-core/development/tasks/shard-doc.md +537 -537
  153. package/.aios-core/development/tasks/sm-create-next-story.md +480 -480
  154. package/.aios-core/development/tasks/sync-documentation.md +864 -864
  155. package/.aios-core/development/tasks/tailwind-upgrade.md +294 -294
  156. package/.aios-core/development/tasks/test-as-user.md +621 -621
  157. package/.aios-core/development/tasks/test-validation-task.md +171 -171
  158. package/.aios-core/development/tasks/undo-last.md +346 -346
  159. package/.aios-core/development/tasks/update-manifest.md +409 -409
  160. package/.aios-core/development/tasks/ux-create-wireframe.md +617 -617
  161. package/.aios-core/development/tasks/ux-ds-scan-artifact.md +672 -672
  162. package/.aios-core/development/tasks/ux-user-research.md +559 -559
  163. package/.aios-core/development/tasks/validate-next-story.md +422 -422
  164. package/.aios-core/development/workflows/README.md +83 -83
  165. package/.aios-core/development/workflows/brownfield-fullstack.yaml +297 -297
  166. package/.aios-core/development/workflows/brownfield-service.yaml +187 -187
  167. package/.aios-core/development/workflows/brownfield-ui.yaml +197 -197
  168. package/.aios-core/development/workflows/greenfield-fullstack.yaml +333 -333
  169. package/.aios-core/development/workflows/greenfield-service.yaml +206 -206
  170. package/.aios-core/development/workflows/greenfield-ui.yaml +235 -235
  171. package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
  172. package/.aios-core/docs/component-creation-guide.md +457 -457
  173. package/.aios-core/docs/session-update-pattern.md +307 -307
  174. package/.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +572 -572
  175. package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-QUICK-REFERENCE.md +185 -185
  176. package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-V2.1.md +354 -354
  177. package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -1963
  178. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +821 -821
  179. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -1190
  180. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -439
  181. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1339 -1339
  182. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -5398
  183. package/.aios-core/docs/standards/EXECUTOR-DECISION-TREE.md +697 -697
  184. package/.aios-core/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +511 -511
  185. package/.aios-core/docs/standards/QUALITY-GATES-SPECIFICATION.md +556 -556
  186. package/.aios-core/docs/standards/STANDARDS-INDEX.md +210 -210
  187. package/.aios-core/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +550 -550
  188. package/.aios-core/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1414 -1414
  189. package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -523
  190. package/.aios-core/docs/template-syntax.md +266 -266
  191. package/.aios-core/docs/troubleshooting-guide.md +624 -624
  192. package/.aios-core/index.esm.js +15 -15
  193. package/.aios-core/index.js +1 -1
  194. package/.aios-core/infrastructure/README.md +126 -126
  195. package/.aios-core/infrastructure/integrations/pm-adapters/README.md +59 -59
  196. package/.aios-core/infrastructure/scripts/approval-workflow.js +1 -1
  197. package/.aios-core/infrastructure/scripts/batch-creator.js +1 -1
  198. package/.aios-core/infrastructure/scripts/component-generator.js +3 -3
  199. package/.aios-core/infrastructure/scripts/component-metadata.js +1 -1
  200. package/.aios-core/infrastructure/scripts/component-search.js +1 -1
  201. package/.aios-core/infrastructure/scripts/coverage-analyzer.js +1 -1
  202. package/.aios-core/infrastructure/scripts/dependency-analyzer.js +1 -1
  203. package/.aios-core/infrastructure/scripts/dependency-impact-analyzer.js +1 -1
  204. package/.aios-core/infrastructure/scripts/framework-analyzer.js +1 -1
  205. package/.aios-core/infrastructure/scripts/improvement-engine.js +1 -1
  206. package/.aios-core/infrastructure/scripts/llm-routing/install-llm-routing.js +26 -13
  207. package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -0
  208. package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.sh +108 -0
  209. package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -0
  210. package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.sh +65 -0
  211. package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -0
  212. package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.sh +16 -0
  213. package/.aios-core/infrastructure/scripts/llm-routing/usage-tracker/index.js +549 -0
  214. package/.aios-core/infrastructure/scripts/modification-risk-assessment.js +1 -1
  215. package/.aios-core/infrastructure/scripts/performance-analyzer.js +1 -1
  216. package/.aios-core/infrastructure/scripts/pm-adapter.js +134 -134
  217. package/.aios-core/infrastructure/scripts/repository-detector.js +3 -3
  218. package/.aios-core/infrastructure/scripts/template-engine.js +1 -1
  219. package/.aios-core/infrastructure/scripts/template-validator.js +1 -1
  220. package/.aios-core/infrastructure/scripts/test-generator.js +1 -1
  221. package/.aios-core/infrastructure/scripts/test-quality-assessment.js +1 -1
  222. package/.aios-core/infrastructure/scripts/transaction-manager.js +1 -1
  223. package/.aios-core/infrastructure/scripts/usage-analytics.js +1 -1
  224. package/.aios-core/infrastructure/scripts/visual-impact-generator.js +2 -2
  225. package/.aios-core/infrastructure/templates/github-workflows/README.md +109 -109
  226. package/.aios-core/infrastructure/tests/regression-suite-v2.md +621 -621
  227. package/.aios-core/infrastructure/tools/README.md +222 -222
  228. package/.aios-core/infrastructure/tools/cli/github-cli.yaml +200 -200
  229. package/.aios-core/infrastructure/tools/cli/railway-cli.yaml +260 -260
  230. package/.aios-core/infrastructure/tools/cli/supabase-cli.yaml +224 -224
  231. package/.aios-core/infrastructure/tools/local/ffmpeg.yaml +261 -261
  232. package/.aios-core/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -127
  233. package/.aios-core/infrastructure/tools/mcp/browser.yaml +103 -103
  234. package/.aios-core/infrastructure/tools/mcp/clickup.yaml +534 -534
  235. package/.aios-core/infrastructure/tools/mcp/context7.yaml +78 -78
  236. package/.aios-core/infrastructure/tools/mcp/desktop-commander.yaml +180 -180
  237. package/.aios-core/infrastructure/tools/mcp/exa.yaml +103 -103
  238. package/.aios-core/infrastructure/tools/mcp/google-workspace.yaml +930 -930
  239. package/.aios-core/infrastructure/tools/mcp/n8n.yaml +551 -551
  240. package/.aios-core/infrastructure/tools/mcp/supabase.yaml +808 -808
  241. package/.aios-core/install-manifest.yaml +347 -347
  242. package/.aios-core/product/README.md +56 -56
  243. package/.aios-core/product/checklists/accessibility-wcag-checklist.md +80 -0
  244. package/.aios-core/product/checklists/architect-checklist.md +443 -443
  245. package/.aios-core/product/checklists/change-checklist.md +182 -182
  246. package/.aios-core/product/checklists/component-quality-checklist.md +74 -0
  247. package/.aios-core/product/checklists/database-design-checklist.md +119 -119
  248. package/.aios-core/product/checklists/dba-predeploy-checklist.md +97 -97
  249. package/.aios-core/product/checklists/dba-rollback-checklist.md +99 -99
  250. package/.aios-core/product/checklists/migration-readiness-checklist.md +75 -0
  251. package/.aios-core/product/checklists/pattern-audit-checklist.md +88 -0
  252. package/.aios-core/product/checklists/pm-checklist.md +375 -375
  253. package/.aios-core/product/checklists/po-master-checklist.md +441 -441
  254. package/.aios-core/product/checklists/pre-push-checklist.md +108 -108
  255. package/.aios-core/product/checklists/release-checklist.md +122 -122
  256. package/.aios-core/product/checklists/story-dod-checklist.md +101 -101
  257. package/.aios-core/product/checklists/story-draft-checklist.md +215 -215
  258. package/.aios-core/product/data/atomic-design-principles.md +108 -0
  259. package/.aios-core/product/data/brainstorming-techniques.md +36 -36
  260. package/.aios-core/product/data/consolidation-algorithms.md +142 -0
  261. package/.aios-core/product/data/database-best-practices.md +182 -0
  262. package/.aios-core/product/data/design-token-best-practices.md +107 -0
  263. package/.aios-core/product/data/elicitation-methods.md +134 -134
  264. package/.aios-core/product/data/integration-patterns.md +207 -0
  265. package/.aios-core/product/data/migration-safety-guide.md +329 -0
  266. package/.aios-core/product/data/mode-selection-best-practices.md +471 -471
  267. package/.aios-core/product/data/postgres-tuning-guide.md +300 -0
  268. package/.aios-core/product/data/rls-security-patterns.md +333 -0
  269. package/.aios-core/product/data/roi-calculation-guide.md +142 -0
  270. package/.aios-core/product/data/supabase-patterns.md +330 -0
  271. package/.aios-core/product/data/test-levels-framework.md +148 -148
  272. package/.aios-core/product/data/test-priorities-matrix.md +174 -174
  273. package/.aios-core/product/data/wcag-compliance-guide.md +267 -0
  274. package/.aios-core/product/templates/1mcp-config.yaml +225 -225
  275. package/.aios-core/product/templates/activation-instructions-inline-greeting.yaml +63 -63
  276. package/.aios-core/product/templates/activation-instructions-template.md +258 -258
  277. package/.aios-core/product/templates/agent-template.yaml +120 -120
  278. package/.aios-core/product/templates/architecture-tmpl.yaml +650 -650
  279. package/.aios-core/product/templates/brainstorming-output-tmpl.yaml +155 -155
  280. package/.aios-core/product/templates/brownfield-architecture-tmpl.yaml +475 -475
  281. package/.aios-core/product/templates/brownfield-prd-tmpl.yaml +279 -279
  282. package/.aios-core/product/templates/changelog-template.md +134 -134
  283. package/.aios-core/product/templates/command-rationalization-matrix.md +152 -152
  284. package/.aios-core/product/templates/competitor-analysis-tmpl.yaml +292 -292
  285. package/.aios-core/product/templates/design-story-tmpl.yaml +587 -587
  286. package/.aios-core/product/templates/ds-artifact-analysis.md +70 -70
  287. package/.aios-core/product/templates/front-end-architecture-tmpl.yaml +205 -205
  288. package/.aios-core/product/templates/front-end-spec-tmpl.yaml +348 -348
  289. package/.aios-core/product/templates/fullstack-architecture-tmpl.yaml +804 -804
  290. package/.aios-core/product/templates/github-pr-template.md +67 -67
  291. package/.aios-core/product/templates/gordon-mcp.yaml +140 -140
  292. package/.aios-core/product/templates/ide-rules/antigravity-rules.md +115 -115
  293. package/.aios-core/product/templates/ide-rules/claude-rules.md +221 -221
  294. package/.aios-core/product/templates/ide-rules/cline-rules.md +84 -84
  295. package/.aios-core/product/templates/ide-rules/copilot-rules.md +92 -92
  296. package/.aios-core/product/templates/ide-rules/cursor-rules.md +115 -115
  297. package/.aios-core/product/templates/ide-rules/gemini-rules.md +85 -85
  298. package/.aios-core/product/templates/ide-rules/roo-rules.md +86 -86
  299. package/.aios-core/product/templates/ide-rules/trae-rules.md +104 -104
  300. package/.aios-core/product/templates/ide-rules/windsurf-rules.md +80 -80
  301. package/.aios-core/product/templates/index-strategy-tmpl.yaml +53 -53
  302. package/.aios-core/product/templates/market-research-tmpl.yaml +251 -251
  303. package/.aios-core/product/templates/mcp-workflow.js +271 -271
  304. package/.aios-core/product/templates/migration-plan-tmpl.yaml +1022 -1022
  305. package/.aios-core/product/templates/migration-strategy-tmpl.md +524 -524
  306. package/.aios-core/product/templates/personalized-agent-template.md +258 -258
  307. package/.aios-core/product/templates/personalized-checklist-template.md +340 -340
  308. package/.aios-core/product/templates/personalized-task-template-v2.md +905 -905
  309. package/.aios-core/product/templates/personalized-task-template.md +344 -344
  310. package/.aios-core/product/templates/personalized-template-file.yaml +322 -322
  311. package/.aios-core/product/templates/personalized-workflow-template.yaml +460 -460
  312. package/.aios-core/product/templates/prd-tmpl.yaml +201 -201
  313. package/.aios-core/product/templates/project-brief-tmpl.yaml +220 -220
  314. package/.aios-core/product/templates/qa-gate-tmpl.yaml +240 -240
  315. package/.aios-core/product/templates/rls-policies-tmpl.yaml +1203 -1203
  316. package/.aios-core/product/templates/schema-design-tmpl.yaml +428 -428
  317. package/.aios-core/product/templates/state-persistence-tmpl.yaml +219 -219
  318. package/.aios-core/product/templates/story-tmpl.yaml +331 -331
  319. package/.aios-core/product/templates/task-execution-report.md +495 -495
  320. package/.aios-core/product/templates/task-template.md +122 -122
  321. package/.aios-core/product/templates/token-exports-tailwind-tmpl.js +395 -395
  322. package/.aios-core/product/templates/tokens-schema-tmpl.yaml +305 -305
  323. package/.aios-core/product/templates/workflow-template.yaml +133 -133
  324. package/.aios-core/scripts/README.md +354 -354
  325. package/.aios-core/scripts/aios-doc-template.md +325 -325
  326. package/.aios-core/scripts/elicitation-engine.js +1 -1
  327. package/.aios-core/scripts/test-template-system.js +1 -1
  328. package/.aios-core/scripts/workflow-management.md +69 -69
  329. package/.aios-core/user-guide.md +1413 -1413
  330. package/.aios-core/working-in-the-brownfield.md +361 -361
  331. package/LICENSE +1 -1
  332. package/README.md +702 -703
  333. package/bin/aios-init-old.js +3 -3
  334. package/bin/aios-init-v4.js +1 -1
  335. package/bin/aios-init.backup-v1.1.4.js +1 -1
  336. package/bin/aios-init.js +3 -3
  337. package/bin/aios.js +279 -279
  338. package/bin/utils/install-errors.js +339 -339
  339. package/bin/utils/install-transaction.js +445 -445
  340. package/index.d.ts +18 -18
  341. package/index.esm.js +20 -20
  342. package/index.js +6 -6
  343. package/package.json +8 -10
  344. package/packages/installer/src/config/templates/env-template.js +27 -4
  345. package/packages/installer/src/detection/detect-project-type.js +81 -81
  346. package/packages/installer/tests/integration/wizard-detection.test.js +8 -6
  347. package/packages/installer/tests/unit/env-template.test.js +8 -8
  348. package/src/config/ide-configs.js +1 -1
  349. package/src/wizard/feedback.js +2 -2
  350. package/src/wizard/index.js +1 -1
  351. package/src/wizard/validation/report-generator.js +1 -1
  352. package/src/wizard/validation/troubleshooting-system.js +13 -13
  353. package/.aios-core/infrastructure/scripts/_archived/final-todo-count.js +0 -122
  354. package/.aios-core/infrastructure/scripts/_archived/fix-yaml-formatting.js +0 -89
  355. package/.aios-core/infrastructure/scripts/_archived/migration-generator.js +0 -780
  356. package/.aios-core/infrastructure/scripts/_archived/migration-path-generator.js +0 -950
  357. package/.aios-core/infrastructure/scripts/_archived/phase2-entrada-saida-errors.js +0 -425
  358. package/.aios-core/infrastructure/scripts/_archived/phase2-spot-check.js +0 -132
  359. package/.aios-core/infrastructure/scripts/_archived/phase3-tools-scripts-validation.js +0 -381
  360. package/.aios-core/infrastructure/scripts/_archived/phase4-metadata-performance.js +0 -203
  361. package/.aios-core/infrastructure/scripts/_archived/test-yaml-parsing.js +0 -24
  362. package/.aios-core/infrastructure/scripts/_archived/verify-yaml-fix.js +0 -51
  363. package/.aios-core/tasks/find-component.md.legacy +0 -391
  364. package/.aios-core/tasks/generate-commit-message.md.legacy +0 -426
  365. package/.aios-core/tasks/generate-migration.md.legacy +0 -382
  366. package/.aios-core/tasks/rollback-modification.md.legacy +0 -307
  367. package/.aios-core/tasks/update-tests.md.legacy +0 -283
@@ -1,554 +1,554 @@
1
- # Task: Security Audit
2
-
3
- **Purpose**: Comprehensive database security and quality audit (RLS coverage, schema design, full system)
4
-
5
- **Elicit**: true
6
-
7
- **Consolidated From (Story 6.1.2.3):**
8
- - `db-rls-audit.md` - RLS policy coverage checking
9
- - `schema-audit.md` - Schema design quality validation
10
-
11
- ---
12
-
13
- ## Execution Modes
14
-
15
- **Choose your execution mode:**
16
-
17
- ### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
18
- - Autonomous decision making with logging
19
- - Minimal user interaction
20
- - **Best for:** Simple, deterministic tasks
21
-
22
- ### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
23
- - Explicit decision checkpoints
24
- - Educational explanations
25
- - **Best for:** Learning, complex decisions
26
-
27
- ### 3. Pre-Flight Planning - Comprehensive Upfront Planning
28
- - Task analysis phase (identify all ambiguities)
29
- - Zero ambiguity execution
30
- - **Best for:** Ambiguous requirements, critical work
31
-
32
- **Parameter:** `mode` (optional, default: `interactive`)
33
-
34
- ---
35
-
36
- ## Task Definition (AIOS Task Format V1.0)
37
-
38
- ```yaml
39
- task: securityAudit()
40
- responsável: Quinn (Guardian)
41
- responsavel_type: Agente
42
- atomic_layer: Strategy
43
-
44
- **Entrada:**
45
- - campo: target
46
- tipo: string
47
- origem: User Input
48
- obrigatório: true
49
- validação: Valid path or resource
50
-
51
- - campo: scan_depth
52
- tipo: number
53
- origem: config
54
- obrigatório: false
55
- validação: Default: 2 (1-5)
56
-
57
- - campo: rules
58
- tipo: array
59
- origem: config
60
- obrigatório: true
61
- validação: Security rule set
62
-
63
- **Saída:**
64
- - campo: scan_report
65
- tipo: object
66
- destino: File (.ai/security/*)
67
- persistido: true
68
-
69
- - campo: vulnerabilities
70
- tipo: array
71
- destino: Memory
72
- persistido: false
73
-
74
- - campo: risk_score
75
- tipo: number
76
- destino: Memory
77
- persistido: false
78
- ```
79
-
80
- ---
81
-
82
- ## Pre-Conditions
83
-
84
- **Purpose:** Validate prerequisites BEFORE task execution (blocking)
85
-
86
- **Checklist:**
87
-
88
- ```yaml
89
- pre-conditions:
90
- - [ ] Scanner available; target accessible; rules configured
91
- tipo: pre-condition
92
- blocker: true
93
- validação: |
94
- Check scanner available; target accessible; rules configured
95
- error_message: "Pre-condition failed: Scanner available; target accessible; rules configured"
96
- ```
97
-
98
- ---
99
-
100
- ## Post-Conditions
101
-
102
- **Purpose:** Validate execution success AFTER task completes
103
-
104
- **Checklist:**
105
-
106
- ```yaml
107
- post-conditions:
108
- - [ ] Scan completed; vulnerabilities reported; no scan errors
109
- tipo: post-condition
110
- blocker: true
111
- validação: |
112
- Verify scan completed; vulnerabilities reported; no scan errors
113
- error_message: "Post-condition failed: Scan completed; vulnerabilities reported; no scan errors"
114
- ```
115
-
116
- ---
117
-
118
- ## Acceptance Criteria
119
-
120
- **Purpose:** Definitive pass/fail criteria for task completion
121
-
122
- **Checklist:**
123
-
124
- ```yaml
125
- acceptance-criteria:
126
- - [ ] No critical vulnerabilities; all checks passed
127
- tipo: acceptance-criterion
128
- blocker: true
129
- validação: |
130
- Assert no critical vulnerabilities; all checks passed
131
- error_message: "Acceptance criterion not met: No critical vulnerabilities; all checks passed"
132
- ```
133
-
134
- ---
135
-
136
- ## Tools
137
-
138
- **External/shared resources used by this task:**
139
-
140
- - **Tool:** security-scanner
141
- - **Purpose:** Static security analysis and vulnerability detection
142
- - **Source:** npm: eslint-plugin-security or similar
143
-
144
- - **Tool:** dependency-checker
145
- - **Purpose:** Check for vulnerable dependencies
146
- - **Source:** npm audit or snyk
147
-
148
- ---
149
-
150
- ## Scripts
151
-
152
- **Agent-specific code for this task:**
153
-
154
- - **Script:** security-scan.js
155
- - **Purpose:** Run security scans and generate reports
156
- - **Language:** JavaScript
157
- - **Location:** .aios-core/scripts/security-scan.js
158
-
159
- ---
160
-
161
- ## Error Handling
162
-
163
- **Strategy:** retry
164
-
165
- **Common Errors:**
166
-
167
- 1. **Error:** Scanner Unavailable
168
- - **Cause:** Security scanner not installed or failed
169
- - **Resolution:** Install scanner or check configuration
170
- - **Recovery:** Skip scan with high-risk warning
171
-
172
- 2. **Error:** Critical Vulnerability Detected
173
- - **Cause:** High-severity security issue found
174
- - **Resolution:** Review vulnerability report, apply patches
175
- - **Recovery:** Block deployment, alert team
176
-
177
- 3. **Error:** Scan Timeout
178
- - **Cause:** Large codebase exceeds scan time limit
179
- - **Resolution:** Reduce scope or increase timeout
180
- - **Recovery:** Partial scan results with warning
181
-
182
- ---
183
-
184
- ## Performance
185
-
186
- **Expected Metrics:**
187
-
188
- ```yaml
189
- duration_expected: 5-20 min (estimated)
190
- cost_estimated: $0.003-0.015
191
- token_usage: ~2,000-8,000 tokens
192
- ```
193
-
194
- **Optimization Notes:**
195
- - Iterative analysis with depth limits; cache intermediate results; batch similar operations
196
-
197
- ---
198
-
199
- ## Metadata
200
-
201
- ```yaml
202
- story: N/A
203
- version: 1.0.0
204
- dependencies:
205
- - N/A
206
- tags:
207
- - security
208
- - audit
209
- updated_at: 2025-11-17
210
- ```
211
-
212
- ---
213
-
214
-
215
- ## Elicitation
216
-
217
- **Prompt user to select audit scope:**
218
-
219
- ```
220
- Select security audit scope:
221
-
222
- 1. **rls** - RLS policy coverage only (quick)
223
- 2. **schema** - Schema design quality only (quick)
224
- 3. **full** - Complete security audit (comprehensive)
225
-
226
- Which scope? [rls/schema/full]:
227
- ```
228
-
229
- **Capture:** `{scope}`
230
-
231
- ---
232
-
233
- ## Process
234
-
235
- ### Scope: RLS Audit
236
-
237
- **When:** User selects `rls` or `full`
238
-
239
- **Purpose:** Report tables with/without RLS and list all policies
240
-
241
- ```bash
242
- psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 <<'SQL'
243
- \echo '=== RLS Coverage Audit ==='
244
- \echo ''
245
-
246
- -- Tables with/without RLS
247
- WITH t AS (
248
- SELECT tablename, rowsecurity
249
- FROM pg_tables WHERE schemaname='public'
250
- )
251
- SELECT
252
- tablename,
253
- CASE WHEN rowsecurity THEN '✓ ENABLED' ELSE '❌ DISABLED' END AS rls_status,
254
- (SELECT json_agg(json_build_object(
255
- 'policy', policyname,
256
- 'cmd', cmd,
257
- 'roles', roles,
258
- 'qual', qual,
259
- 'with_check', with_check
260
- ))
261
- FROM pg_policies p
262
- WHERE p.tablename=t.tablename
263
- AND p.schemaname='public') AS policies
264
- FROM t
265
- ORDER BY rowsecurity DESC, tablename;
266
-
267
- \echo ''
268
- \echo '=== RLS Summary ==='
269
-
270
- SELECT
271
- COUNT(*) AS total_tables,
272
- COUNT(*) FILTER (WHERE rowsecurity) AS rls_enabled,
273
- COUNT(*) FILTER (WHERE NOT rowsecurity) AS rls_disabled
274
- FROM pg_tables
275
- WHERE schemaname='public';
276
-
277
- \echo ''
278
- \echo '=== Tables Without RLS (Security Risk) ==='
279
-
280
- SELECT tablename
281
- FROM pg_tables
282
- WHERE schemaname='public'
283
- AND rowsecurity = false
284
- ORDER BY tablename;
285
-
286
- \echo ''
287
- \echo '=== Policy Coverage by Command ==='
288
-
289
- SELECT
290
- tablename,
291
- COUNT(*) FILTER (WHERE cmd='SELECT') AS select_policies,
292
- COUNT(*) FILTER (WHERE cmd='INSERT') AS insert_policies,
293
- COUNT(*) FILTER (WHERE cmd='UPDATE') AS update_policies,
294
- COUNT(*) FILTER (WHERE cmd='DELETE') AS delete_policies
295
- FROM pg_policies
296
- WHERE schemaname='public'
297
- GROUP BY tablename
298
- ORDER BY tablename;
299
-
300
- SQL
301
- ```
302
-
303
- ---
304
-
305
- ### Scope: Schema Audit
306
-
307
- **When:** User selects `schema` or `full`
308
-
309
- **Purpose:** Validate schema design quality and best practices
310
-
311
- ```bash
312
- psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 <<'SQL'
313
- \echo '=== Schema Design Quality Audit ==='
314
- \echo ''
315
-
316
- -- Missing Primary Keys
317
- \echo '1. Tables Without Primary Keys (CRITICAL):'
318
- SELECT t.tablename
319
- FROM pg_tables t
320
- LEFT JOIN pg_constraint c ON c.conrelid = (t.schemaname||'.'||t.tablename)::regclass
321
- AND c.contype = 'p'
322
- WHERE t.schemaname = 'public'
323
- AND c.conname IS NULL
324
- ORDER BY t.tablename;
325
-
326
- \echo ''
327
- \echo '2. Missing NOT NULL on Required Fields:'
328
- SELECT
329
- table_name,
330
- column_name,
331
- data_type
332
- FROM information_schema.columns
333
- WHERE table_schema = 'public'
334
- AND is_nullable = 'YES'
335
- AND column_name IN ('email', 'user_id', 'created_at', 'updated_at', 'status')
336
- ORDER BY table_name, column_name;
337
-
338
- \echo ''
339
- \echo '3. Missing Foreign Key Constraints:'
340
- -- Tables with _id columns but no FK
341
- SELECT
342
- c.table_name,
343
- c.column_name,
344
- 'Missing FK to ' || REPLACE(c.column_name, '_id', 's') AS suggestion
345
- FROM information_schema.columns c
346
- LEFT JOIN information_schema.table_constraints tc
347
- ON tc.table_name = c.table_name
348
- AND tc.constraint_type = 'FOREIGN KEY'
349
- LEFT JOIN information_schema.key_column_usage kcu
350
- ON kcu.constraint_name = tc.constraint_name
351
- AND kcu.column_name = c.column_name
352
- WHERE c.table_schema = 'public'
353
- AND c.column_name LIKE '%_id'
354
- AND c.column_name != 'id'
355
- AND kcu.column_name IS NULL
356
- ORDER BY c.table_name, c.column_name;
357
-
358
- \echo ''
359
- \echo '4. Missing Audit Timestamps (created_at, updated_at):'
360
- SELECT
361
- t.tablename,
362
- CASE WHEN created_col.column_name IS NULL THEN '❌ No created_at' ELSE '✓' END AS created,
363
- CASE WHEN updated_col.column_name IS NULL THEN '❌ No updated_at' ELSE '✓' END AS updated
364
- FROM pg_tables t
365
- LEFT JOIN information_schema.columns created_col
366
- ON created_col.table_name = t.tablename
367
- AND created_col.column_name = 'created_at'
368
- AND created_col.table_schema = 'public'
369
- LEFT JOIN information_schema.columns updated_col
370
- ON updated_col.table_name = t.tablename
371
- AND updated_col.column_name = 'updated_at'
372
- AND updated_col.table_schema = 'public'
373
- WHERE t.schemaname = 'public'
374
- AND (created_col.column_name IS NULL OR updated_col.column_name IS NULL)
375
- ORDER BY t.tablename;
376
-
377
- \echo ''
378
- \echo '5. Missing Indexes on Foreign Keys:'
379
- SELECT
380
- t.tablename,
381
- c.column_name,
382
- 'CREATE INDEX idx_' || t.tablename || '_' || c.column_name || ' ON ' || t.tablename || '(' || c.column_name || ');' AS suggested_index
383
- FROM pg_tables t
384
- JOIN information_schema.columns c ON c.table_name = t.tablename
385
- LEFT JOIN pg_indexes i ON i.tablename = t.tablename
386
- AND i.indexdef LIKE '%' || c.column_name || '%'
387
- WHERE t.schemaname = 'public'
388
- AND c.table_schema = 'public'
389
- AND c.column_name LIKE '%_id'
390
- AND c.column_name != 'id'
391
- AND i.indexname IS NULL
392
- ORDER BY t.tablename, c.column_name;
393
-
394
- \echo ''
395
- \echo '=== Schema Audit Summary ==='
396
- SELECT
397
- (SELECT COUNT(*) FROM pg_tables WHERE schemaname='public') AS total_tables,
398
- (SELECT COUNT(DISTINCT tablename) FROM pg_policies WHERE schemaname='public') AS tables_with_policies,
399
- (SELECT COUNT(*) FROM pg_constraint WHERE contype='f') AS foreign_keys,
400
- (SELECT COUNT(*) FROM pg_indexes WHERE schemaname='public') AS total_indexes;
401
-
402
- SQL
403
- ```
404
-
405
- ---
406
-
407
- ### Scope: Full Audit
408
-
409
- **When:** User selects `full`
410
-
411
- **Executes:** Both RLS audit + Schema audit sequentially
412
-
413
- **Additional Checks:**
414
-
415
- ```bash
416
- psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 <<'SQL'
417
- \echo ''
418
- \echo '=== Security Best Practices Check ==='
419
- \echo ''
420
-
421
- -- Check for sensitive data exposure
422
- \echo '6. Potential PII/Sensitive Columns (Review for RLS):'
423
- SELECT
424
- table_name,
425
- column_name,
426
- data_type
427
- FROM information_schema.columns
428
- WHERE table_schema = 'public'
429
- AND (
430
- column_name ILIKE '%password%'
431
- OR column_name ILIKE '%token%'
432
- OR column_name ILIKE '%secret%'
433
- OR column_name ILIKE '%ssn%'
434
- OR column_name ILIKE '%credit%'
435
- OR column_name ILIKE '%api_key%'
436
- )
437
- ORDER BY table_name, column_name;
438
-
439
- \echo ''
440
- \echo '7. Public Schema Permissions:'
441
- SELECT
442
- schemaname,
443
- tablename,
444
- tableowner,
445
- hasindexes,
446
- hasrules,
447
- hastriggers
448
- FROM pg_tables
449
- WHERE schemaname = 'public'
450
- ORDER BY tablename;
451
-
452
- SQL
453
- ```
454
-
455
- ---
456
-
457
- ## Output
458
-
459
- ### RLS Audit Output
460
-
461
- ```
462
- === RLS Coverage Audit ===
463
-
464
- tablename | rls_status | policies
465
- -----------+------------+-------------------------------
466
- users | ✓ ENABLED | [{"policy":"Users read own",...}]
467
- posts | ✓ ENABLED | [{"policy":"Public read",...}]
468
- secrets | ❌ DISABLED| null
469
-
470
- === RLS Summary ===
471
-
472
- total_tables | rls_enabled | rls_disabled
473
- --------------+-------------+--------------
474
- 10 | 8 | 2
475
-
476
- === Tables Without RLS (Security Risk) ===
477
-
478
- tablename
479
- -----------
480
- secrets
481
- internal_logs
482
- ```
483
-
484
- ### Schema Audit Output
485
-
486
- ```
487
- === Schema Design Quality Audit ===
488
-
489
- 1. Tables Without Primary Keys (CRITICAL):
490
- tablename
491
- -----------
492
- (0 rows) ✓
493
-
494
- 2. Missing NOT NULL on Required Fields:
495
- table_name | column_name | data_type
496
- ------------+-------------+-----------
497
- users | email | text
498
-
499
- 3. Missing Foreign Key Constraints:
500
- table_name | column_name | suggestion
501
- ------------+-------------+----------------------
502
- posts | user_id | Missing FK to users
503
-
504
- ... (additional checks)
505
- ```
506
-
507
- ---
508
-
509
- ## Interpretation
510
-
511
- ### Critical Issues (Fix Immediately)
512
-
513
- - **RLS Disabled:** Tables without RLS are publicly accessible
514
- - **No Primary Keys:** Data integrity at risk
515
- - **Sensitive Columns Exposed:** PII/secrets without RLS protection
516
-
517
- ### High Priority Issues (Fix Soon)
518
-
519
- - **Missing Foreign Keys:** Data integrity and query performance
520
- - **Missing NOT NULL:** Data quality issues
521
- - **Missing Indexes on FKs:** Query performance degradation
522
-
523
- ### Medium Priority Issues (Technical Debt)
524
-
525
- - **Missing Audit Timestamps:** Tracking challenges
526
- - **Inconsistent Naming:** Maintainability issues
527
-
528
- ---
529
-
530
- ## Recommendations
531
-
532
- **After RLS Audit:**
533
- 1. Enable RLS on all public tables: `ALTER TABLE {table} ENABLE ROW LEVEL SECURITY;`
534
- 2. Create policies for all CRUD operations (use `*policy-apply` command)
535
- 3. Test with `*test-as-user` command
536
-
537
- **After Schema Audit:**
538
- 1. Add missing primary keys: `ALTER TABLE {table} ADD PRIMARY KEY (id);`
539
- 2. Add missing foreign keys: `ALTER TABLE {table} ADD FOREIGN KEY ({col}) REFERENCES {ref_table}(id);`
540
- 3. Add missing NOT NULL: `ALTER TABLE {table} ALTER COLUMN {col} SET NOT NULL;`
541
- 4. Create indexes on foreign keys: `CREATE INDEX idx_{table}_{col} ON {table}({col});`
542
-
543
- ---
544
-
545
- ## Related Commands
546
-
547
- - `*policy-apply {table} {mode}` - Install RLS policies after audit
548
- - `*test-as-user {user_id}` - Test RLS policies
549
- - `*verify-order {migration}` - Validate migration DDL ordering
550
- - `*create-migration-plan` - Plan schema changes
551
-
552
- ---
553
-
554
- **Note:** This consolidated task replaces `db-rls-audit.md` and `schema-audit.md` (deprecated in v3.0)
1
+ # Task: Security Audit
2
+
3
+ **Purpose**: Comprehensive database security and quality audit (RLS coverage, schema design, full system)
4
+
5
+ **Elicit**: true
6
+
7
+ **Consolidated From (Story 6.1.2.3):**
8
+ - `db-rls-audit.md` - RLS policy coverage checking
9
+ - `schema-audit.md` - Schema design quality validation
10
+
11
+ ---
12
+
13
+ ## Execution Modes
14
+
15
+ **Choose your execution mode:**
16
+
17
+ ### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
18
+ - Autonomous decision making with logging
19
+ - Minimal user interaction
20
+ - **Best for:** Simple, deterministic tasks
21
+
22
+ ### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
23
+ - Explicit decision checkpoints
24
+ - Educational explanations
25
+ - **Best for:** Learning, complex decisions
26
+
27
+ ### 3. Pre-Flight Planning - Comprehensive Upfront Planning
28
+ - Task analysis phase (identify all ambiguities)
29
+ - Zero ambiguity execution
30
+ - **Best for:** Ambiguous requirements, critical work
31
+
32
+ **Parameter:** `mode` (optional, default: `interactive`)
33
+
34
+ ---
35
+
36
+ ## Task Definition (AIOS Task Format V1.0)
37
+
38
+ ```yaml
39
+ task: securityAudit()
40
+ responsável: Quinn (Guardian)
41
+ responsavel_type: Agente
42
+ atomic_layer: Strategy
43
+
44
+ **Entrada:**
45
+ - campo: target
46
+ tipo: string
47
+ origem: User Input
48
+ obrigatório: true
49
+ validação: Valid path or resource
50
+
51
+ - campo: scan_depth
52
+ tipo: number
53
+ origem: config
54
+ obrigatório: false
55
+ validação: Default: 2 (1-5)
56
+
57
+ - campo: rules
58
+ tipo: array
59
+ origem: config
60
+ obrigatório: true
61
+ validação: Security rule set
62
+
63
+ **Saída:**
64
+ - campo: scan_report
65
+ tipo: object
66
+ destino: File (.ai/security/*)
67
+ persistido: true
68
+
69
+ - campo: vulnerabilities
70
+ tipo: array
71
+ destino: Memory
72
+ persistido: false
73
+
74
+ - campo: risk_score
75
+ tipo: number
76
+ destino: Memory
77
+ persistido: false
78
+ ```
79
+
80
+ ---
81
+
82
+ ## Pre-Conditions
83
+
84
+ **Purpose:** Validate prerequisites BEFORE task execution (blocking)
85
+
86
+ **Checklist:**
87
+
88
+ ```yaml
89
+ pre-conditions:
90
+ - [ ] Scanner available; target accessible; rules configured
91
+ tipo: pre-condition
92
+ blocker: true
93
+ validação: |
94
+ Check scanner available; target accessible; rules configured
95
+ error_message: "Pre-condition failed: Scanner available; target accessible; rules configured"
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Post-Conditions
101
+
102
+ **Purpose:** Validate execution success AFTER task completes
103
+
104
+ **Checklist:**
105
+
106
+ ```yaml
107
+ post-conditions:
108
+ - [ ] Scan completed; vulnerabilities reported; no scan errors
109
+ tipo: post-condition
110
+ blocker: true
111
+ validação: |
112
+ Verify scan completed; vulnerabilities reported; no scan errors
113
+ error_message: "Post-condition failed: Scan completed; vulnerabilities reported; no scan errors"
114
+ ```
115
+
116
+ ---
117
+
118
+ ## Acceptance Criteria
119
+
120
+ **Purpose:** Definitive pass/fail criteria for task completion
121
+
122
+ **Checklist:**
123
+
124
+ ```yaml
125
+ acceptance-criteria:
126
+ - [ ] No critical vulnerabilities; all checks passed
127
+ tipo: acceptance-criterion
128
+ blocker: true
129
+ validação: |
130
+ Assert no critical vulnerabilities; all checks passed
131
+ error_message: "Acceptance criterion not met: No critical vulnerabilities; all checks passed"
132
+ ```
133
+
134
+ ---
135
+
136
+ ## Tools
137
+
138
+ **External/shared resources used by this task:**
139
+
140
+ - **Tool:** security-scanner
141
+ - **Purpose:** Static security analysis and vulnerability detection
142
+ - **Source:** npm: eslint-plugin-security or similar
143
+
144
+ - **Tool:** dependency-checker
145
+ - **Purpose:** Check for vulnerable dependencies
146
+ - **Source:** npm audit or snyk
147
+
148
+ ---
149
+
150
+ ## Scripts
151
+
152
+ **Agent-specific code for this task:**
153
+
154
+ - **Script:** security-scan.js
155
+ - **Purpose:** Run security scans and generate reports
156
+ - **Language:** JavaScript
157
+ - **Location:** .aios-core/scripts/security-scan.js
158
+
159
+ ---
160
+
161
+ ## Error Handling
162
+
163
+ **Strategy:** retry
164
+
165
+ **Common Errors:**
166
+
167
+ 1. **Error:** Scanner Unavailable
168
+ - **Cause:** Security scanner not installed or failed
169
+ - **Resolution:** Install scanner or check configuration
170
+ - **Recovery:** Skip scan with high-risk warning
171
+
172
+ 2. **Error:** Critical Vulnerability Detected
173
+ - **Cause:** High-severity security issue found
174
+ - **Resolution:** Review vulnerability report, apply patches
175
+ - **Recovery:** Block deployment, alert team
176
+
177
+ 3. **Error:** Scan Timeout
178
+ - **Cause:** Large codebase exceeds scan time limit
179
+ - **Resolution:** Reduce scope or increase timeout
180
+ - **Recovery:** Partial scan results with warning
181
+
182
+ ---
183
+
184
+ ## Performance
185
+
186
+ **Expected Metrics:**
187
+
188
+ ```yaml
189
+ duration_expected: 5-20 min (estimated)
190
+ cost_estimated: $0.003-0.015
191
+ token_usage: ~2,000-8,000 tokens
192
+ ```
193
+
194
+ **Optimization Notes:**
195
+ - Iterative analysis with depth limits; cache intermediate results; batch similar operations
196
+
197
+ ---
198
+
199
+ ## Metadata
200
+
201
+ ```yaml
202
+ story: N/A
203
+ version: 1.0.0
204
+ dependencies:
205
+ - N/A
206
+ tags:
207
+ - security
208
+ - audit
209
+ updated_at: 2025-11-17
210
+ ```
211
+
212
+ ---
213
+
214
+
215
+ ## Elicitation
216
+
217
+ **Prompt user to select audit scope:**
218
+
219
+ ```
220
+ Select security audit scope:
221
+
222
+ 1. **rls** - RLS policy coverage only (quick)
223
+ 2. **schema** - Schema design quality only (quick)
224
+ 3. **full** - Complete security audit (comprehensive)
225
+
226
+ Which scope? [rls/schema/full]:
227
+ ```
228
+
229
+ **Capture:** `{scope}`
230
+
231
+ ---
232
+
233
+ ## Process
234
+
235
+ ### Scope: RLS Audit
236
+
237
+ **When:** User selects `rls` or `full`
238
+
239
+ **Purpose:** Report tables with/without RLS and list all policies
240
+
241
+ ```bash
242
+ psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 <<'SQL'
243
+ \echo '=== RLS Coverage Audit ==='
244
+ \echo ''
245
+
246
+ -- Tables with/without RLS
247
+ WITH t AS (
248
+ SELECT tablename, rowsecurity
249
+ FROM pg_tables WHERE schemaname='public'
250
+ )
251
+ SELECT
252
+ tablename,
253
+ CASE WHEN rowsecurity THEN '✓ ENABLED' ELSE '❌ DISABLED' END AS rls_status,
254
+ (SELECT json_agg(json_build_object(
255
+ 'policy', policyname,
256
+ 'cmd', cmd,
257
+ 'roles', roles,
258
+ 'qual', qual,
259
+ 'with_check', with_check
260
+ ))
261
+ FROM pg_policies p
262
+ WHERE p.tablename=t.tablename
263
+ AND p.schemaname='public') AS policies
264
+ FROM t
265
+ ORDER BY rowsecurity DESC, tablename;
266
+
267
+ \echo ''
268
+ \echo '=== RLS Summary ==='
269
+
270
+ SELECT
271
+ COUNT(*) AS total_tables,
272
+ COUNT(*) FILTER (WHERE rowsecurity) AS rls_enabled,
273
+ COUNT(*) FILTER (WHERE NOT rowsecurity) AS rls_disabled
274
+ FROM pg_tables
275
+ WHERE schemaname='public';
276
+
277
+ \echo ''
278
+ \echo '=== Tables Without RLS (Security Risk) ==='
279
+
280
+ SELECT tablename
281
+ FROM pg_tables
282
+ WHERE schemaname='public'
283
+ AND rowsecurity = false
284
+ ORDER BY tablename;
285
+
286
+ \echo ''
287
+ \echo '=== Policy Coverage by Command ==='
288
+
289
+ SELECT
290
+ tablename,
291
+ COUNT(*) FILTER (WHERE cmd='SELECT') AS select_policies,
292
+ COUNT(*) FILTER (WHERE cmd='INSERT') AS insert_policies,
293
+ COUNT(*) FILTER (WHERE cmd='UPDATE') AS update_policies,
294
+ COUNT(*) FILTER (WHERE cmd='DELETE') AS delete_policies
295
+ FROM pg_policies
296
+ WHERE schemaname='public'
297
+ GROUP BY tablename
298
+ ORDER BY tablename;
299
+
300
+ SQL
301
+ ```
302
+
303
+ ---
304
+
305
+ ### Scope: Schema Audit
306
+
307
+ **When:** User selects `schema` or `full`
308
+
309
+ **Purpose:** Validate schema design quality and best practices
310
+
311
+ ```bash
312
+ psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 <<'SQL'
313
+ \echo '=== Schema Design Quality Audit ==='
314
+ \echo ''
315
+
316
+ -- Missing Primary Keys
317
+ \echo '1. Tables Without Primary Keys (CRITICAL):'
318
+ SELECT t.tablename
319
+ FROM pg_tables t
320
+ LEFT JOIN pg_constraint c ON c.conrelid = (t.schemaname||'.'||t.tablename)::regclass
321
+ AND c.contype = 'p'
322
+ WHERE t.schemaname = 'public'
323
+ AND c.conname IS NULL
324
+ ORDER BY t.tablename;
325
+
326
+ \echo ''
327
+ \echo '2. Missing NOT NULL on Required Fields:'
328
+ SELECT
329
+ table_name,
330
+ column_name,
331
+ data_type
332
+ FROM information_schema.columns
333
+ WHERE table_schema = 'public'
334
+ AND is_nullable = 'YES'
335
+ AND column_name IN ('email', 'user_id', 'created_at', 'updated_at', 'status')
336
+ ORDER BY table_name, column_name;
337
+
338
+ \echo ''
339
+ \echo '3. Missing Foreign Key Constraints:'
340
+ -- Tables with _id columns but no FK
341
+ SELECT
342
+ c.table_name,
343
+ c.column_name,
344
+ 'Missing FK to ' || REPLACE(c.column_name, '_id', 's') AS suggestion
345
+ FROM information_schema.columns c
346
+ LEFT JOIN information_schema.table_constraints tc
347
+ ON tc.table_name = c.table_name
348
+ AND tc.constraint_type = 'FOREIGN KEY'
349
+ LEFT JOIN information_schema.key_column_usage kcu
350
+ ON kcu.constraint_name = tc.constraint_name
351
+ AND kcu.column_name = c.column_name
352
+ WHERE c.table_schema = 'public'
353
+ AND c.column_name LIKE '%_id'
354
+ AND c.column_name != 'id'
355
+ AND kcu.column_name IS NULL
356
+ ORDER BY c.table_name, c.column_name;
357
+
358
+ \echo ''
359
+ \echo '4. Missing Audit Timestamps (created_at, updated_at):'
360
+ SELECT
361
+ t.tablename,
362
+ CASE WHEN created_col.column_name IS NULL THEN '❌ No created_at' ELSE '✓' END AS created,
363
+ CASE WHEN updated_col.column_name IS NULL THEN '❌ No updated_at' ELSE '✓' END AS updated
364
+ FROM pg_tables t
365
+ LEFT JOIN information_schema.columns created_col
366
+ ON created_col.table_name = t.tablename
367
+ AND created_col.column_name = 'created_at'
368
+ AND created_col.table_schema = 'public'
369
+ LEFT JOIN information_schema.columns updated_col
370
+ ON updated_col.table_name = t.tablename
371
+ AND updated_col.column_name = 'updated_at'
372
+ AND updated_col.table_schema = 'public'
373
+ WHERE t.schemaname = 'public'
374
+ AND (created_col.column_name IS NULL OR updated_col.column_name IS NULL)
375
+ ORDER BY t.tablename;
376
+
377
+ \echo ''
378
+ \echo '5. Missing Indexes on Foreign Keys:'
379
+ SELECT
380
+ t.tablename,
381
+ c.column_name,
382
+ 'CREATE INDEX idx_' || t.tablename || '_' || c.column_name || ' ON ' || t.tablename || '(' || c.column_name || ');' AS suggested_index
383
+ FROM pg_tables t
384
+ JOIN information_schema.columns c ON c.table_name = t.tablename
385
+ LEFT JOIN pg_indexes i ON i.tablename = t.tablename
386
+ AND i.indexdef LIKE '%' || c.column_name || '%'
387
+ WHERE t.schemaname = 'public'
388
+ AND c.table_schema = 'public'
389
+ AND c.column_name LIKE '%_id'
390
+ AND c.column_name != 'id'
391
+ AND i.indexname IS NULL
392
+ ORDER BY t.tablename, c.column_name;
393
+
394
+ \echo ''
395
+ \echo '=== Schema Audit Summary ==='
396
+ SELECT
397
+ (SELECT COUNT(*) FROM pg_tables WHERE schemaname='public') AS total_tables,
398
+ (SELECT COUNT(DISTINCT tablename) FROM pg_policies WHERE schemaname='public') AS tables_with_policies,
399
+ (SELECT COUNT(*) FROM pg_constraint WHERE contype='f') AS foreign_keys,
400
+ (SELECT COUNT(*) FROM pg_indexes WHERE schemaname='public') AS total_indexes;
401
+
402
+ SQL
403
+ ```
404
+
405
+ ---
406
+
407
+ ### Scope: Full Audit
408
+
409
+ **When:** User selects `full`
410
+
411
+ **Executes:** Both RLS audit + Schema audit sequentially
412
+
413
+ **Additional Checks:**
414
+
415
+ ```bash
416
+ psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 <<'SQL'
417
+ \echo ''
418
+ \echo '=== Security Best Practices Check ==='
419
+ \echo ''
420
+
421
+ -- Check for sensitive data exposure
422
+ \echo '6. Potential PII/Sensitive Columns (Review for RLS):'
423
+ SELECT
424
+ table_name,
425
+ column_name,
426
+ data_type
427
+ FROM information_schema.columns
428
+ WHERE table_schema = 'public'
429
+ AND (
430
+ column_name ILIKE '%password%'
431
+ OR column_name ILIKE '%token%'
432
+ OR column_name ILIKE '%secret%'
433
+ OR column_name ILIKE '%ssn%'
434
+ OR column_name ILIKE '%credit%'
435
+ OR column_name ILIKE '%api_key%'
436
+ )
437
+ ORDER BY table_name, column_name;
438
+
439
+ \echo ''
440
+ \echo '7. Public Schema Permissions:'
441
+ SELECT
442
+ schemaname,
443
+ tablename,
444
+ tableowner,
445
+ hasindexes,
446
+ hasrules,
447
+ hastriggers
448
+ FROM pg_tables
449
+ WHERE schemaname = 'public'
450
+ ORDER BY tablename;
451
+
452
+ SQL
453
+ ```
454
+
455
+ ---
456
+
457
+ ## Output
458
+
459
+ ### RLS Audit Output
460
+
461
+ ```
462
+ === RLS Coverage Audit ===
463
+
464
+ tablename | rls_status | policies
465
+ -----------+------------+-------------------------------
466
+ users | ✓ ENABLED | [{"policy":"Users read own",...}]
467
+ posts | ✓ ENABLED | [{"policy":"Public read",...}]
468
+ secrets | ❌ DISABLED| null
469
+
470
+ === RLS Summary ===
471
+
472
+ total_tables | rls_enabled | rls_disabled
473
+ --------------+-------------+--------------
474
+ 10 | 8 | 2
475
+
476
+ === Tables Without RLS (Security Risk) ===
477
+
478
+ tablename
479
+ -----------
480
+ secrets
481
+ internal_logs
482
+ ```
483
+
484
+ ### Schema Audit Output
485
+
486
+ ```
487
+ === Schema Design Quality Audit ===
488
+
489
+ 1. Tables Without Primary Keys (CRITICAL):
490
+ tablename
491
+ -----------
492
+ (0 rows) ✓
493
+
494
+ 2. Missing NOT NULL on Required Fields:
495
+ table_name | column_name | data_type
496
+ ------------+-------------+-----------
497
+ users | email | text
498
+
499
+ 3. Missing Foreign Key Constraints:
500
+ table_name | column_name | suggestion
501
+ ------------+-------------+----------------------
502
+ posts | user_id | Missing FK to users
503
+
504
+ ... (additional checks)
505
+ ```
506
+
507
+ ---
508
+
509
+ ## Interpretation
510
+
511
+ ### Critical Issues (Fix Immediately)
512
+
513
+ - **RLS Disabled:** Tables without RLS are publicly accessible
514
+ - **No Primary Keys:** Data integrity at risk
515
+ - **Sensitive Columns Exposed:** PII/secrets without RLS protection
516
+
517
+ ### High Priority Issues (Fix Soon)
518
+
519
+ - **Missing Foreign Keys:** Data integrity and query performance
520
+ - **Missing NOT NULL:** Data quality issues
521
+ - **Missing Indexes on FKs:** Query performance degradation
522
+
523
+ ### Medium Priority Issues (Technical Debt)
524
+
525
+ - **Missing Audit Timestamps:** Tracking challenges
526
+ - **Inconsistent Naming:** Maintainability issues
527
+
528
+ ---
529
+
530
+ ## Recommendations
531
+
532
+ **After RLS Audit:**
533
+ 1. Enable RLS on all public tables: `ALTER TABLE {table} ENABLE ROW LEVEL SECURITY;`
534
+ 2. Create policies for all CRUD operations (use `*policy-apply` command)
535
+ 3. Test with `*test-as-user` command
536
+
537
+ **After Schema Audit:**
538
+ 1. Add missing primary keys: `ALTER TABLE {table} ADD PRIMARY KEY (id);`
539
+ 2. Add missing foreign keys: `ALTER TABLE {table} ADD FOREIGN KEY ({col}) REFERENCES {ref_table}(id);`
540
+ 3. Add missing NOT NULL: `ALTER TABLE {table} ALTER COLUMN {col} SET NOT NULL;`
541
+ 4. Create indexes on foreign keys: `CREATE INDEX idx_{table}_{col} ON {table}({col});`
542
+
543
+ ---
544
+
545
+ ## Related Commands
546
+
547
+ - `*policy-apply {table} {mode}` - Install RLS policies after audit
548
+ - `*test-as-user {user_id}` - Test RLS policies
549
+ - `*verify-order {migration}` - Validate migration DDL ordering
550
+ - `*create-migration-plan` - Plan schema changes
551
+
552
+ ---
553
+
554
+ **Note:** This consolidated task replaces `db-rls-audit.md` and `schema-audit.md` (deprecated in v3.0)