@jaimevalasek/aioson 1.7.2 → 1.8.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 (362) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +153 -10
  3. package/docs/en/cli-reference.md +56 -1
  4. package/docs/en/i18n.md +18 -18
  5. package/docs/en/schemas/index.json +10 -0
  6. package/docs/en/schemas/parallel-assign.schema.json +9 -0
  7. package/docs/en/schemas/parallel-doctor.schema.json +36 -0
  8. package/docs/en/schemas/parallel-guard.schema.json +63 -0
  9. package/docs/en/schemas/parallel-merge.schema.json +84 -0
  10. package/docs/en/schemas/parallel-status.schema.json +91 -1
  11. package/docs/integrations/apps-publish-marketplace.md +94 -0
  12. package/docs/pt/README.md +9 -0
  13. package/docs/pt/agentes.md +324 -3
  14. package/docs/pt/clientes-ai.md +7 -3
  15. package/docs/pt/comandos-cli.md +160 -13
  16. package/docs/pt/compress-agents.md +304 -0
  17. package/docs/pt/design-docs-governance.md +59 -0
  18. package/docs/pt/feature-archive.md +191 -0
  19. package/docs/pt/genome-3.0-spec.md +115 -4
  20. package/docs/pt/genome-distribution.md +232 -0
  21. package/docs/pt/inicio-rapido.md +1 -0
  22. package/docs/pt/motor-hardening.md +492 -0
  23. package/docs/pt/runner-system.md +113 -0
  24. package/package.json +2 -1
  25. package/src/agent-manifests.js +66 -0
  26. package/src/agents.js +27 -7
  27. package/src/autonomy-policy.js +139 -0
  28. package/src/brain-query.js +161 -0
  29. package/src/cli.js +1377 -1099
  30. package/src/commands/agents.js +102 -7
  31. package/src/commands/artifact-validate.js +33 -4
  32. package/src/commands/auth.js +272 -0
  33. package/src/commands/brain-query.js +44 -0
  34. package/src/commands/briefing.js +344 -0
  35. package/src/commands/commit-prepare.js +547 -0
  36. package/src/commands/compress-agents.js +416 -0
  37. package/src/commands/context-health.js +4 -2
  38. package/src/commands/context-trim.js +17 -11
  39. package/src/commands/design-hybrid-options.js +3 -3
  40. package/src/commands/devlog-process.js +6 -4
  41. package/src/commands/dossier.js +423 -0
  42. package/src/commands/feature-archive.js +513 -0
  43. package/src/commands/feature-close.js +123 -18
  44. package/src/commands/gate-approve.js +198 -0
  45. package/src/commands/gate-check.js +24 -5
  46. package/src/commands/genome-doctor.js +166 -9
  47. package/src/commands/git-guard.js +170 -0
  48. package/src/commands/harness.js +121 -0
  49. package/src/commands/implementation-plan.js +47 -20
  50. package/src/commands/init.js +6 -2
  51. package/src/commands/install.js +6 -2
  52. package/src/commands/live.js +497 -56
  53. package/src/commands/locale-apply.js +9 -6
  54. package/src/commands/locale-diff.js +11 -112
  55. package/src/commands/mcp-doctor.js +2 -1
  56. package/src/commands/mcp-init.js +4 -10
  57. package/src/commands/memory.js +234 -0
  58. package/src/commands/parallel-assign.js +107 -27
  59. package/src/commands/parallel-doctor.js +416 -3
  60. package/src/commands/parallel-guard.js +241 -0
  61. package/src/commands/parallel-init.js +66 -4
  62. package/src/commands/parallel-merge.js +299 -0
  63. package/src/commands/parallel-status.js +147 -3
  64. package/src/commands/preflight.js +63 -4
  65. package/src/commands/qa-init.js +10 -5
  66. package/src/commands/revision.js +235 -0
  67. package/src/commands/scaffold-complete.js +188 -0
  68. package/src/commands/security-audit.js +275 -0
  69. package/src/commands/security-scan.js +376 -0
  70. package/src/commands/self-implement-loop.js +46 -2
  71. package/src/commands/setup-context.js +11 -10
  72. package/src/commands/squad-agent-create.js +51 -9
  73. package/src/commands/squad-investigate.js +53 -0
  74. package/src/commands/squad-plan.js +33 -1
  75. package/src/commands/squad-scaffold.js +4 -3
  76. package/src/commands/squad-score.js +71 -14
  77. package/src/commands/squad-status.js +22 -1
  78. package/src/commands/squad-validate.js +93 -2
  79. package/src/commands/store-genome.js +304 -0
  80. package/src/commands/store-skill.js +247 -0
  81. package/src/commands/store-squad.js +431 -0
  82. package/src/commands/store-system.js +392 -0
  83. package/src/commands/tool-capabilities.js +63 -0
  84. package/src/commands/update.js +3 -3
  85. package/src/commands/verify-gate.js +40 -0
  86. package/src/commands/workflow-execute.js +644 -155
  87. package/src/commands/workflow-harden.js +231 -0
  88. package/src/commands/workflow-heal.js +136 -0
  89. package/src/commands/workflow-next.js +460 -22
  90. package/src/commands/workflow-status.js +328 -138
  91. package/src/commands/workspace.js +144 -0
  92. package/src/constants.js +42 -75
  93. package/src/context-memory.js +133 -4
  94. package/src/context-writer.js +2 -1
  95. package/src/context.js +32 -2
  96. package/src/doctor.js +46 -6
  97. package/src/dossier/codemap-store.js +267 -0
  98. package/src/dossier/dossier-bootstrap.js +222 -0
  99. package/src/dossier/dossier-compact.js +159 -0
  100. package/src/dossier/lock.js +128 -0
  101. package/src/dossier/revision-store.js +313 -0
  102. package/src/dossier/schema.js +155 -0
  103. package/src/dossier/store.js +400 -0
  104. package/src/execution-gateway.js +3 -0
  105. package/src/friction-scanner.js +202 -0
  106. package/src/genome-schema.js +24 -1
  107. package/src/genomes.js +33 -0
  108. package/src/handoff-contract.js +363 -0
  109. package/src/handoff-validator.js +45 -0
  110. package/src/harness/circuit-breaker.js +135 -0
  111. package/src/i18n/messages/en.js +317 -22
  112. package/src/i18n/messages/es.js +259 -18
  113. package/src/i18n/messages/fr.js +260 -18
  114. package/src/i18n/messages/pt-BR.js +313 -22
  115. package/src/install-profile.js +0 -16
  116. package/src/installer.js +70 -6
  117. package/src/lib/git-commit-guard.js +691 -0
  118. package/src/lib/security/artifact-reader.js +167 -0
  119. package/src/lib/security/exit-codes.js +51 -0
  120. package/src/lib/security/findings-writer.js +176 -0
  121. package/src/lib/security/runtime-events.js +77 -0
  122. package/src/lib/security/secrets-regex.js +115 -0
  123. package/src/lib/store/security-scan.js +173 -0
  124. package/src/lib/terminal-checkbox.js +130 -0
  125. package/src/lib/tmux-launcher.js +163 -0
  126. package/src/lib/tool-capabilities.js +102 -0
  127. package/src/locales.js +12 -8
  128. package/src/parallel-workspace.js +756 -0
  129. package/src/parser.js +8 -1
  130. package/src/path-guard.js +47 -0
  131. package/src/preflight-engine.js +237 -26
  132. package/src/self-healing.js +142 -0
  133. package/src/session-handoff.js +111 -1
  134. package/src/squad/squad-scaffold.js +183 -19
  135. package/src/test-briefing.js +226 -0
  136. package/src/updater.js +1 -1
  137. package/src/utils.js +3 -0
  138. package/src/workflow-gates.js +185 -0
  139. package/template/.aioson/agents/analyst.md +76 -130
  140. package/template/.aioson/agents/architect.md +53 -86
  141. package/template/.aioson/agents/committer.md +161 -0
  142. package/template/.aioson/agents/cypher.md +252 -0
  143. package/template/.aioson/agents/dev.md +112 -628
  144. package/template/.aioson/agents/deyvin.md +33 -236
  145. package/template/.aioson/agents/discover.md +235 -0
  146. package/template/.aioson/agents/discovery-design-doc.md +17 -252
  147. package/template/.aioson/agents/genome.md +76 -26
  148. package/template/.aioson/agents/manifests/analyst.manifest.json +26 -0
  149. package/template/.aioson/agents/manifests/architect.manifest.json +23 -0
  150. package/template/.aioson/agents/manifests/committer.manifest.json +23 -0
  151. package/template/.aioson/agents/manifests/dev.manifest.json +37 -0
  152. package/template/.aioson/agents/manifests/orchestrator.manifest.json +30 -0
  153. package/template/.aioson/agents/manifests/pentester.manifest.json +39 -0
  154. package/template/.aioson/agents/manifests/pm.manifest.json +26 -0
  155. package/template/.aioson/agents/manifests/product.manifest.json +23 -0
  156. package/template/.aioson/agents/manifests/qa.manifest.json +25 -0
  157. package/template/.aioson/agents/manifests/setup.manifest.json +20 -0
  158. package/template/.aioson/agents/manifests/ux-ui.manifest.json +24 -0
  159. package/template/.aioson/agents/neo.md +5 -7
  160. package/template/.aioson/agents/orache.md +2 -6
  161. package/template/.aioson/agents/orchestrator.md +81 -182
  162. package/template/.aioson/agents/pentester.md +235 -0
  163. package/template/.aioson/agents/pm.md +40 -104
  164. package/template/.aioson/agents/product.md +99 -344
  165. package/template/.aioson/agents/profiler-enricher.md +57 -6
  166. package/template/.aioson/agents/profiler-forge.md +17 -7
  167. package/template/.aioson/agents/profiler-researcher.md +29 -6
  168. package/template/.aioson/agents/qa.md +168 -514
  169. package/template/.aioson/agents/setup.md +52 -278
  170. package/template/.aioson/agents/sheldon.md +122 -754
  171. package/template/.aioson/agents/site-forge.md +111 -1583
  172. package/template/.aioson/agents/squad.md +139 -2010
  173. package/template/.aioson/agents/tester.md +10 -0
  174. package/template/.aioson/agents/ux-ui.md +104 -812
  175. package/template/.aioson/agents/validator.md +69 -0
  176. package/template/.aioson/brains/scripts/query.js +5 -1
  177. package/template/.aioson/config/autonomy-protocol.json +43 -0
  178. package/template/.aioson/config.md +43 -15
  179. package/template/.aioson/constitution.md +36 -33
  180. package/template/.aioson/context/design-doc.md +136 -0
  181. package/template/.aioson/context/project-map.md +57 -0
  182. package/template/.aioson/design-docs/code-reuse.md +48 -0
  183. package/template/.aioson/design-docs/componentization.md +47 -0
  184. package/template/.aioson/design-docs/file-size.md +52 -0
  185. package/template/.aioson/design-docs/folder-structure.md +51 -0
  186. package/template/.aioson/design-docs/naming.md +54 -0
  187. package/template/.aioson/docs/LAYERS.md +12 -2
  188. package/template/.aioson/docs/dev/execution-discipline.md +106 -0
  189. package/template/.aioson/docs/dev/stack-conventions.md +83 -0
  190. package/template/.aioson/docs/deyvin/continuity-recovery.md +57 -0
  191. package/template/.aioson/docs/deyvin/debugging-escalation.md +30 -0
  192. package/template/.aioson/docs/deyvin/pair-execution.md +44 -0
  193. package/template/.aioson/docs/deyvin/runtime-handoffs.md +36 -0
  194. package/template/.aioson/docs/product/conversation-playbook.md +116 -0
  195. package/template/.aioson/docs/product/prd-contract.md +107 -0
  196. package/template/.aioson/docs/product/quality-lens.md +57 -0
  197. package/template/.aioson/docs/product/research-loop.md +65 -0
  198. package/template/.aioson/docs/sheldon/enrichment-paths.md +134 -0
  199. package/template/.aioson/docs/sheldon/quality-lens.md +57 -0
  200. package/template/.aioson/docs/sheldon/research-loop.md +56 -0
  201. package/template/.aioson/docs/sheldon/web-intelligence.md +75 -0
  202. package/template/.aioson/docs/site-forge-build.md +195 -0
  203. package/template/.aioson/docs/site-forge-extraction.md +135 -0
  204. package/template/.aioson/docs/site-forge-qa.md +155 -0
  205. package/template/.aioson/docs/site-forge-recon.md +434 -0
  206. package/template/.aioson/docs/site-forge-transform.md +249 -0
  207. package/template/.aioson/docs/squad/content-output.md +91 -0
  208. package/template/.aioson/docs/squad/creation-flow.md +135 -0
  209. package/template/.aioson/docs/squad/domain-classification.md +117 -0
  210. package/template/.aioson/docs/squad/genome-bindings.md +47 -0
  211. package/template/.aioson/docs/squad/package-contract.md +234 -0
  212. package/template/.aioson/docs/squad/quality-lens.md +56 -0
  213. package/template/.aioson/docs/squad/research-loop.md +59 -0
  214. package/template/.aioson/docs/squad/session-operations.md +117 -0
  215. package/template/.aioson/docs/squad/workflow-quality.md +165 -0
  216. package/template/.aioson/docs/ux-ui/accessibility-audit.md +55 -0
  217. package/template/.aioson/docs/ux-ui/audit-mode.md +86 -0
  218. package/template/.aioson/docs/ux-ui/component-map.md +35 -0
  219. package/template/.aioson/docs/ux-ui/design-execution.md +111 -0
  220. package/template/.aioson/docs/ux-ui/design-gate.md +27 -0
  221. package/template/.aioson/docs/ux-ui/research-mode.md +39 -0
  222. package/template/.aioson/docs/ux-ui/site-delivery.md +156 -0
  223. package/template/.aioson/docs/ux-ui/token-contract.md +57 -0
  224. package/template/.aioson/genomes/copywriting.meta.json +48 -0
  225. package/template/.aioson/git-guard.json +11 -0
  226. package/template/.aioson/mcp/servers.md +0 -1
  227. package/template/.aioson/rules/agent-language-policy.md +93 -0
  228. package/template/.aioson/rules/aioson-context-boundary.md +63 -0
  229. package/template/.aioson/rules/canonical-path-contract.md +47 -0
  230. package/template/.aioson/rules/data-format-convention.md +24 -86
  231. package/template/.aioson/rules/disk-first-artifacts.md +44 -0
  232. package/template/.aioson/rules/output-brevity.md +44 -0
  233. package/template/.aioson/rules/prd-section-ownership.md +49 -0
  234. package/template/.aioson/rules/security-baseline.md +139 -0
  235. package/template/.aioson/rules/spec-level-ownership.md +61 -0
  236. package/template/.aioson/rules/squad-driver-pattern.md +81 -0
  237. package/template/.aioson/schemas/squad-blueprint.schema.json +24 -0
  238. package/template/.aioson/schemas/squad-manifest.schema.json +44 -0
  239. package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +30 -0
  240. package/template/.aioson/skills/process/secure-tdd/SKILL.md +97 -0
  241. package/template/.aioson/skills/process/secure-tdd/references/nextjs.md +81 -0
  242. package/template/.aioson/skills/process/secure-tdd/references/node-express.md +91 -0
  243. package/template/.aioson/skills/process/secure-tdd/references/planned-stacks.md +33 -0
  244. package/template/.aioson/skills/static/harness-validate/SKILL.md +46 -0
  245. package/template/.aioson/skills/static/web-research-cache.md +3 -0
  246. package/template/.aioson/tasks/squad-create.md +35 -8
  247. package/template/.aioson/tasks/squad-design.md +50 -2
  248. package/template/.aioson/tasks/squad-investigate.md +14 -1
  249. package/template/.claude/commands/aioson/agent/committer.md +5 -0
  250. package/template/.claude/commands/aioson/agent/copywriter.md +5 -0
  251. package/template/.claude/commands/aioson/agent/cypher.md +5 -0
  252. package/template/.claude/commands/aioson/agent/pair.md +5 -0
  253. package/template/.claude/commands/aioson/agent/validator.md +5 -0
  254. package/template/.gemini/commands/aios-analyst.toml +6 -3
  255. package/template/.gemini/commands/aios-architect.toml +7 -6
  256. package/template/.gemini/commands/aios-committer.toml +7 -0
  257. package/template/.gemini/commands/aios-copywriter.toml +7 -0
  258. package/template/.gemini/commands/aios-cypher.toml +7 -0
  259. package/template/.gemini/commands/aios-dev.toml +8 -7
  260. package/template/.gemini/commands/aios-deyvin.toml +6 -5
  261. package/template/.gemini/commands/aios-discovery-design-doc.toml +6 -3
  262. package/template/.gemini/commands/aios-genome.toml +7 -0
  263. package/template/.gemini/commands/aios-neo.toml +5 -3
  264. package/template/.gemini/commands/aios-orache.toml +7 -0
  265. package/template/.gemini/commands/aios-orchestrator.toml +8 -7
  266. package/template/.gemini/commands/aios-pair.toml +6 -5
  267. package/template/.gemini/commands/aios-pm.toml +8 -7
  268. package/template/.gemini/commands/aios-product.toml +5 -3
  269. package/template/.gemini/commands/aios-qa.toml +6 -5
  270. package/template/.gemini/commands/aios-setup.toml +5 -2
  271. package/template/.gemini/commands/aios-sheldon.toml +7 -0
  272. package/template/.gemini/commands/aios-site-forge.toml +7 -0
  273. package/template/.gemini/commands/aios-squad.toml +7 -0
  274. package/template/.gemini/commands/aios-tester.toml +6 -5
  275. package/template/.gemini/commands/aios-ux-ui.toml +8 -7
  276. package/template/.gemini/commands/aios-validator.toml +7 -0
  277. package/template/AGENTS.md +12 -1
  278. package/template/CLAUDE.md +5 -1
  279. package/template/.aioson/locales/en/agents/analyst.md +0 -244
  280. package/template/.aioson/locales/en/agents/architect.md +0 -245
  281. package/template/.aioson/locales/en/agents/dev.md +0 -397
  282. package/template/.aioson/locales/en/agents/deyvin.md +0 -137
  283. package/template/.aioson/locales/en/agents/discovery-design-doc.md +0 -27
  284. package/template/.aioson/locales/en/agents/genome.md +0 -212
  285. package/template/.aioson/locales/en/agents/neo.md +0 -8
  286. package/template/.aioson/locales/en/agents/orache.md +0 -6
  287. package/template/.aioson/locales/en/agents/orchestrator.md +0 -189
  288. package/template/.aioson/locales/en/agents/pair.md +0 -5
  289. package/template/.aioson/locales/en/agents/pm.md +0 -84
  290. package/template/.aioson/locales/en/agents/product.md +0 -378
  291. package/template/.aioson/locales/en/agents/profiler-enricher.md +0 -5
  292. package/template/.aioson/locales/en/agents/profiler-forge.md +0 -5
  293. package/template/.aioson/locales/en/agents/profiler-researcher.md +0 -5
  294. package/template/.aioson/locales/en/agents/qa.md +0 -270
  295. package/template/.aioson/locales/en/agents/setup.md +0 -421
  296. package/template/.aioson/locales/en/agents/sheldon.md +0 -455
  297. package/template/.aioson/locales/en/agents/squad.md +0 -449
  298. package/template/.aioson/locales/en/agents/tester.md +0 -6
  299. package/template/.aioson/locales/en/agents/ux-ui.md +0 -668
  300. package/template/.aioson/locales/es/agents/analyst.md +0 -225
  301. package/template/.aioson/locales/es/agents/architect.md +0 -245
  302. package/template/.aioson/locales/es/agents/dev.md +0 -370
  303. package/template/.aioson/locales/es/agents/deyvin.md +0 -99
  304. package/template/.aioson/locales/es/agents/discovery-design-doc.md +0 -21
  305. package/template/.aioson/locales/es/agents/genome.md +0 -104
  306. package/template/.aioson/locales/es/agents/neo.md +0 -50
  307. package/template/.aioson/locales/es/agents/orache.md +0 -105
  308. package/template/.aioson/locales/es/agents/orchestrator.md +0 -194
  309. package/template/.aioson/locales/es/agents/pair.md +0 -7
  310. package/template/.aioson/locales/es/agents/pm.md +0 -90
  311. package/template/.aioson/locales/es/agents/product.md +0 -372
  312. package/template/.aioson/locales/es/agents/profiler-enricher.md +0 -7
  313. package/template/.aioson/locales/es/agents/profiler-forge.md +0 -7
  314. package/template/.aioson/locales/es/agents/profiler-researcher.md +0 -7
  315. package/template/.aioson/locales/es/agents/qa.md +0 -198
  316. package/template/.aioson/locales/es/agents/setup.md +0 -405
  317. package/template/.aioson/locales/es/agents/sheldon.md +0 -309
  318. package/template/.aioson/locales/es/agents/squad.md +0 -532
  319. package/template/.aioson/locales/es/agents/tester.md +0 -9
  320. package/template/.aioson/locales/es/agents/ux-ui.md +0 -212
  321. package/template/.aioson/locales/fr/agents/analyst.md +0 -225
  322. package/template/.aioson/locales/fr/agents/architect.md +0 -245
  323. package/template/.aioson/locales/fr/agents/dev.md +0 -370
  324. package/template/.aioson/locales/fr/agents/deyvin.md +0 -99
  325. package/template/.aioson/locales/fr/agents/discovery-design-doc.md +0 -21
  326. package/template/.aioson/locales/fr/agents/genome.md +0 -104
  327. package/template/.aioson/locales/fr/agents/neo.md +0 -50
  328. package/template/.aioson/locales/fr/agents/orache.md +0 -106
  329. package/template/.aioson/locales/fr/agents/orchestrator.md +0 -194
  330. package/template/.aioson/locales/fr/agents/pair.md +0 -7
  331. package/template/.aioson/locales/fr/agents/pm.md +0 -90
  332. package/template/.aioson/locales/fr/agents/product.md +0 -372
  333. package/template/.aioson/locales/fr/agents/profiler-enricher.md +0 -7
  334. package/template/.aioson/locales/fr/agents/profiler-forge.md +0 -7
  335. package/template/.aioson/locales/fr/agents/profiler-researcher.md +0 -7
  336. package/template/.aioson/locales/fr/agents/qa.md +0 -198
  337. package/template/.aioson/locales/fr/agents/setup.md +0 -405
  338. package/template/.aioson/locales/fr/agents/sheldon.md +0 -309
  339. package/template/.aioson/locales/fr/agents/squad.md +0 -532
  340. package/template/.aioson/locales/fr/agents/tester.md +0 -9
  341. package/template/.aioson/locales/fr/agents/ux-ui.md +0 -212
  342. package/template/.aioson/locales/pt-BR/agents/analyst.md +0 -319
  343. package/template/.aioson/locales/pt-BR/agents/architect.md +0 -284
  344. package/template/.aioson/locales/pt-BR/agents/dev.md +0 -483
  345. package/template/.aioson/locales/pt-BR/agents/deyvin.md +0 -184
  346. package/template/.aioson/locales/pt-BR/agents/discovery-design-doc.md +0 -198
  347. package/template/.aioson/locales/pt-BR/agents/genome.md +0 -297
  348. package/template/.aioson/locales/pt-BR/agents/neo.md +0 -208
  349. package/template/.aioson/locales/pt-BR/agents/orache.md +0 -137
  350. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +0 -324
  351. package/template/.aioson/locales/pt-BR/agents/pair.md +0 -5
  352. package/template/.aioson/locales/pt-BR/agents/pm.md +0 -182
  353. package/template/.aioson/locales/pt-BR/agents/product.md +0 -466
  354. package/template/.aioson/locales/pt-BR/agents/profiler-enricher.md +0 -5
  355. package/template/.aioson/locales/pt-BR/agents/profiler-forge.md +0 -5
  356. package/template/.aioson/locales/pt-BR/agents/profiler-researcher.md +0 -5
  357. package/template/.aioson/locales/pt-BR/agents/qa.md +0 -300
  358. package/template/.aioson/locales/pt-BR/agents/setup.md +0 -533
  359. package/template/.aioson/locales/pt-BR/agents/sheldon.md +0 -323
  360. package/template/.aioson/locales/pt-BR/agents/squad.md +0 -1330
  361. package/template/.aioson/locales/pt-BR/agents/tester.md +0 -449
  362. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +0 -669
@@ -0,0 +1,51 @@
1
+ ---
2
+ description: "Universal folder organization rules — hierarchy, depth, naming, grouping"
3
+ scope: "governance"
4
+ agents: []
5
+ ---
6
+
7
+ # Folder Structure — Governance Rules
8
+
9
+ > Loaded automatically by @dev and @deyvin. Override per-project via `.aioson/rules/`.
10
+
11
+ ## Depth
12
+
13
+ - Maximum 3 levels of nesting before splitting into a separate module.
14
+ - If you need a 4th level, the responsibility likely belongs in its own module or package.
15
+
16
+ ## Naming
17
+
18
+ - **kebab-case** for all folder names: `user-auth/`, `squad-dashboard/`, `context-cache/`
19
+ - **Singular** for a single entity or specific responsibility: `service/`, `command/`, `handler/`
20
+ - **Plural** for collections of items of the same type: `services/`, `commands/`, `handlers/`
21
+ - Never mix styles within the same directory level
22
+
23
+ ## Grouping strategy
24
+
25
+ Prefer **domain-based grouping** over layer-based when the project grows beyond 5–6 modules:
26
+
27
+ ```
28
+ src/
29
+ auth/ ← domain: everything related to authentication
30
+ billing/ ← domain: everything related to billing
31
+ shared/ ← cross-domain: utilities, types, helpers
32
+ ```
33
+
34
+ Layer-based is valid for small projects or when the framework enforces it:
35
+
36
+ ```
37
+ src/
38
+ controllers/ ← HTTP layer
39
+ services/ ← business logic
40
+ models/ ← data layer
41
+ utils/ ← shared helpers
42
+ ```
43
+
44
+ Choose one strategy and stay consistent within the same project.
45
+
46
+ ## Anti-patterns
47
+
48
+ - Never use generic folders: `misc/`, `stuff/`, `temp/`, `old/`, `helpers/`
49
+ - Never leave unrelated files loose in `src/` root — every file belongs to a domain
50
+ - Never create a folder with a single file (except `index.js` / `index.ts` as a public module entry point)
51
+ - Never nest a folder that has the same semantic scope as its parent
@@ -0,0 +1,54 @@
1
+ ---
2
+ description: "Naming conventions for files, variables, functions, and classes"
3
+ scope: "governance"
4
+ agents: []
5
+ ---
6
+
7
+ # Naming — Governance Rules
8
+
9
+ > Loaded automatically by @dev and @deyvin. Override per-project via `.aioson/rules/`.
10
+
11
+ ## Files
12
+
13
+ - **kebab-case** for all source files: `user-auth.js`, `billing-service.ts`, `context-writer.py`
14
+ - When inside a flat directory, use a domain prefix to group related files: `user-create.js`, `user-update.js`, `user-delete.js`
15
+ - Avoid generic suffixes when the domain name already conveys the type: prefer `auth.js` over `auth-helper.js`
16
+ - Test files mirror the source file name: `user-auth.test.js`, `billing_service_test.py`
17
+
18
+ ## Variables and constants
19
+
20
+ | Type | JS / TS | Python / Ruby | Go / Rust |
21
+ |------|---------|---------------|-----------|
22
+ | Local variables | camelCase | snake_case | camelCase / snake_case |
23
+ | Global constants | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE |
24
+ | Environment variables | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE |
25
+
26
+ ## Functions and methods
27
+
28
+ Pattern: **verb + noun** — describes what the function does and to what.
29
+
30
+ Good: `loadUser()`, `parseManifest()`, `validateEmail()`, `sendInvoice()`, `buildQuery()`
31
+ Avoid: `doUser()`, `process()`, `handle()` — too vague to understand intent
32
+ Avoid: `userLoader()`, `manifestParser()` — noun-first reads as a class or object, not a function
33
+
34
+ ## Booleans
35
+
36
+ Always use a prefix that makes the boolean read as a yes/no question:
37
+
38
+ - `is` — state: `isReady`, `isEmpty`, `isAuthenticated`, `isValid`
39
+ - `has` — possession: `hasErrors`, `hasChildren`, `hasPermission`
40
+ - `should` — intent: `shouldRetry`, `shouldRedirect`, `shouldNotify`
41
+ - `can` — capability: `canEdit`, `canDelete`, `canPublish`
42
+
43
+ ## Classes and components
44
+
45
+ - **PascalCase**: `UserService`, `BillingController`, `AuthModal`, `InvoiceJob`
46
+ - Singular: `User`, not `Users` — a class represents one entity, not a collection
47
+ - React / Vue / Svelte components: same PascalCase rule, filename in kebab-case: `UserCard.tsx` → `user-card.tsx`
48
+
49
+ ## Avoid
50
+
51
+ - Abbreviations unless they are industry-standard: `url`, `id`, `api`, `html`, `dto` are fine; `usrCtx`, `mngr`, `cfg`, `hlpr` are not
52
+ - Single-letter variables except for loop indices (`i`, `j`, `k`) and math/geometry variables
53
+ - Names that describe the type instead of the intent: `dataObject`, `listArray`, `stringValue`
54
+ - Negative booleans: `isNotReady`, `hasNoErrors` — flip to positive: `isReady`, `isValid`
@@ -5,7 +5,7 @@ agents: []
5
5
 
6
6
  # AIOSON Project Memory Layers
7
7
 
8
- Three directories accumulate project knowledge over time.
8
+ Four directories accumulate project knowledge over time.
9
9
  Each has a different purpose and a different update cadence.
10
10
 
11
11
  ---
@@ -42,7 +42,16 @@ See `docs/README.md` for format and naming conventions.
42
42
 
43
43
  ---
44
44
 
45
- ## Layer 3 — `.aioson/context/design-doc*.md`
45
+ ## Layer 3 — `.aioson/design-docs/`
46
+
47
+ **What it is:** structural code governance: folder structure, componentization, reuse, naming, and file-size thresholds.
48
+ **Who writes it:** installed by AIOSON, then edited by the project team when conventions change.
49
+ **When to use:** before architectural structure decisions and before implementation that creates files, splits modules, introduces reusable code, or names APIs.
50
+ **Cadence:** stable. These files are project-local and preserved on update.
51
+
52
+ ---
53
+
54
+ ## Layer 4 — `.aioson/context/design-doc*.md`
46
55
 
47
56
  **What it is:** living decision document for the current feature or project scope.
48
57
  **Who writes it:** @discovery-design-doc.
@@ -58,6 +67,7 @@ See `docs/README.md` for format and naming conventions.
58
67
  |-----------|--------------|
59
68
  | Enforce a coding convention for this project | `rules/` |
60
69
  | Agents must always know about an external API behavior | `docs/` |
70
+ | Enforce structural code quality guidance | `design-docs/` |
61
71
  | Document the scope and decisions for a specific feature | `design-doc-{slug}.md` |
62
72
  | Log a global project-wide architecture decision | `design-doc.md` |
63
73
  | Promote a recurring @dev pattern | `rules/` via @dev promotion |
@@ -0,0 +1,106 @@
1
+ ---
2
+ description: "Dev execution discipline — semantic commits, learnings, task tracking, planning, atomic execution, verification gates, skeleton updates, and debugging."
3
+ ---
4
+
5
+ # Dev Execution Discipline
6
+
7
+ Load this module when the work is multi-file, ambiguous, near completion, or requires repeated verification.
8
+
9
+ ## Semantic commit format
10
+
11
+ Use:
12
+
13
+ - `feat(module): ...`
14
+ - `fix(module): ...`
15
+ - `refactor(module): ...`
16
+ - `test(module): ...`
17
+ - `docs(module): ...`
18
+ - `chore(module): ...`
19
+
20
+ ## Session learnings
21
+
22
+ At the end of productive sessions, look for:
23
+
24
+ - user corrections
25
+ - repeated successful patterns
26
+ - new domain facts
27
+ - quality failures or bugs
28
+
29
+ Capture only the top 3 to 5 concise learnings in `spec.md` under session learnings.
30
+
31
+ ## Working memory
32
+
33
+ Use task tooling when available:
34
+
35
+ - `TaskCreate` — create slices
36
+ - `TaskUpdate (in_progress)` — mark in-progress
37
+ - `TaskUpdate (completed)` — mark completed with a one-line summary
38
+ - `TaskList` — review before starting new slices
39
+
40
+ `dev-state.md` is the persistent human-readable summary, not the live task board.
41
+
42
+ ## Self-directed planning
43
+
44
+ Before ambiguous or multi-file work:
45
+
46
+ 1. declare planning mode
47
+ 2. list touched files and why
48
+ 3. sequence the implementation
49
+ 4. define verification criteria
50
+ 5. exit planning mode before coding
51
+
52
+ Single-file, obvious changes do not need a full planning pass.
53
+
54
+ ## Working rules
55
+
56
+ - reuse skills before reinventing patterns
57
+ - load detailed skills and docs on demand
58
+ - decide the minimum context package before coding
59
+ - stop if a recurring pattern already exists in `.aioson/skills/static/` or `.aioson/installed-skills/`
60
+
61
+ ## Atomic execution
62
+
63
+ Work in small validated steps:
64
+
65
+ 1. declare the next step
66
+ 2. write the test first when business logic is new
67
+ 3. implement only that slice
68
+ 4. verify with the actual command output
69
+ 5. commit the working slice
70
+ 6. repeat
71
+
72
+ Unexpected output means stop and investigate. Do not stack speculative fixes.
73
+
74
+ ## Done gate
75
+
76
+ Before marking any task or feature done:
77
+
78
+ 1. run the verification command
79
+ 2. read the complete output
80
+ 3. confirm exit code `0`
81
+ 4. only then mark done
82
+
83
+ Update `skeleton-system.md` whenever files are created, deleted, or materially changed.
84
+
85
+ ## `*update-skeleton`
86
+
87
+ If the user types `*update-skeleton`, rewrite `.aioson/context/skeleton-system.md` to reflect:
88
+
89
+ - file map status
90
+ - module status
91
+ - key routes
92
+ - update date
93
+
94
+ ## Debugging
95
+
96
+ If a failing issue survives one attempt:
97
+
98
+ - stop random fixing
99
+ - load `.aioson/skills/static/debugging-protocol.md`
100
+ - follow the protocol from root-cause analysis onward
101
+
102
+ After 3 failed attempts on the same issue, question the architecture instead of pushing patches blindly.
103
+
104
+ ## Git worktrees
105
+
106
+ For SMALL or MEDIUM work, consider `.aioson/skills/static/git-worktrees.md` if the user wants a cleaner parallel workflow.
@@ -0,0 +1,83 @@
1
+ ---
2
+ description: "Dev stack conventions — Laravel, UI/UX, design skill, motion, Web3, and any-stack separation rules."
3
+ ---
4
+
5
+ # Dev Stack Conventions
6
+
7
+ Load this module when the active task touches framework-specific implementation details or user-facing UI.
8
+
9
+ ## Laravel conventions
10
+
11
+ Respect this layout:
12
+
13
+ - `app/Actions/`
14
+ - `app/Http/Controllers/`
15
+ - `app/Http/Requests/`
16
+ - `app/Models/`
17
+ - `app/Policies/`
18
+ - `app/Events/` + `app/Listeners/`
19
+ - `app/Jobs/`
20
+ - `app/Livewire/`
21
+ - `resources/views/<resource>/`
22
+
23
+ Rules:
24
+
25
+ - controllers orchestrate; they do not own business logic
26
+ - use Form Requests for validation
27
+ - use Policies for authorization
28
+ - use Actions for business logic
29
+ - use queued events/listeners for side effects
30
+ - use Jobs for heavy processing
31
+ - eager-load to avoid N+1 queries
32
+ - implement `down()` in every migration
33
+
34
+ ## UI / UX conventions
35
+
36
+ - use the project's component library when it exists
37
+ - do not reinvent standard controls
38
+ - mobile-responsive by default
39
+ - always implement loading, empty, and error states
40
+ - always provide visual feedback
41
+
42
+ ## Design skill conventions
43
+
44
+ Read `design_skill` from `project.context.md` before implementing user-facing UI.
45
+
46
+ If `design_skill` is set:
47
+
48
+ - load `.aioson/skills/design/{design_skill}/SKILL.md`
49
+ - load only the references needed for the current screen or component
50
+ - treat it as the only active visual system
51
+
52
+ If `design_skill` is blank and the task clearly depends on visual direction:
53
+
54
+ - stop and ask whether to route through `@ux-ui` or proceed explicitly without a registered design skill
55
+
56
+ ## Motion and animation
57
+
58
+ When the framework is React or Next.js and motion is relevant:
59
+
60
+ - load `.aioson/skills/static/react-motion-patterns.md`
61
+ - prefer Framer Motion
62
+ - provide `prefers-reduced-motion` fallback
63
+ - do not add heavy motion to admin/CRUD interfaces without a clear reason
64
+
65
+ ## Web3 conventions
66
+
67
+ For `project_type=dapp`:
68
+
69
+ - validate inputs on-chain and off-chain
70
+ - never trust client-provided values for sensitive contract calls
71
+ - use typed ABIs
72
+ - test contract interactions before UI wiring
73
+ - document gas implications for user-facing transactions
74
+
75
+ ## Any-stack conventions
76
+
77
+ For stacks without a dedicated section:
78
+
79
+ - separate business logic from request handlers
80
+ - validate input at the boundary
81
+ - follow the framework's conventions first
82
+ - check `.aioson/skills/static/`, `.aioson/skills/dynamic/`, and `.aioson/skills/design/` before inventing patterns
83
+ - document deviations in `architecture.md` when needed
@@ -0,0 +1,57 @@
1
+ ---
2
+ description: "Deyvin continuity recovery — session start order, resumption rules, brownfield guardrails, SDD bridge, and Git fallback."
3
+ ---
4
+
5
+ # Deyvin Continuity Recovery
6
+
7
+ Load this module at the start of every `@deyvin` session before touching code.
8
+
9
+ ## Session start order
10
+
11
+ Build context in this order:
12
+
13
+ 1. If `aioson` is available, run `aioson memory:summary . --last=5` as the fast continuity bootstrap
14
+ 2. Read `.aioson/context/project.context.md`
15
+ 3. Check `.aioson/rules/`; load universal rules and rules targeted at `deyvin`
16
+ 4. Check `.aioson/docs/`; load docs referenced by rules or relevant to the task
17
+ 5. If the task is specific, run `aioson context:pack . --agent=deyvin --goal="<task>"` and read the generated pack
18
+ 6. Read `.aioson/context/memory-index.md` if present
19
+ 7. Read `.aioson/context/spec-current.md` and `.aioson/context/spec-history.md` if present
20
+ 8. Read `.aioson/context/spec.md` if present
21
+ 9. Read `.aioson/context/features.md` if present; if a feature is in progress, also read `prd-{slug}.md`, `requirements-{slug}.md`, and `spec-{slug}.md`
22
+ 10. Read `.aioson/context/skeleton-system.md`, `discovery.md`, and `architecture.md` as needed
23
+ 11. When the task matches procedural tags, run `aioson brain:query . --tags=<tags> --min-quality=4`
24
+ 12. Inspect recent runtime state in `.aioson/runtime/aios.sqlite` when memory summary is insufficient
25
+ 13. Use Git only as a fallback after memory + runtime + rules/docs
26
+
27
+ If the user asks what happened recently, answer from memory and runtime first. Go to Git only if those sources are insufficient.
28
+
29
+ ## SDD bridge
30
+
31
+ When continuation depends on spec or execution state:
32
+
33
+ 1. Load `.aioson/skills/process/aioson-spec-driven/SKILL.md`
34
+ 2. Then load only `references/deyvin.md`
35
+ 3. Follow that router to `maintenance-and-state.md` and `approval-gates.md` as needed
36
+ 4. Treat shared SDD references as read-only process sources used by multiple agents
37
+
38
+ Do not duplicate or rewrite the shared SDD references inside `@deyvin`.
39
+
40
+ ## Brownfield guardrails
41
+
42
+ If `framework_installed=true` in `project.context.md` and the task depends on existing system behavior:
43
+
44
+ - prefer `discovery.md` + `spec.md` as the primary memory pair
45
+ - use `skeleton-system.md` or `memory-index.md` first for faster orientation
46
+ - if `discovery.md` is missing but scan artifacts exist, stop and hand off to `@analyst`
47
+ - if broad architecture decisions are required, hand off to `@architect`
48
+
49
+ ## Git fallback
50
+
51
+ Git is a fallback, not your first source of truth.
52
+
53
+ Use Git only when:
54
+
55
+ - AIOSON memory does not explain recent work well enough
56
+ - runtime data is missing or too shallow
57
+ - the user explicitly asks for commit-level history
@@ -0,0 +1,30 @@
1
+ ---
2
+ description: "Deyvin debugging and escalation — root-cause protocol, retry limits, and when to hand off."
3
+ ---
4
+
5
+ # Deyvin Debugging and Escalation
6
+
7
+ Load this module when the request is bug diagnosis, failing test repair, or when the first fix attempt fails.
8
+
9
+ ## Debugging protocol
10
+
11
+ When a bug or failing test cannot be resolved in one attempt:
12
+
13
+ 1. STOP trying random fixes
14
+ 2. Load `.aioson/skills/static/debugging-protocol.md`
15
+ 3. Follow the protocol from step 1 (root cause investigation)
16
+
17
+ ## Retry threshold
18
+
19
+ After 3 failed fix attempts on the same issue:
20
+
21
+ - question the architecture, not the code
22
+ - decide whether the issue still fits pair mode
23
+ - hand off when structural redesign, broader planning, or formal QA is needed
24
+
25
+ ## Escalation hints
26
+
27
+ - `@dev` -> larger structured implementation batch once root cause is known
28
+ - `@architect` -> structural or system-level flaw
29
+ - `@analyst` -> missing domain rules or unclear brownfield behavior
30
+ - `@qa` -> formal risk review, regression sweep, or broader test design
@@ -0,0 +1,44 @@
1
+ ---
2
+ description: "Deyvin pair execution — working mode, small-slice loop, memory updates, and implementation governance."
3
+ ---
4
+
5
+ # Deyvin Pair Execution
6
+
7
+ Load this module when `@deyvin` is about to inspect, explain, fix, or implement a small continuity slice.
8
+
9
+ ## Pair working style
10
+
11
+ - summarize the latest confirmed context first
12
+ - ask what the user wants to do now if the next step is unclear
13
+ - propose the smallest sensible next step
14
+ - implement, inspect, or fix one small batch at a time
15
+ - validate before moving on
16
+
17
+ ## Implementation governance
18
+
19
+ Before changing code:
20
+
21
+ 1. load the relevant project rules and docs already discovered during recovery
22
+ 2. if `.aioson/design-docs/` contains implementation governance docs, load the relevant ones for the touched area
23
+ 3. if a recurring pattern already exists in `.aioson/skills/static/` or `.aioson/installed-skills/`, reuse it instead of improvising
24
+
25
+ ## Small-slice loop
26
+
27
+ Work in this order:
28
+
29
+ 1. define the immediate slice
30
+ 2. inspect the relevant files and runtime context
31
+ 3. implement only that slice
32
+ 4. verify with the real command or observable behavior
33
+ 5. summarize what changed
34
+ 6. decide whether the next slice still fits pair mode
35
+
36
+ If the work stops being small, validated, and reviewable, hand off.
37
+
38
+ ## Memory update rules
39
+
40
+ - update `spec.md` when the session changes project-wide engineering knowledge, decisions, or current state
41
+ - in feature mode, update `spec-{slug}.md` for feature-specific progress and decisions
42
+ - treat `spec-current.md` and `spec-history.md` as read-optimized derivatives; prefer updating `spec.md` / `spec-{slug}.md`
43
+ - update `skeleton-system.md` when files, routes, or module status change materially
44
+ - if the task becomes broad and context starts to sprawl, suggest or regenerate `context:pack`
@@ -0,0 +1,36 @@
1
+ ---
2
+ description: "Deyvin runtime and handoffs — tracked session behavior, live milestones, direct sessions, and dashboard visibility."
3
+ ---
4
+
5
+ # Deyvin Runtime and Handoffs
6
+
7
+ Load this module when the session is tracked or when the user asks about runtime visibility.
8
+
9
+ ## Runtime principle
10
+
11
+ The AIOSON execution gateway records tasks, runs, and events in the project runtime automatically. Focus on accurate step summaries, clean handoffs, and updated memory.
12
+
13
+ ## Live-session behavior
14
+
15
+ If the user entered through `aioson live:start`, do not open a parallel `runtime:session:*` session. Reuse the live session and emit compact milestones instead:
16
+
17
+ 1. When clearly starting a new user-visible slice, run `aioson runtime:emit . --agent=deyvin --type=task_started --title="<short slice title>"`
18
+ 2. After each completed user-visible task, run `aioson runtime:emit . --agent=deyvin --type=task_completed --summary="<what was just completed>" --refs="<files>"`
19
+ 3. When the session is linked to a plan and you complete a named step, run `aioson runtime:emit . --agent=deyvin --type=plan_checkpoint --plan-step="<step-id>" --summary="<what was completed>"`
20
+ 4. For meaningful progress or risk, run `aioson runtime:emit . --agent=deyvin --type=milestone|correction|block --summary="<what changed>"`
21
+ 5. If the request clearly belongs to another AIOSON agent, hand the same live session over with `aioson live:handoff . --agent=deyvin --to=<next-agent> --reason="<why the handoff is needed>"`
22
+ 6. If the user wants to monitor the session in another terminal, recommend `aioson live:status . --agent=deyvin --watch=2`
23
+ 7. Let the session owner close it with `aioson live:close . --agent=<active-agent> --summary="<one-line summary>"`
24
+
25
+ ## Direct-session behavior
26
+
27
+ If the user did not enter through `aioson live:start`, keep one direct session open while the pair session is active:
28
+
29
+ 1. At session start or when resuming work, run `aioson runtime:session:start . --agent=deyvin --title="<current focus>"`
30
+ 2. After each completed user-visible task, run `aioson runtime:session:log . --agent=deyvin --message="<what was just completed>"`
31
+ 3. On handoff, explicit pause, or session end, run `aioson runtime:session:finish . --agent=deyvin --summary="<one-line summary>"`
32
+ 4. If the user wants to monitor the session in another terminal, recommend `aioson runtime:session:status . --agent=deyvin --watch=2`
33
+
34
+ ## Dashboard visibility
35
+
36
+ Plain natural-language agent activation in an external client does not create runtime records by itself. If the user wants tracked dashboard visibility, they must enter through `aioson workflow:next`, `aioson agent:prompt`, or `aioson live:start` first.
@@ -0,0 +1,116 @@
1
+ ---
2
+ description: "Product conversation playbook — opening messages, batching rules, proactive triggers, conversation phases, and finalize/surprise handling."
3
+ ---
4
+
5
+ # Product Conversation Playbook
6
+
7
+ Load this module when `@product` is about to ask questions, refine an existing PRD, or continue a product conversation.
8
+
9
+ ## Opening message by mode
10
+
11
+ Creation mode:
12
+
13
+ > "Tell me about the idea — what problem does it solve and who has that problem?"
14
+
15
+ Feature mode:
16
+
17
+ > "What's the feature? Tell me what it should do and who it's for."
18
+
19
+ Enrichment mode:
20
+
21
+ > "I read the PRD. I noticed [specific gap or missing section]. Want to start there, or is there something else you'd like to refine first?"
22
+
23
+ ## Conversation rules
24
+
25
+ 1. First message = one open question only.
26
+ 2. From the second message onward, batch up to 5 numbered questions.
27
+ 3. End every batch with: `6 - Finalize — write the PRD now with what we have.`
28
+ 4. Reflect understanding before advancing to a new topic.
29
+ 5. Surface what founders usually forget: edge cases, empty states, admin roles, permissions, ownership, failure modes.
30
+ 6. Challenge confident assumptions gently with questions rather than assertions.
31
+ 7. Ruthlessly narrow scope when the discussion starts expanding.
32
+ 8. No filler openers.
33
+
34
+ ## Proactive domain triggers
35
+
36
+ If the user did not mention a critical area, raise it when these signals appear:
37
+
38
+ | Signal | Raise this |
39
+ |--------|-----------|
40
+ | Multiple user types | "Who manages the other users — is there an admin role?" |
41
+ | Create/update/delete flows | "What happens if two people try to edit the same thing at the same time?" |
42
+ | Stateful workflows | "Who can change a [state] and what happens when they do?" |
43
+ | Potentially empty data | "What does the screen look like before the first [item] is added?" |
44
+ | Money or subscription | "How does billing work — one-time, subscription, usage-based?" |
45
+ | User-generated content | "What happens if a user posts something inappropriate?" |
46
+ | External services | "What happens in the app if [service] is down?" |
47
+ | Notifications | "What triggers a notification, and can users control which ones they get?" |
48
+ | Team growth | "How does a new team member get access?" |
49
+
50
+ ## Visual and design triggers
51
+
52
+ When visual quality is materially relevant:
53
+
54
+ | Signal | Raise this |
55
+ |--------|-----------|
56
+ | "modern", "beautiful", "premium", "clean", "elegant" | "Is there an app or website whose look you admire?" |
57
+ | Color, theme, or mood words | "What feeling should the interface transmit?" |
58
+ | Consumer-facing product | "How important is visual quality relative to shipping speed for this first version?" |
59
+ | Motion or interaction mentions | "Which interactions feel essential to the experience?" |
60
+ | Existing brand mention | "Is there an existing brand guide, or are we defining the visual language from scratch?" |
61
+ | Mobile implied | "Should mobile mirror desktop, or be adapted differently?" |
62
+ | UI stack mention | "Is this the production UI, or a functional prototype that will be redesigned later?" |
63
+
64
+ ## Design skill preservation
65
+
66
+ Before asking additional visual questions, read `design_skill` from `project.context.md`.
67
+
68
+ Rules:
69
+
70
+ - if `design_skill` is already set, preserve it
71
+ - if `project_type=site` or `project_type=web_app` and `design_skill` is blank, ask whether to register one of the installed design skills under `.aioson/skills/design/`
72
+ - never auto-select a design skill
73
+ - if the user wants to postpone the decision, record `pending-selection`
74
+
75
+ ## Natural conversation phases
76
+
77
+ The conversation normally moves through:
78
+
79
+ - understand the problem
80
+ - define the product
81
+ - scope the first version
82
+ - validate and close
83
+
84
+ These are phases, not rigid steps. Move naturally based on what the user already answered.
85
+
86
+ ## Flow control
87
+
88
+ Detect spontaneous finalize phrases:
89
+
90
+ - `finalizar`
91
+ - `finalize`
92
+ - `chega de perguntas`
93
+ - `pode gerar`
94
+ - `wrap up`
95
+ - `just write it`
96
+ - `6`
97
+
98
+ Detect surprise-mode phrases:
99
+
100
+ - `me faça uma surpresa`
101
+ - `surprise me`
102
+ - `be creative`
103
+ - `fill in the gaps`
104
+ - `inventa você`
105
+
106
+ ### Finalize mode
107
+
108
+ Generate the PRD immediately.
109
+ Any undiscussed section should be written as `TBD — not discussed.`
110
+ Do not invent content.
111
+
112
+ ### Surprise mode
113
+
114
+ Fill undiscussed sections with explicit, reviewable judgment.
115
+ Mark every inferred item with `_(inferred)_`.
116
+ Do not leave sections empty.