@jaimevalasek/aioson 1.3.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 (288) hide show
  1. package/CHANGELOG.md +456 -0
  2. package/CODE_OF_CONDUCT.md +12 -0
  3. package/CONTRIBUTING.md +13 -0
  4. package/LICENSE +21 -0
  5. package/README.md +254 -0
  6. package/bin/aioson.js +4 -0
  7. package/docs/en/cli-reference.md +398 -0
  8. package/docs/en/i18n.md +52 -0
  9. package/docs/en/json-schemas.md +41 -0
  10. package/docs/en/mcp.md +56 -0
  11. package/docs/en/parallel.md +82 -0
  12. package/docs/en/qa-browser.md +339 -0
  13. package/docs/en/release-flow.md +22 -0
  14. package/docs/en/release-notes-template.md +41 -0
  15. package/docs/en/release.md +28 -0
  16. package/docs/en/schemas/agent-prompt.schema.json +17 -0
  17. package/docs/en/schemas/agents.schema.json +32 -0
  18. package/docs/en/schemas/context-validate.schema.json +36 -0
  19. package/docs/en/schemas/doctor.schema.json +89 -0
  20. package/docs/en/schemas/error.schema.json +24 -0
  21. package/docs/en/schemas/i18n-add.schema.json +15 -0
  22. package/docs/en/schemas/index.json +116 -0
  23. package/docs/en/schemas/info.schema.json +39 -0
  24. package/docs/en/schemas/init.schema.json +48 -0
  25. package/docs/en/schemas/install.schema.json +60 -0
  26. package/docs/en/schemas/locale-apply.schema.json +30 -0
  27. package/docs/en/schemas/mcp-doctor.schema.json +95 -0
  28. package/docs/en/schemas/mcp-init.schema.json +122 -0
  29. package/docs/en/schemas/package-test.schema.json +24 -0
  30. package/docs/en/schemas/parallel-assign.schema.json +57 -0
  31. package/docs/en/schemas/parallel-doctor.schema.json +86 -0
  32. package/docs/en/schemas/parallel-init.schema.json +53 -0
  33. package/docs/en/schemas/parallel-status.schema.json +94 -0
  34. package/docs/en/schemas/setup-context.schema.json +39 -0
  35. package/docs/en/schemas/smoke.schema.json +23 -0
  36. package/docs/en/schemas/update.schema.json +48 -0
  37. package/docs/en/schemas/workflow-plan.schema.json +30 -0
  38. package/docs/en/web3.md +54 -0
  39. package/docs/pt/README.md +46 -0
  40. package/docs/pt/advisor-spec.md +335 -0
  41. package/docs/pt/agentes.md +453 -0
  42. package/docs/pt/cenarios.md +1230 -0
  43. package/docs/pt/clientes-ai.md +224 -0
  44. package/docs/pt/comandos-cli.md +511 -0
  45. package/docs/pt/genome-3.0-spec.md +296 -0
  46. package/docs/pt/guia-engineer.md +226 -0
  47. package/docs/pt/inicio-rapido.md +138 -0
  48. package/docs/pt/profiler-system.md +214 -0
  49. package/docs/pt/runtime-observability.md +72 -0
  50. package/docs/pt/squad-genoma.md +777 -0
  51. package/docs/pt/web3.md +797 -0
  52. package/docs/testing/genome-2.0-manual-regression.md +23 -0
  53. package/docs/testing/genome-2.0-matrix.md +36 -0
  54. package/docs/testing/genome-2.0-rollout.md +184 -0
  55. package/package.json +50 -0
  56. package/src/agents.js +56 -0
  57. package/src/cli.js +497 -0
  58. package/src/commands/agents.js +142 -0
  59. package/src/commands/cloud.js +1767 -0
  60. package/src/commands/config.js +90 -0
  61. package/src/commands/context-validate.js +91 -0
  62. package/src/commands/doctor.js +123 -0
  63. package/src/commands/genome-doctor.js +41 -0
  64. package/src/commands/genome-migrate.js +49 -0
  65. package/src/commands/i18n-add.js +56 -0
  66. package/src/commands/info.js +41 -0
  67. package/src/commands/init.js +75 -0
  68. package/src/commands/install.js +68 -0
  69. package/src/commands/locale-apply.js +51 -0
  70. package/src/commands/locale-diff.js +126 -0
  71. package/src/commands/mcp-doctor.js +406 -0
  72. package/src/commands/mcp-init.js +379 -0
  73. package/src/commands/package-e2e.js +273 -0
  74. package/src/commands/parallel-assign.js +403 -0
  75. package/src/commands/parallel-doctor.js +437 -0
  76. package/src/commands/parallel-init.js +249 -0
  77. package/src/commands/parallel-status.js +290 -0
  78. package/src/commands/qa-doctor.js +185 -0
  79. package/src/commands/qa-init.js +161 -0
  80. package/src/commands/qa-report.js +58 -0
  81. package/src/commands/qa-run.js +873 -0
  82. package/src/commands/qa-scan.js +337 -0
  83. package/src/commands/runtime.js +948 -0
  84. package/src/commands/scan-project.js +1107 -0
  85. package/src/commands/setup-context.js +650 -0
  86. package/src/commands/smoke.js +426 -0
  87. package/src/commands/squad-doctor.js +358 -0
  88. package/src/commands/squad-export.js +46 -0
  89. package/src/commands/squad-pipeline.js +97 -0
  90. package/src/commands/squad-repair-genomes.js +39 -0
  91. package/src/commands/squad-status.js +424 -0
  92. package/src/commands/squad-validate.js +230 -0
  93. package/src/commands/test-agents.js +194 -0
  94. package/src/commands/update.js +55 -0
  95. package/src/commands/workflow-next.js +594 -0
  96. package/src/commands/workflow-plan.js +108 -0
  97. package/src/constants.js +314 -0
  98. package/src/context-parse-reason.js +22 -0
  99. package/src/context-writer.js +150 -0
  100. package/src/context.js +217 -0
  101. package/src/detector.js +261 -0
  102. package/src/doctor.js +289 -0
  103. package/src/execution-gateway.js +461 -0
  104. package/src/genome-files.js +198 -0
  105. package/src/genome-format.js +442 -0
  106. package/src/genome-schema.js +215 -0
  107. package/src/genomes/bindings.js +281 -0
  108. package/src/genomes.js +467 -0
  109. package/src/i18n/index.js +103 -0
  110. package/src/i18n/messages/en.js +784 -0
  111. package/src/i18n/messages/es.js +718 -0
  112. package/src/i18n/messages/fr.js +725 -0
  113. package/src/i18n/messages/pt-BR.js +818 -0
  114. package/src/i18n/scaffold.js +64 -0
  115. package/src/installer.js +232 -0
  116. package/src/lib/genomes/compat.js +206 -0
  117. package/src/lib/genomes/migrate.js +90 -0
  118. package/src/lib/squads/genome-repair.js +49 -0
  119. package/src/locales.js +84 -0
  120. package/src/onboarding.js +305 -0
  121. package/src/parser.js +53 -0
  122. package/src/prompt-tool.js +20 -0
  123. package/src/qa-html-report.js +472 -0
  124. package/src/runtime-store.js +1527 -0
  125. package/src/squads/apply-genome.js +21 -0
  126. package/src/squads/genome-binding-service.js +154 -0
  127. package/src/updater.js +32 -0
  128. package/src/utils.js +46 -0
  129. package/src/version.js +50 -0
  130. package/template/.aioson/advisors/.gitkeep +1 -0
  131. package/template/.aioson/agents/analyst.md +225 -0
  132. package/template/.aioson/agents/architect.md +221 -0
  133. package/template/.aioson/agents/dev.md +201 -0
  134. package/template/.aioson/agents/discovery-design-doc.md +196 -0
  135. package/template/.aioson/agents/genoma.md +300 -0
  136. package/template/.aioson/agents/orchestrator.md +107 -0
  137. package/template/.aioson/agents/pm.md +89 -0
  138. package/template/.aioson/agents/product.md +361 -0
  139. package/template/.aioson/agents/profiler-enricher.md +266 -0
  140. package/template/.aioson/agents/profiler-forge.md +188 -0
  141. package/template/.aioson/agents/profiler-researcher.md +245 -0
  142. package/template/.aioson/agents/qa.md +344 -0
  143. package/template/.aioson/agents/setup.md +381 -0
  144. package/template/.aioson/agents/squad.md +837 -0
  145. package/template/.aioson/agents/ux-ui.md +416 -0
  146. package/template/.aioson/config.md +56 -0
  147. package/template/.aioson/context/.gitkeep +0 -0
  148. package/template/.aioson/context/parallel/.gitkeep +0 -0
  149. package/template/.aioson/context/spec.md.template +37 -0
  150. package/template/.aioson/genomas/.gitkeep +0 -0
  151. package/template/.aioson/locales/en/agents/analyst.md +214 -0
  152. package/template/.aioson/locales/en/agents/architect.md +210 -0
  153. package/template/.aioson/locales/en/agents/dev.md +187 -0
  154. package/template/.aioson/locales/en/agents/discovery-design-doc.md +27 -0
  155. package/template/.aioson/locales/en/agents/genoma.md +212 -0
  156. package/template/.aioson/locales/en/agents/orchestrator.md +105 -0
  157. package/template/.aioson/locales/en/agents/pm.md +77 -0
  158. package/template/.aioson/locales/en/agents/product.md +310 -0
  159. package/template/.aioson/locales/en/agents/profiler-enricher.md +5 -0
  160. package/template/.aioson/locales/en/agents/profiler-forge.md +5 -0
  161. package/template/.aioson/locales/en/agents/profiler-researcher.md +5 -0
  162. package/template/.aioson/locales/en/agents/qa.md +214 -0
  163. package/template/.aioson/locales/en/agents/setup.md +342 -0
  164. package/template/.aioson/locales/en/agents/squad.md +247 -0
  165. package/template/.aioson/locales/en/agents/ux-ui.md +320 -0
  166. package/template/.aioson/locales/es/agents/analyst.md +203 -0
  167. package/template/.aioson/locales/es/agents/architect.md +208 -0
  168. package/template/.aioson/locales/es/agents/dev.md +183 -0
  169. package/template/.aioson/locales/es/agents/discovery-design-doc.md +19 -0
  170. package/template/.aioson/locales/es/agents/genoma.md +102 -0
  171. package/template/.aioson/locales/es/agents/orchestrator.md +108 -0
  172. package/template/.aioson/locales/es/agents/pm.md +81 -0
  173. package/template/.aioson/locales/es/agents/product.md +310 -0
  174. package/template/.aioson/locales/es/agents/profiler-enricher.md +5 -0
  175. package/template/.aioson/locales/es/agents/profiler-forge.md +5 -0
  176. package/template/.aioson/locales/es/agents/profiler-researcher.md +5 -0
  177. package/template/.aioson/locales/es/agents/qa.md +163 -0
  178. package/template/.aioson/locales/es/agents/setup.md +347 -0
  179. package/template/.aioson/locales/es/agents/squad.md +247 -0
  180. package/template/.aioson/locales/es/agents/ux-ui.md +201 -0
  181. package/template/.aioson/locales/fr/agents/analyst.md +203 -0
  182. package/template/.aioson/locales/fr/agents/architect.md +208 -0
  183. package/template/.aioson/locales/fr/agents/dev.md +183 -0
  184. package/template/.aioson/locales/fr/agents/discovery-design-doc.md +19 -0
  185. package/template/.aioson/locales/fr/agents/genoma.md +102 -0
  186. package/template/.aioson/locales/fr/agents/orchestrator.md +108 -0
  187. package/template/.aioson/locales/fr/agents/pm.md +81 -0
  188. package/template/.aioson/locales/fr/agents/product.md +310 -0
  189. package/template/.aioson/locales/fr/agents/profiler-enricher.md +5 -0
  190. package/template/.aioson/locales/fr/agents/profiler-forge.md +5 -0
  191. package/template/.aioson/locales/fr/agents/profiler-researcher.md +5 -0
  192. package/template/.aioson/locales/fr/agents/qa.md +163 -0
  193. package/template/.aioson/locales/fr/agents/setup.md +347 -0
  194. package/template/.aioson/locales/fr/agents/squad.md +247 -0
  195. package/template/.aioson/locales/fr/agents/ux-ui.md +201 -0
  196. package/template/.aioson/locales/pt-BR/agents/analyst.md +217 -0
  197. package/template/.aioson/locales/pt-BR/agents/architect.md +213 -0
  198. package/template/.aioson/locales/pt-BR/agents/dev.md +198 -0
  199. package/template/.aioson/locales/pt-BR/agents/discovery-design-doc.md +198 -0
  200. package/template/.aioson/locales/pt-BR/agents/genoma.md +297 -0
  201. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +108 -0
  202. package/template/.aioson/locales/pt-BR/agents/pm.md +81 -0
  203. package/template/.aioson/locales/pt-BR/agents/product.md +316 -0
  204. package/template/.aioson/locales/pt-BR/agents/profiler-enricher.md +5 -0
  205. package/template/.aioson/locales/pt-BR/agents/profiler-forge.md +5 -0
  206. package/template/.aioson/locales/pt-BR/agents/profiler-researcher.md +5 -0
  207. package/template/.aioson/locales/pt-BR/agents/qa.md +217 -0
  208. package/template/.aioson/locales/pt-BR/agents/setup.md +371 -0
  209. package/template/.aioson/locales/pt-BR/agents/squad.md +772 -0
  210. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +322 -0
  211. package/template/.aioson/mcp/servers.md +24 -0
  212. package/template/.aioson/profiler-reports/.gitkeep +1 -0
  213. package/template/.aioson/schemas/content-blueprint.schema.json +30 -0
  214. package/template/.aioson/schemas/genome-meta.schema.json +150 -0
  215. package/template/.aioson/schemas/genome.schema.json +115 -0
  216. package/template/.aioson/schemas/readiness.schema.json +27 -0
  217. package/template/.aioson/schemas/squad-blueprint.schema.json +172 -0
  218. package/template/.aioson/schemas/squad-manifest.schema.json +276 -0
  219. package/template/.aioson/skills/dynamic/README.md +30 -0
  220. package/template/.aioson/skills/dynamic/cardano-docs.md +16 -0
  221. package/template/.aioson/skills/dynamic/ethereum-docs.md +17 -0
  222. package/template/.aioson/skills/dynamic/flux-ui-docs.md +13 -0
  223. package/template/.aioson/skills/dynamic/laravel-docs.md +41 -0
  224. package/template/.aioson/skills/dynamic/npm-packages.md +16 -0
  225. package/template/.aioson/skills/dynamic/solana-docs.md +16 -0
  226. package/template/.aioson/skills/references/premium-command-center-ui/master-application-prompt.md +79 -0
  227. package/template/.aioson/skills/references/premium-command-center-ui/operational-ux-playbook.md +253 -0
  228. package/template/.aioson/skills/references/premium-command-center-ui/quality-validation-checklist.md +82 -0
  229. package/template/.aioson/skills/references/premium-command-center-ui/visual-system-and-component-patterns.md +270 -0
  230. package/template/.aioson/skills/static/django-patterns.md +342 -0
  231. package/template/.aioson/skills/static/fastapi-patterns.md +344 -0
  232. package/template/.aioson/skills/static/filament-patterns.md +267 -0
  233. package/template/.aioson/skills/static/flux-ui-components.md +262 -0
  234. package/template/.aioson/skills/static/git-conventions.md +227 -0
  235. package/template/.aioson/skills/static/interface-design.md +372 -0
  236. package/template/.aioson/skills/static/jetstream-setup.md +200 -0
  237. package/template/.aioson/skills/static/laravel-conventions.md +491 -0
  238. package/template/.aioson/skills/static/nextjs-patterns.md +321 -0
  239. package/template/.aioson/skills/static/node-express-patterns.md +317 -0
  240. package/template/.aioson/skills/static/node-typescript-patterns.md +282 -0
  241. package/template/.aioson/skills/static/premium-command-center-ui.md +190 -0
  242. package/template/.aioson/skills/static/rails-conventions.md +307 -0
  243. package/template/.aioson/skills/static/react-motion-patterns.md +577 -0
  244. package/template/.aioson/skills/static/static-html-patterns.md +1935 -0
  245. package/template/.aioson/skills/static/tall-stack-patterns.md +286 -0
  246. package/template/.aioson/skills/static/ui-ux-modern.md +75 -0
  247. package/template/.aioson/skills/static/web3-cardano-patterns.md +337 -0
  248. package/template/.aioson/skills/static/web3-ethereum-patterns.md +310 -0
  249. package/template/.aioson/skills/static/web3-security-checklist.md +284 -0
  250. package/template/.aioson/skills/static/web3-solana-patterns.md +324 -0
  251. package/template/.aioson/squads/.artisan/.gitkeep +0 -0
  252. package/template/.aioson/squads/.gitkeep +0 -0
  253. package/template/.aioson/squads/memory.md +5 -0
  254. package/template/.aioson/tasks/squad-analyze.md +83 -0
  255. package/template/.aioson/tasks/squad-create.md +99 -0
  256. package/template/.aioson/tasks/squad-design.md +100 -0
  257. package/template/.aioson/tasks/squad-export.md +20 -0
  258. package/template/.aioson/tasks/squad-extend.md +68 -0
  259. package/template/.aioson/tasks/squad-pipeline.md +122 -0
  260. package/template/.aioson/tasks/squad-repair.md +85 -0
  261. package/template/.aioson/tasks/squad-validate.md +58 -0
  262. package/template/.aioson/templates/squads/content-basic/template.json +21 -0
  263. package/template/.aioson/templates/squads/media-channel/template.json +24 -0
  264. package/template/.aioson/templates/squads/research-analysis/template.json +22 -0
  265. package/template/.aioson/templates/squads/software-delivery/template.json +21 -0
  266. package/template/.claude/commands/aioson/analyst.md +5 -0
  267. package/template/.claude/commands/aioson/architect.md +5 -0
  268. package/template/.claude/commands/aioson/dev.md +5 -0
  269. package/template/.claude/commands/aioson/orchestrator.md +5 -0
  270. package/template/.claude/commands/aioson/pm.md +5 -0
  271. package/template/.claude/commands/aioson/qa.md +5 -0
  272. package/template/.claude/commands/aioson/setup.md +5 -0
  273. package/template/.claude/commands/aioson/ux-ui.md +5 -0
  274. package/template/.gemini/GEMINI.md +10 -0
  275. package/template/.gemini/commands/aios-analyst.toml +4 -0
  276. package/template/.gemini/commands/aios-architect.toml +7 -0
  277. package/template/.gemini/commands/aios-dev.toml +8 -0
  278. package/template/.gemini/commands/aios-discovery-design-doc.toml +4 -0
  279. package/template/.gemini/commands/aios-orchestrator.toml +8 -0
  280. package/template/.gemini/commands/aios-pm.toml +8 -0
  281. package/template/.gemini/commands/aios-product.toml +4 -0
  282. package/template/.gemini/commands/aios-qa.toml +6 -0
  283. package/template/.gemini/commands/aios-setup.toml +3 -0
  284. package/template/.gemini/commands/aios-ux-ui.toml +8 -0
  285. package/template/AGENTS.md +67 -0
  286. package/template/CLAUDE.md +31 -0
  287. package/template/OPENCODE.md +24 -0
  288. package/template/aioson-models.json +40 -0
@@ -0,0 +1,784 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ cli: {
5
+ title: 'AIOSON CLI',
6
+ title_line: '{title}\n',
7
+ usage: 'Usage:',
8
+ help_item_line: ' {text}',
9
+ help_init:
10
+ 'aioson init <project-name> [--force] [--dry-run] [--lang=en|pt-BR|es|fr] [--tool=codex|claude|gemini|opencode] [--locale=en]',
11
+ help_install:
12
+ 'aioson install [path] [--force] [--dry-run] [--lang=en|pt-BR|es|fr] [--tool=codex|claude|gemini|opencode] [--locale=en]',
13
+ help_update: 'aioson update [path] [--dry-run] [--lang=en|pt-BR|es|fr] [--locale=en]',
14
+ help_info: 'aioson info [path] [--json] [--locale=en]',
15
+ help_doctor: 'aioson doctor [path] [--fix] [--dry-run] [--json] [--locale=en]',
16
+ help_i18n_add: 'aioson i18n:add <locale> [--force] [--dry-run] [--locale=en]',
17
+ help_agents: 'aioson agents [path] [--lang=en|pt-BR|es|fr] [--locale=en]',
18
+ help_agent_prompt:
19
+ 'aioson agent:prompt <agent> [path] [--tool=codex|claude|gemini|opencode] [--lang=en|pt-BR|es|fr] [--locale=en]',
20
+ help_context_validate: 'aioson context:validate [path] [--json] [--locale=en]',
21
+ help_setup_context:
22
+ 'aioson setup:context [path] [--defaults] [--project-type=web_app|api|site|script|dapp] [--framework=<name>] [--backend=<name>] [--frontend=<name>] [--database=<name>] [--auth=<name>] [--uiux=<name>] [--language=en] [--web3-enabled=true|false] [--locale=en]',
23
+ help_locale_apply: 'aioson locale:apply [path] [--lang=en|pt-BR|es|fr] [--dry-run] [--locale=en]',
24
+ help_locale_diff: 'aioson locale:diff [agent] [--lang=en|pt-BR|es|fr] [--json] [--locale=en]',
25
+ help_test_agents: 'aioson test:agents [--json] [--locale=en]',
26
+ help_test_smoke:
27
+ 'aioson test:smoke [workspace-path] [--lang=en|pt-BR|es|fr] [--web3=ethereum|solana|cardano] [--profile=standard|mixed|parallel] [--keep] [--json] [--locale=en]',
28
+ help_test_package:
29
+ 'aioson test:package [source-path] [--keep] [--dry-run] [--json] [--locale=en]',
30
+ help_workflow_plan:
31
+ 'aioson workflow:plan [path] [--classification=MICRO|SMALL|MEDIUM] [--json] [--locale=en]',
32
+ help_workflow_next:
33
+ 'aioson workflow:next [path] [--complete[=<agent>]] [--agent=<agent>] [--skip=<agent>] [--tool=codex|claude|gemini|opencode] [--json] [--locale=en]',
34
+ help_parallel_init:
35
+ 'aioson parallel:init [path] [--workers=2..6] [--force] [--dry-run] [--json] [--locale=en]',
36
+ help_parallel_doctor:
37
+ 'aioson parallel:doctor [path] [--workers=2..6] [--fix] [--force] [--dry-run] [--json] [--locale=en]',
38
+ help_parallel_assign:
39
+ 'aioson parallel:assign [path] [--source=auto|prd|architecture|discovery|<file>] [--workers=2..6] [--force] [--dry-run] [--json] [--locale=en]',
40
+ help_parallel_status:
41
+ 'aioson parallel:status [path] [--json] [--locale=en]',
42
+ help_mcp_init:
43
+ 'aioson mcp:init [path] [--tool=claude|codex|gemini|opencode] [--dry-run] [--json] [--locale=en]',
44
+ help_mcp_doctor:
45
+ 'aioson mcp:doctor [path] [--strict-env] [--json] [--locale=en]',
46
+ help_qa_doctor:
47
+ 'aioson qa:doctor [path] [--json] [--locale=en]',
48
+ help_qa_init:
49
+ 'aioson qa:init [path] [--url=<app-url>] [--dry-run] [--json] [--locale=en]',
50
+ help_qa_run:
51
+ 'aioson qa:run [path] [--url=<app-url>] [--persona=naive|hacker|power|mobile] [--headed] [--html] [--json] [--locale=en]',
52
+ help_qa_scan:
53
+ 'aioson qa:scan [path] [--url=<app-url>] [--depth=3] [--max-pages=50] [--headed] [--html] [--json] [--locale=en]',
54
+ help_qa_report:
55
+ 'aioson qa:report [path] [--html] [--json] [--locale=en]',
56
+ help_scan_project:
57
+ 'aioson scan:project [path] --folder=<path[,path2]> [--summary-mode=titles|summaries|raw] [--with-llm] [--provider=<name>] [--llm-model=<name>] [--dry-run] [--json] [--locale=en]',
58
+ help_config:
59
+ 'aioson config <set KEY=value|show|get KEY> [--json] [--locale=en]',
60
+ help_genome_doctor:
61
+ 'aioson genome:doctor <file> [--json] [--locale=en]',
62
+ help_genome_migrate:
63
+ 'aioson genome:migrate <file-or-dir> [--write] [--no-backup] [--json] [--locale=en]',
64
+ help_squad_status:
65
+ 'aioson squad:status [path] [--json] [--locale=en]',
66
+ help_squad_doctor:
67
+ 'aioson squad:doctor [path] [--squad=<slug>] [--stale-minutes=5] [--json] [--locale=en]',
68
+ help_squad_repair_genomes:
69
+ 'aioson squad:repair-genomes <manifest.json> [--write] [--no-backup] [--json] [--locale=en]',
70
+ help_squad_validate:
71
+ 'aioson squad:validate [path] --squad=<slug> [--locale=en]',
72
+ help_squad_export:
73
+ 'aioson squad:export [path] --squad=<slug> [--locale=en]',
74
+ help_squad_pipeline:
75
+ 'aioson squad:pipeline [path] [--sub=list|show|status] [--pipeline=<slug>] [--locale=en]',
76
+ help_runtime_init:
77
+ 'aioson runtime:init [path] [--json] [--locale=en]',
78
+ help_runtime_ingest:
79
+ 'aioson runtime:ingest [path] [--squad=<slug>] [--agent=<name>] [--session=<key>] [--task=<key>] [--json] [--locale=en]',
80
+ help_runtime_task_start:
81
+ 'aioson runtime:task:start [path] --title=<text> [--squad=<slug>] [--session=<key>] [--goal=<text>] [--by=<agent>] [--task=<key>] [--json] [--locale=en]',
82
+ help_runtime_start:
83
+ 'aioson runtime:start [path] --agent=<name> [--squad=<slug>] [--session=<key>] [--title=<text>] [--run=<key>] [--json] [--locale=en]',
84
+ help_runtime_update:
85
+ 'aioson runtime:update [path] --run=<key> [--message=<text>] [--summary=<text>] [--output=<path>] [--json] [--locale=en]',
86
+ help_runtime_task_finish:
87
+ 'aioson runtime:task:finish [path] --task=<key> [--goal=<text>] [--json] [--locale=en]',
88
+ help_runtime_finish:
89
+ 'aioson runtime:finish [path] --run=<key> [--summary=<text>] [--output=<path>] [--json] [--locale=en]',
90
+ help_runtime_task_fail:
91
+ 'aioson runtime:task:fail [path] --task=<key> [--goal=<text>] [--json] [--locale=en]',
92
+ help_runtime_fail:
93
+ 'aioson runtime:fail [path] --run=<key> [--message=<text>] [--summary=<text>] [--output=<path>] [--json] [--locale=en]',
94
+ help_runtime_status:
95
+ 'aioson runtime:status [path] [--json] [--locale=en]',
96
+ help_runtime_log:
97
+ 'aioson runtime:log [path] --agent=<name> --message=<text> [--type=<event>] [--finish] [--status=completed|failed] [--summary=<text>] [--title=<task-title>] [--json] [--locale=en]',
98
+ help_cloud_import_squad:
99
+ 'aioson cloud:import:squad [path] --url=<snapshot-url> [--force] [--snapshots-only] [--dry-run] [--json] [--locale=en]',
100
+ help_cloud_import_genome:
101
+ 'aioson cloud:import:genome [path] --url=<snapshot-url> [--force] [--snapshots-only] [--dry-run] [--json] [--locale=en]',
102
+ help_cloud_publish_squad:
103
+ 'aioson cloud:publish:squad [path] --slug=<slug> --resource-version=<version> [--url=<publish-url>|--base-url=<site>] [--title=<text>] [--summary=<text>] [--compatibility-min=<version>] [--compatibility-max=<version>] [--linked-genome-version=<version>] [--dry-run] [--json] [--locale=en]',
104
+ help_cloud_publish_genome:
105
+ 'aioson cloud:publish:genome [path] --slug=<slug> --resource-version=<version> [--url=<publish-url>|--base-url=<site>] [--title=<text>] [--summary=<text>] [--source-kind=LOCAL|AIOSLITE|IMPORTED|REMOTE_PROVIDER] [--dry-run] [--json] [--locale=en]',
106
+ dashboard_moved:
107
+ 'The `{command}` CLI flow was removed. The AIOSON dashboard is now installed separately. Open the dashboard app on your computer, create or add a project, and select the folder that already contains `.aioson/`.',
108
+ dashboard_moved_line: '{message}\n',
109
+ unknown_command: 'Unknown command: {command}',
110
+ unknown_command_line: '{message}\n',
111
+ error_prefix: 'Error: {message}'
112
+ },
113
+ cloud: {
114
+ project_missing: 'Project directory not found: {path}',
115
+ url_required: 'Provide --url with the squad snapshot JSON endpoint.',
116
+ import_squad_dry_run: 'Dry run: squad {slug}@{version} ready for cloud import.',
117
+ import_squad_done: 'Imported squad snapshot {slug}@{version}.',
118
+ import_genome_dry_run: 'Dry run: genome {slug}@{version} ready for cloud import.',
119
+ import_genome_done: 'Imported genome snapshot {slug}@{version}.',
120
+ publish_squad_dry_run: 'Dry run: squad {slug}@{version} ready for cloud publish.',
121
+ publish_squad_done: 'Published squad {slug}@{version} to the cloud.',
122
+ publish_genome_dry_run: 'Dry run: genome {slug}@{version} ready for cloud publish.',
123
+ publish_genome_done: 'Published genome {slug}@{version} to the cloud.'
124
+ },
125
+ init: {
126
+ usage_error:
127
+ 'Usage: aioson init <project-name> [--force] [--dry-run] [--lang=en|pt-BR|es|fr] [--tool=codex|claude|gemini|opencode] [--locale=en]',
128
+ non_empty_dir: 'Directory is not empty: {targetDir}. Use --force to continue.',
129
+ created_at: 'Project created at: {targetDir}',
130
+ files_copied: 'Files copied: {count}',
131
+ files_skipped: 'Files skipped: {count}',
132
+ next_steps: 'Next steps:',
133
+ step_cd: '1. cd {projectName}',
134
+ step_setup: '2. Open in your AI CLI and run @setup',
135
+ step_agents: '3. If no visual picker appears, run: aioson agents',
136
+ step_agent_prompt: '4. Generate setup prompt for your tool: aioson agent:prompt setup --tool={tool}'
137
+ },
138
+ install: {
139
+ framework_detected: 'Framework detected: {framework} ({evidence})',
140
+ framework_not_detected: 'No framework detected. Installing in generic mode.',
141
+ done_at: 'Installation completed at: {targetDir}',
142
+ files_copied: 'Files copied: {count}',
143
+ files_skipped: 'Files skipped: {count}',
144
+ next_steps: 'Next steps:',
145
+ step_setup_context: '1. Generate/refresh project context: aioson setup:context --defaults',
146
+ step_agents: '2. If no visual picker appears, run: aioson agents',
147
+ step_agent_prompt: '3. Generate setup prompt for your tool: aioson agent:prompt setup --tool={tool}',
148
+ existing_project_detected: '⚠ Existing project detected ({count} files). Run the scanner before starting:',
149
+ existing_project_scan_hint:
150
+ ' aioson scan:project --folder=src (builds scan-index.md locally; add --with-llm to generate discovery.md)'
151
+ },
152
+ update: {
153
+ not_installed: 'No AIOSON installation found in {targetDir}.',
154
+ done_at: 'Update completed at: {targetDir}',
155
+ files_updated: 'Files updated: {count}',
156
+ backups_created: 'Backups created: {count}'
157
+ },
158
+ info: {
159
+ cli_version: 'AIOSON CLI: v{version}',
160
+ directory: 'Directory: {targetDir}',
161
+ installed_here: 'Installed in this directory: {value}',
162
+ framework_detected: 'Framework detected: {framework}',
163
+ evidence: 'Evidence: {evidence}',
164
+ yes: 'yes',
165
+ no: 'no',
166
+ none: 'none'
167
+ },
168
+ doctor: {
169
+ ok: 'OK',
170
+ fail: 'FAIL',
171
+ diagnosis_ok: 'Diagnosis: healthy installation.',
172
+ diagnosis_fail: 'Diagnosis: {count} issue(s) found.',
173
+ hint_prefix: '-> {hint}',
174
+ check_line: '[{icon}] {message}',
175
+ hint_line: ' Hint: {hint}',
176
+ fix_action_line: '- Action: {action}',
177
+ detail_line: ' Detail: {text}',
178
+ required_file: 'Required file: {rel}',
179
+ context_generated: 'Main context generated',
180
+ context_hint: 'Run @setup to generate .aioson/context/project.context.md',
181
+ context_frontmatter_valid: 'Project context frontmatter is valid',
182
+ context_frontmatter_valid_hint: 'Ensure project.context.md starts with YAML frontmatter delimited by ---',
183
+ context_frontmatter_invalid: 'Project context frontmatter is invalid ({reason})',
184
+ context_frontmatter_invalid_hint: 'Rewrite project.context.md using the @setup output format.',
185
+ context_required_field: 'Missing required context field: {field}',
186
+ context_required_field_hint: 'Re-run @setup and confirm all required fields are present.',
187
+ context_framework_installed_type: '`framework_installed` must be boolean (true/false)',
188
+ context_framework_installed_type_hint: 'Set framework_installed as true or false without quotes.',
189
+ context_classification_value: '`classification` must be one of {expected}',
190
+ context_classification_value_hint: 'Use MICRO, SMALL, or MEDIUM exactly.',
191
+ context_project_type_value: '`project_type` must be one of {expected}',
192
+ context_project_type_value_hint: 'Use web_app, api, site, script, or dapp exactly.',
193
+ context_profile_value: '`profile` must be one of {expected}',
194
+ context_profile_value_hint: 'Use developer, beginner, or team exactly.',
195
+ context_conversation_language_format: '`conversation_language` is not a valid BCP-47 tag',
196
+ context_conversation_language_format_hint: 'Use values like en, en-US, pt-BR.',
197
+ node_version: 'Node.js >= 18 (current: {version})',
198
+ gateway_claude_pointer: 'CLAUDE gateway references shared AIOSON files',
199
+ gateway_claude_pointer_hint:
200
+ 'Ensure CLAUDE.md references .aioson/config.md and .aioson/agents/setup.md.',
201
+ gateway_codex_pointer: 'Codex gateway references shared AIOSON files',
202
+ gateway_codex_pointer_hint:
203
+ 'Ensure AGENTS.md references .aioson/config.md and .aioson/agents/.',
204
+ gateway_gemini_pointer: 'Gemini gateway references shared command and agent paths',
205
+ gateway_gemini_pointer_hint:
206
+ 'Ensure .gemini/GEMINI.md references .gemini/commands/ and .aioson/agents/.',
207
+ gateway_gemini_command_pointer: 'Gemini command file maps to shared agent: {file}',
208
+ gateway_gemini_command_pointer_hint:
209
+ 'Ensure {file} includes instruction_file = ".aioson/agents/{agent}.md".',
210
+ gateway_opencode_pointer: 'OpenCode gateway references shared AIOSON files',
211
+ gateway_opencode_pointer_hint:
212
+ 'Ensure OPENCODE.md references .aioson/config.md and .aioson/agents/.',
213
+ fix_start: 'Safe fix mode enabled.',
214
+ fix_start_dry_run: 'Safe fix mode enabled (dry-run).',
215
+ fix_action_required_files: 'Restore missing managed files from template',
216
+ fix_action_gateway_contracts: 'Restore broken gateway contract files from template',
217
+ fix_action_locale_sync: 'Synchronize active agent prompts with context language',
218
+ fix_not_applicable: 'Not applicable for current state.',
219
+ fix_target_count: 'Targets identified: {count}',
220
+ fix_applied_count: 'Changes applied: {count}',
221
+ fix_planned_count: 'Changes planned: {count}',
222
+ fix_locale: 'Resolved locale: {locale}',
223
+ fix_summary: 'Safe fix changes applied: {count}',
224
+ fix_summary_dry_run: '[dry-run] Safe fix changes planned: {count}'
225
+ },
226
+ i18n_add: {
227
+ usage_error: 'Usage: aioson i18n:add <locale> [--force] [--dry-run] [--locale=en]',
228
+ invalid_locale: 'Invalid locale code: {locale}. Expected formats like en, fr, pt-br.',
229
+ base_locale: 'Locale "en" is the base dictionary and cannot be scaffolded.',
230
+ locale_exists: 'Locale file already exists: {path}. Use --force to overwrite.',
231
+ dry_run_created: '[dry-run] Locale scaffold would be created: {locale}',
232
+ dry_run_overwritten: '[dry-run] Locale scaffold would be overwritten: {locale}',
233
+ created: 'Locale scaffold created: {locale}',
234
+ overwritten: 'Locale scaffold overwritten: {locale}',
235
+ file_path: 'Locale file: {path}',
236
+ next_steps: 'Next steps:',
237
+ step_translate: '1. Replace English strings with translated text in that file.',
238
+ step_try: '2. Run the CLI with --locale={locale} to validate the new dictionary.'
239
+ },
240
+ agents: {
241
+ list_title: 'Available agents (resolved locale: {locale}):',
242
+ path: 'Path',
243
+ active_path: 'Active path',
244
+ depends: 'Depends on',
245
+ output: 'Output',
246
+ agent_line: '- Agent: {command} ({id})',
247
+ path_line: ' Path: {path}',
248
+ active_path_line: ' Active path: {path}',
249
+ depends_line: ' Depends on: {value}',
250
+ output_line: ' Output: {value}',
251
+ none: 'none',
252
+ prompt_usage_error:
253
+ 'Usage: aioson agent:prompt <agent> [path] [--tool=codex|claude|gemini|opencode] [--lang=en|pt-BR|es|fr] [--locale=en]',
254
+ prompt_unknown_agent: 'Unknown agent: {agent}',
255
+ prompt_title: 'Prompt for agent "{agent}" on tool "{tool}" (locale: {locale}):'
256
+ },
257
+ context_validate: {
258
+ missing_file: 'Context file not found: {path}',
259
+ hint_setup: 'Run @setup to generate the file first.',
260
+ invalid_frontmatter: 'Context file has invalid YAML frontmatter.',
261
+ file_path: 'Context file: {path}',
262
+ parse_reason_unknown: 'unknown',
263
+ parse_reason_missing_frontmatter: 'missing opening frontmatter delimiter',
264
+ parse_reason_unclosed_frontmatter: 'unclosed frontmatter block',
265
+ parse_reason_invalid_frontmatter_line: 'invalid frontmatter line syntax',
266
+ parse_reason: 'Parse reason: {reason}',
267
+ hint_fix_frontmatter: 'Use @setup to regenerate a valid context file.',
268
+ invalid_fields: 'Context file is parsed but has validation issues:',
269
+ issue_line: '- {issue}',
270
+ valid: 'Context file is valid.'
271
+ },
272
+ setup_context: {
273
+ detected: 'Detected framework: {framework} (installed={installed})',
274
+ q_project_name: 'Project name',
275
+ q_project_type: 'Project type (web_app|api|site|script|dapp)',
276
+ q_profile: 'Profile: [1] developer [2] beginner [3] team',
277
+ q_use_detected_framework: 'Use detected framework? (true/false)',
278
+ q_framework: 'Framework',
279
+ q_framework_installed: 'Framework installed? (true/false)',
280
+ q_language: 'Conversation language (for example en or pt-BR)',
281
+ q_backend_menu:
282
+ 'Backend: [1] Laravel [2] Rails [3] Django [4] Node/Express [5] Next.js [6] Nuxt [7] Hardhat [8] Foundry [9] Truffle [10] Anchor [11] Solana Web3 [12] Cardano [13] Other',
283
+ q_backend_text: 'Backend (free text)',
284
+ q_laravel_version: 'Laravel version (for example 11, 10)',
285
+ q_frontend_menu:
286
+ 'Frontend: [1] TALL Stack [2] VILT Stack [3] Blade [4] Next.js [5] Nuxt [6] React [7] Vue [8] Other',
287
+ q_frontend_text: 'Frontend (free text)',
288
+ q_auth_menu:
289
+ 'Auth (Laravel): [1] Breeze [2] Jetstream + Livewire [3] Filament Shield [4] Custom',
290
+ q_web3_enabled: 'Web3 enabled? (true/false)',
291
+ q_web3_networks: 'Web3 networks (for example ethereum, solana, cardano)',
292
+ q_contract_framework: 'Contract framework (for example Hardhat, Foundry, Anchor, Aiken)',
293
+ q_wallet_provider: 'Wallet provider (for example wagmi, RainbowKit, Phantom, Lace)',
294
+ q_indexer: 'Indexer (for example The Graph, Helius, Blockfrost)',
295
+ q_rpc_provider: 'RPC provider (for example Alchemy, Infura, QuickNode)',
296
+ q_jetstream_teams: 'Jetstream teams enabled? (true/false)',
297
+ q_jetstream_existing_action:
298
+ 'Existing Laravel project without Jetstream detected. Action: [1] continue without Jetstream [2] recreate with Jetstream (recommended) [3] manual install (risk)',
299
+ q_auth_text: 'Authentication approach (free text)',
300
+ q_uiux_menu: 'UI/UX: [1] Tailwind [2] Flux UI [3] shadcn/ui [4] Filament',
301
+ q_uiux_text: 'UI/UX approach (free text)',
302
+ q_database_menu:
303
+ 'Database: [1] MySQL [2] PostgreSQL [3] SQLite [4] MongoDB [5] Supabase [6] PlanetScale',
304
+ q_database_text: 'Database (free text)',
305
+ q_services_list:
306
+ 'Additional services (comma list): queues, storage, websockets, payments, email, cache, search',
307
+ q_rails_options:
308
+ 'Rails options used (comma list, e.g. --database=postgresql,--css=tailwind,--api)',
309
+ q_next_options:
310
+ 'Next.js create-next-app options (comma list, e.g. TypeScript,ESLint,Tailwind CSS,App Router,src/ directory)',
311
+ q_beginner_summary: 'Describe your project in one sentence',
312
+ q_beginner_users:
313
+ 'Expected users: [1] personal/small up to 10 [2] small team up to 100 [3] external customers',
314
+ q_beginner_mobile: 'Mobile requirement: [1] mobile app [2] responsive web [3] desktop only',
315
+ q_beginner_hosting: 'Hosting preference: [1] simple managed [2] VPS [3] cloud provider',
316
+ q_beginner_accept_recommendation: 'Accept starter recommendation? (true/false)',
317
+ beginner_recommendation:
318
+ 'Starter recommendation -> framework: {framework}, frontend: {frontend}, database: {database}, auth: {auth}',
319
+ q_user_types: 'How many user types?',
320
+ q_integrations: 'How many external integrations?',
321
+ q_rules_complexity: 'Rules complexity (none|some|complex)',
322
+ note_status_enabled: 'enabled',
323
+ note_status_disabled: 'disabled',
324
+ note_jetstream_teams: 'Jetstream teams: {status}',
325
+ note_selected_services: 'Selected services: {services}',
326
+ note_rails_setup_flags: 'Rails setup flags: {flags}',
327
+ note_next_setup_flags: 'Next.js setup flags: {flags}',
328
+ note_next_create_flags: 'Next.js create flags: {flags}',
329
+ note_jetstream_existing_action: 'Jetstream existing-project action: {action}',
330
+ note_mobile_first:
331
+ 'Mobile-first requirement detected; consider React Native/Expo as follow-up.',
332
+ note_vps_preference:
333
+ 'VPS preference detected; keep deployment scripts simple and reproducible.',
334
+ note_cloud_profile:
335
+ 'Cloud profile detected; use managed DB and object storage from day one.',
336
+ note_web3_terms: 'Web3 terms detected; dApp starter recommendation applied.',
337
+ note_starter_profile:
338
+ 'This recommendation is a starter profile; adjust once requirements are clearer.',
339
+ note_team_profile:
340
+ 'Team profile selected; preserve explicit team conventions and CI rules.',
341
+ note_beginner_declined:
342
+ 'Starter recommendation declined; using custom stack from onboarding.',
343
+ note_monorepo:
344
+ 'Monorepo detected: Web3 and application framework coexist. Confirm primary framework with user and document structure in Notes.',
345
+ written: 'Context file written: {path}',
346
+ classification_result: 'Classification: {classification} (score={score}/6)',
347
+ locale_applied: 'Localized agent pack applied: {locale} ({count} files)'
348
+ },
349
+ locale_apply: {
350
+ applied: 'Locale pack applied: {locale}',
351
+ dry_run_applied: '[dry-run] Locale pack would be applied: {locale}',
352
+ copied_count: 'Files copied: {count}',
353
+ missing_count: 'Missing locale files: {count}',
354
+ copy_line: ' File: {source} -> {target}'
355
+ },
356
+ smoke: {
357
+ start: 'Running smoke test in: {projectDir}',
358
+ using_web3_profile: 'Using Web3 smoke profile: {target}',
359
+ using_mixed_profile: 'Using mixed Web2+Web3 monorepo smoke profile.',
360
+ using_parallel_profile: 'Using parallel orchestration smoke profile.',
361
+ seeded_web3_workspace: 'Seeded workspace for Web3 target: {target}',
362
+ seeded_mixed_workspace: 'Seeded workspace for mixed Web2+Web3 profile.',
363
+ seeded_parallel_context: 'Seeded discovery/architecture/prd context for parallel profile.',
364
+ step_ok: 'OK: {step}',
365
+ web3_detected: 'Web3 framework detected: {framework} ({network})',
366
+ web3_context_verified: 'Web3 context verified for network: {network}',
367
+ mixed_context_verified: 'Mixed profile context verified (framework: {framework}).',
368
+ parallel_status_verified: 'Parallel status verified for lanes: {count}',
369
+ invalid_web3_target: 'Invalid --web3 target: {target}. Use ethereum, solana, or cardano.',
370
+ invalid_profile: 'Invalid --profile value: {profile}. Use standard, mixed, or parallel.',
371
+ profile_conflict: 'Do not combine --profile=mixed with --web3. Choose one profile mode.',
372
+ assert_install_files: 'install copied zero files',
373
+ assert_web3_framework: 'unexpected web3 framework detection: {framework}',
374
+ assert_setup_written: 'setup:context did not write context file',
375
+ assert_setup_project_type_dapp: 'setup did not infer project_type=dapp',
376
+ assert_setup_web3_network: 'setup did not infer expected web3 network',
377
+ assert_setup_web3_framework: 'setup did not keep expected web3 framework',
378
+ assert_mixed_project_type_dapp: 'mixed profile did not infer project_type=dapp',
379
+ assert_mixed_web3_enabled: 'mixed profile did not infer web3_enabled=true',
380
+ assert_mixed_framework: 'mixed profile did not prefer web3 framework',
381
+ assert_locale_apply_files: 'locale:apply copied zero files',
382
+ assert_agents_count: 'agents command returned unexpected agent count',
383
+ assert_prompt_path: 'agent:prompt did not include expected path information',
384
+ assert_context_validate: 'context:validate failed',
385
+ assert_web3_context_valid: 'web3 context parse failed',
386
+ assert_web3_context_project_type: 'context project_type is not dapp',
387
+ assert_web3_context_enabled: 'context web3_enabled is not true',
388
+ assert_web3_context_network: 'context web3_networks does not include expected target',
389
+ assert_doctor_ok: 'doctor check failed',
390
+ assert_parallel_init_ok: 'parallel:init failed',
391
+ assert_parallel_init_workers: 'parallel:init workers mismatch',
392
+ assert_parallel_assign_ok: 'parallel:assign failed',
393
+ assert_parallel_assign_scope: 'parallel:assign produced no scopes',
394
+ assert_parallel_status_ok: 'parallel:status failed',
395
+ assert_parallel_status_lanes: 'parallel:status lane count mismatch',
396
+ assert_parallel_doctor_ok: 'parallel:doctor failed',
397
+ assert_parallel_doctor_summary: 'parallel:doctor reported failures',
398
+ completed: 'Smoke test completed successfully.',
399
+ steps_count: 'Validated steps: {count}',
400
+ workspace_kept: 'Workspace kept: {path}',
401
+ workspace_removed: 'Workspace removed: {path}'
402
+ },
403
+ package_test: {
404
+ start: 'Running package test from source: {sourceDir}',
405
+ pack_done: 'Package tarball created: {tarball}',
406
+ completed: 'Package test completed with {count} validated steps.',
407
+ workspace: 'Package test workspace: {path}',
408
+ error_unknown_detail: 'unknown error',
409
+ error_npm_pack: 'npm pack failed: {detail}',
410
+ error_tarball_missing: 'npm pack did not return tarball name',
411
+ error_npx_init: 'npx init failed: {detail}',
412
+ error_npx_setup_context: 'npx setup:context failed: {detail}',
413
+ error_npx_doctor: 'npx doctor failed: {detail}',
414
+ error_doctor_not_ok: 'doctor returned ok=false during package test',
415
+ error_npx_mcp_init: 'npx mcp:init failed: {detail}',
416
+ error_mcp_not_ok: 'mcp:init returned ok=false during package test'
417
+ },
418
+ workflow_plan: {
419
+ context_missing:
420
+ 'Context file not found. Using fallback workflow based on provided/default classification.',
421
+ title: 'Recommended workflow for classification {classification}:',
422
+ notes: 'Notes:',
423
+ command_line: ' Command: {command}',
424
+ note_line: ' Note: {note}',
425
+ note_framework_not_installed:
426
+ 'Framework is not installed yet; complete stack installation before @dev.',
427
+ note_dapp_context:
428
+ 'dApp context detected; include Web3 skills during @architect and @dev.',
429
+ note_micro_scope: 'Keep implementation scope minimal and avoid optional agents.',
430
+ note_product_optional: '@product is optional for MICRO — skip it and go straight to @dev if the idea is already clear.',
431
+ note_feature_flow: 'New feature workflow (after initial setup): @product → @analyst → @dev → @qa. No @setup required.'
432
+ },
433
+ workflow_next: {
434
+ title: 'Workflow handoff for {mode} ({classification}):',
435
+ completed: 'Completed stage: {agent}',
436
+ detour: 'Detour active: {agent} (return to {returnTo})',
437
+ current_agent: 'Current agent: {agent}',
438
+ next_agent: 'Return/next agent: {agent}',
439
+ done: 'Workflow is complete. No next agent remains.',
440
+ state_file: 'State file: {path}'
441
+ },
442
+ parallel_init: {
443
+ context_missing: 'Context file not found: {path}. Run setup:context first.',
444
+ context_invalid: 'Context file is invalid or not parseable: {path}.',
445
+ classification_unknown: 'unknown',
446
+ requires_medium:
447
+ 'Parallel initialization is only supported for MEDIUM classification (current: {classification}). Use --force to override.',
448
+ invalid_workers: 'Invalid --workers value. Use an integer between {min} and {max}.',
449
+ already_exists:
450
+ 'Parallel context files already exist ({count}). Use --force to overwrite existing files.',
451
+ prepared: 'Parallel workspace initialized at: {path}',
452
+ dry_run_prepared: '[dry-run] Parallel workspace would be initialized at: {path}',
453
+ workers_count: 'Workers: {count}',
454
+ files_count: 'Files prepared: {count}',
455
+ missing_prereq_count: 'Missing prerequisite context files: {count}',
456
+ file_line: ' File: {file}'
457
+ },
458
+ parallel_doctor: {
459
+ prefix_ok: 'OK',
460
+ prefix_warn: 'WARN',
461
+ prefix_fail: 'FAIL',
462
+ check_line: '[{prefix}] {id} - {message}',
463
+ hint_line: ' Hint: {hint}',
464
+ invalid_workers: 'Invalid --workers value. Use an integer between {min} and {max}.',
465
+ classification_unknown: 'unknown',
466
+ requires_medium:
467
+ 'Parallel doctor fix mode requires MEDIUM classification (current: {classification}). Use --force to override.',
468
+ report_title: 'Parallel doctor report: {path}',
469
+ summary: 'Summary: {passed} passed, {failed} failed, {warnings} warnings.',
470
+ fix_summary: 'Parallel fix changes applied: {count}',
471
+ fix_summary_dry_run: '[dry-run] Parallel fix changes planned: {count}',
472
+ check_context_exists_ok: 'project.context.md exists.',
473
+ check_context_exists_missing: 'project.context.md is missing.',
474
+ check_context_exists_hint: 'Run setup:context before parallel doctor.',
475
+ check_context_parsed_ok: 'project.context.md is parseable.',
476
+ check_context_parsed_invalid: 'project.context.md is invalid.',
477
+ check_context_parsed_hint: 'Fix context frontmatter before running parallel doctor.',
478
+ check_context_classification_ok:
479
+ 'Parallel mode allowed for classification {classification}.',
480
+ check_context_classification_invalid:
481
+ 'Parallel mode requires MEDIUM classification (current: {classification}).',
482
+ check_context_classification_hint: 'Use --force to override classification guard.',
483
+ check_parallel_dir_ok: '.aioson/context/parallel directory exists.',
484
+ check_parallel_dir_missing: '.aioson/context/parallel directory is missing.',
485
+ check_parallel_dir_hint: 'Run parallel:init or parallel:doctor --fix.',
486
+ check_parallel_shared_ok: 'shared-decisions.md is present.',
487
+ check_parallel_shared_missing: 'shared-decisions.md is missing.',
488
+ check_parallel_shared_hint: 'Run parallel:doctor --fix to restore baseline files.',
489
+ check_lanes_present_ok: 'Detected {count} lane file(s).',
490
+ check_lanes_present_missing: 'No agent lane status files found.',
491
+ check_lanes_present_hint: 'Run parallel:init or parallel:doctor --fix.',
492
+ check_lanes_sequence_ok: 'Lane sequence is contiguous (1..{workers}).',
493
+ check_lanes_sequence_missing: 'Missing lane files in sequence: {lanes}',
494
+ check_lanes_sequence_hint: 'Run parallel:doctor --fix to restore missing lane files.',
495
+ check_workers_option: 'Workers option requested: {workers}.',
496
+ check_prereq_ok: 'All prerequisite context files are present.',
497
+ check_prereq_missing: '{count} prerequisite context file(s) are missing.',
498
+ check_prereq_hint: 'Create discovery/architecture/prd context files before orchestration.'
499
+ },
500
+ parallel_assign: {
501
+ invalid_workers: 'Invalid --workers value. Use an integer between {min} and {max}.',
502
+ context_missing: 'Context file not found: {path}.',
503
+ context_invalid: 'Context file is invalid or not parseable: {path}.',
504
+ classification_unknown: 'unknown',
505
+ requires_medium:
506
+ 'Parallel assignment requires MEDIUM classification (current: {classification}). Use --force to override.',
507
+ parallel_missing: 'Parallel directory not found: {path}. Run parallel:init first.',
508
+ no_lanes: 'No lane status files were found in .aioson/context/parallel.',
509
+ missing_lanes: 'Missing lane files for requested workers: {lanes}.',
510
+ source_missing: 'Could not resolve source document from --source={source}.',
511
+ applied: 'Parallel scope assignment applied ({count} scope item(s)).',
512
+ dry_run_applied: '[dry-run] Parallel scope assignment planned ({count} scope item(s)).',
513
+ source_info: 'Source document: {source}',
514
+ workers_count: 'Workers: {count}',
515
+ files_count: 'Files updated: {count}',
516
+ lane_scope_line: '- lane {lane}: {count} scope item(s)'
517
+ },
518
+ parallel_status: {
519
+ parallel_missing: 'Parallel directory not found: {path}. Run parallel:init first.',
520
+ no_lanes: 'No lane status files were found in .aioson/context/parallel.',
521
+ title: 'Parallel status report: {path}',
522
+ lanes_count: 'Lanes: {count}',
523
+ statuses_title: 'Statuses:',
524
+ status_line: '- {status}: {count}',
525
+ status_pending: 'pending',
526
+ status_in_progress: 'in_progress',
527
+ status_completed: 'completed',
528
+ status_blocked: 'blocked',
529
+ status_other: 'other',
530
+ scopes_count: 'Total scope items: {count}',
531
+ deliverables_progress: 'Deliverables: {completed}/{total} completed',
532
+ blockers_count: 'Open blockers: {count}',
533
+ shared_decisions: 'Shared decision log entries: {count}',
534
+ lane_line: '- lane {lane}: status={status}, scope={scope}, blockers={blockers}'
535
+ },
536
+ mcp_init: {
537
+ context_missing:
538
+ 'Context file not found. Generating baseline MCP plan with generic assumptions.',
539
+ invalid_tool: 'Invalid --tool value: {tool}. Use one of: {expected}.',
540
+ reason_filesystem: 'Mandatory local workspace access.',
541
+ reason_context7: 'Use up-to-date official documentation at implementation time.',
542
+ reason_database_none: 'No database stack detected yet.',
543
+ reason_database_enabled: 'Context indicates database-backed features (remote MCP endpoint recommended).',
544
+ reason_web_search: 'Useful for package vetting and release-note verification.',
545
+ reason_chain_rpc_disabled: 'Web3 is disabled for this project.',
546
+ reason_chain_rpc_enabled: 'dApp context detected; chain RPC access is required.',
547
+ reason_makopy: 'Optional content pipeline integration.',
548
+ note_workspace_local: 'This is a workspace-local preset generated by AIOSON.',
549
+ note_replace_placeholders: 'Replace placeholder commands with the MCP servers you actually use.',
550
+ note_keep_secrets_env: 'Keep secrets in environment variables, never inline tokens.',
551
+ generated: 'MCP plan written: {path}',
552
+ dry_run_generated: '[dry-run] MCP plan would be written: {path}',
553
+ server_count: 'MCP servers in plan: {count}',
554
+ preset_count: 'Tool presets generated: {count}',
555
+ preset_written: 'Preset written ({tool}): {path}',
556
+ preset_dry_run: '[dry-run] Preset would be written ({tool}): {path}'
557
+ },
558
+ mcp_doctor: {
559
+ prefix_ok: 'OK',
560
+ prefix_warn: 'WARN',
561
+ prefix_fail: 'FAIL',
562
+ check_line: '[{prefix}] {id} - {message}',
563
+ hint_line: ' Hint: {hint}',
564
+ context_missing: 'project.context.md was not found.',
565
+ context_missing_hint: 'Run setup first for context-aware MCP validation.',
566
+ context_parse_invalid: 'project.context.md could not be parsed ({reason}).',
567
+ context_parse_invalid_hint: 'Fix context formatting to enable stack-aware MCP validation.',
568
+ context_ok: 'project.context.md is available and parseable.',
569
+ plan_missing: 'MCP plan file was not found (.aioson/mcp/servers.local.json).',
570
+ plan_missing_hint: 'Run: aioson mcp:init',
571
+ plan_invalid: 'MCP plan JSON is invalid: {error}',
572
+ plan_invalid_hint: 'Regenerate the plan with: aioson mcp:init',
573
+ plan_ok: 'MCP plan file is present and valid JSON.',
574
+ plan_servers_ok: 'MCP plan declares {count} server definition(s).',
575
+ plan_servers_missing: 'MCP plan has no server definitions.',
576
+ plan_servers_hint: 'Regenerate with: aioson mcp:init',
577
+ core_enabled: 'Core MCP server "{server}" is enabled.',
578
+ core_missing: 'Core MCP server "{server}" is missing or disabled.',
579
+ core_missing_hint: 'Regenerate and keep baseline core servers enabled.',
580
+ presets_any_ok: '{count} MCP preset file(s) found.',
581
+ presets_any_missing: 'No MCP preset files were found.',
582
+ presets_any_hint: 'Run: aioson mcp:init',
583
+ presets_coverage_partial: 'Only {existing}/{total} tool presets are present.',
584
+ presets_coverage_partial_hint:
585
+ 'Run: aioson mcp:init (without --tool) to generate all presets.',
586
+ presets_coverage_full: 'All tool presets are present (claude, codex, gemini, opencode).',
587
+ env_none_required: 'No required environment variables in enabled MCP servers.',
588
+ env_missing: '{missing}/{total} required env var(s) are missing: {vars}',
589
+ env_missing_hint_strict: 'Set the missing variables before execution.',
590
+ env_missing_hint_relaxed:
591
+ 'Set variables for full runtime readiness. Use --strict-env to fail on this check.',
592
+ env_all_present: 'All required env vars are available ({count}).',
593
+ compat_database_ok: 'Database MCP matches context stack engine ({engine}).',
594
+ compat_database_mismatch: 'Database MCP does not fully match context stack ({engine}).',
595
+ compat_database_hint: 'Regenerate with: aioson mcp:init, or adjust database server manually.',
596
+ compat_web3_ok: 'chain-rpc MCP is enabled for Web3 context.',
597
+ compat_web3_missing: 'Web3 context detected, but chain-rpc MCP is missing or disabled.',
598
+ compat_web3_missing_hint: 'Regenerate with: aioson mcp:init',
599
+ compat_web3_unneeded: 'chain-rpc MCP is enabled, but context is not Web3.',
600
+ compat_web3_unneeded_hint: 'Disable chain-rpc if not needed.',
601
+ report_title: 'MCP doctor report: {path}',
602
+ summary: 'Summary: {passed} passed, {failed} failed, {warnings} warnings.'
603
+ },
604
+ qa_doctor: {
605
+ prefix_ok: 'OK',
606
+ prefix_warn: 'WARN',
607
+ prefix_fail: 'FAIL',
608
+ check_line: '[{prefix}] {id} - {message}',
609
+ hint_line: ' Hint: {hint}',
610
+ report_title: 'QA doctor report: {path}',
611
+ summary: 'Summary: {passed} passed, {failed} failed, {warnings} warnings.',
612
+ playwright_ok: 'Playwright is installed.',
613
+ playwright_missing: 'Playwright package not found.',
614
+ playwright_missing_hint: 'Run: npm install -g playwright && npx playwright install chromium',
615
+ chromium_ok: 'Chromium browser binary found.',
616
+ chromium_missing: 'Chromium binary not found.',
617
+ chromium_missing_hint: 'Run: npx playwright install chromium',
618
+ config_ok: 'aios-qa.config.json found and valid.',
619
+ config_missing: 'aios-qa.config.json not found.',
620
+ config_missing_hint: 'Run: aioson qa:init --url=<your-app-url>',
621
+ config_invalid: 'aios-qa.config.json is not valid JSON: {error}',
622
+ url_ok: 'Target URL is reachable ({url}).',
623
+ url_missing: 'No target URL configured in aios-qa.config.json.',
624
+ url_missing_hint: 'Run: aioson qa:init --url=<your-app-url>',
625
+ url_unreachable: 'Target URL is not reachable ({url}): {error}',
626
+ url_unreachable_hint: 'Start your application before running qa:run or qa:scan.',
627
+ context_ok: 'project.context.md found — tests will be enriched with project context.',
628
+ context_missing: 'project.context.md not found — running in generic mode.',
629
+ prd_ok: 'prd.md found — {count} acceptance criteria mapped to test scenarios.',
630
+ prd_missing: 'prd.md not found — AC coverage mapping will be skipped.'
631
+ },
632
+ qa_init: {
633
+ context_found: 'Context found: project={name}, url={url}',
634
+ prd_found: 'prd.md found — extracted {count} acceptance criteria as test scenarios.',
635
+ prd_missing: 'prd.md not found — no AC scenarios generated. Add prd.md to enrich tests.',
636
+ generated: 'QA config written: {path}',
637
+ dry_run_generated: '[dry-run] QA config would be written: {path}',
638
+ scenarios_count: 'Test scenarios from prd.md: {count}',
639
+ personas_count: 'Personas enabled: {count} (naive, hacker, power, mobile)',
640
+ probes_count: 'Security probes enabled: {count}',
641
+ next_steps: 'Next steps:',
642
+ step_doctor: '1. Verify prerequisites: aioson qa:doctor',
643
+ step_run: '2. Run browser tests: aioson qa:run'
644
+ },
645
+ qa_run: {
646
+ playwright_missing: 'Playwright is not installed. Run: npm install -g playwright && npx playwright install chromium',
647
+ config_missing: 'aios-qa.config.json not found. Run: aioson qa:init --url=<your-app-url>',
648
+ url_missing: 'No URL configured. Add url to aios-qa.config.json or use --url=<app-url>.',
649
+ starting: 'Starting browser QA session: {url}',
650
+ persona_start: 'Running persona: {persona}',
651
+ persona_done: 'Persona "{persona}" complete — {count} finding(s)',
652
+ accessibility: 'Running accessibility audit...',
653
+ performance: 'Capturing performance metrics...',
654
+ ac_scenarios: 'Documenting AC coverage...',
655
+ done: 'QA session complete.',
656
+ report_written: 'Report written: {path}',
657
+ json_written: 'JSON report written: {path}',
658
+ screenshots_dir: 'Screenshots saved to: {path}',
659
+ findings_summary: 'Findings: {critical} critical, {high} high, {medium} medium, {low} low',
660
+ html_report_written: 'HTML report written: {path}'
661
+ },
662
+ qa_scan: {
663
+ playwright_missing: 'Playwright is not installed. Run: npm install -g playwright && npx playwright install chromium',
664
+ config_missing: 'aios-qa.config.json not found. Run: aioson qa:init --url=<your-app-url>',
665
+ url_missing: 'No URL configured. Add url to aios-qa.config.json or use --url=<app-url>.',
666
+ starting: 'Starting autonomous scan: {url}',
667
+ crawling: 'Crawling routes (max depth {depth}, max pages {pages})...',
668
+ routes_found: 'Routes discovered: {count}',
669
+ scanning_route: 'Scanning: {route}',
670
+ done: 'Autonomous scan complete.',
671
+ report_written: 'Report written: {path}',
672
+ findings_summary: 'Findings: {critical} critical, {high} high, {medium} medium, {low} low',
673
+ html_report_written: 'HTML report written: {path}'
674
+ },
675
+ qa_report: {
676
+ not_found: 'No QA report found. Run: aioson qa:run or aioson qa:scan',
677
+ html_report_written: 'HTML report written: {path}'
678
+ },
679
+ config: {
680
+ usage_error:
681
+ 'Usage: aioson config <set KEY=value|show|get KEY> [--json] [--locale=en]',
682
+ set_ok: 'Config key set: {key} (saved to {path})',
683
+ show_header: 'Global config: {path}',
684
+ show_empty: ' (no keys configured)',
685
+ show_line: ' {key} = {value}',
686
+ get_line: '{key} = {value}',
687
+ key_not_found: 'Key not found: {key}'
688
+ },
689
+ runtime: {
690
+ option_required: 'Required option missing: {option}',
691
+ store_missing: 'Runtime store not found: {path}. Run: aioson runtime:init',
692
+ init_ok: 'Runtime store initialized: {path}',
693
+ ingest_ok: 'Runtime contents indexed: {indexed} | skipped: {skipped} ({path})',
694
+ task_start_ok: 'Task started: {task} ({path})',
695
+ start_ok: 'Run started: {run} ({path})',
696
+ update_ok: 'Run updated: {run} ({path})',
697
+ task_finish_ok: 'Task completed: {task} ({path})',
698
+ finish_ok: 'Run completed: {run} ({path})',
699
+ task_fail_ok: 'Task failed: {task} ({path})',
700
+ fail_ok: 'Run failed: {run} ({path})',
701
+ log_ok: 'Event logged: {agent} / {run} ({path})',
702
+ log_finish_ok: 'Run finished: {agent} / {run} ({path})',
703
+ log_agent_required: 'Missing required option: --agent',
704
+ status_title: 'Runtime status: {path}',
705
+ status_db: 'DB: {path}',
706
+ status_task_counts:
707
+ 'Tasks -> Queued: {queued} | Running: {running} | Completed: {completed} | Failed: {failed}',
708
+ status_counts:
709
+ 'Runs -> Queued: {queued} | Running: {running} | Completed: {completed} | Failed: {failed}',
710
+ status_no_active_tasks: 'No active tasks.',
711
+ status_active_tasks_title: 'Active tasks:',
712
+ status_active_task_line: '- {task} | squad: {squad} | status: {status} | work: {title}',
713
+ status_no_active: 'No active agent runs.',
714
+ status_active_title: 'Active runs:',
715
+ status_active_line: '- {agent} | squad: {squad} | status: {status} | work: {title}'
716
+ },
717
+ squad_status: {
718
+ no_squad: 'No squads found.',
719
+ hint: 'Use @squad in your AI session to assemble a squad.',
720
+ squads_found: '{count} squad(s) found:',
721
+ most_recent: '(most recent)',
722
+ squad_item: ' [{file}]{marker}',
723
+ name: ' Squad : {value}',
724
+ mode: ' Mode : {value}',
725
+ goal: ' Goal : {value}',
726
+ agents: ' Agents : {specialists} specialists / {total} total ({path})',
727
+ sessions: ' Sessions : {count} ({path})',
728
+ latest_html: ' Latest HTML : {value}',
729
+ logs: ' Logs : {count} ({path})',
730
+ genomes: ' Genomes : {count} squad-level / {agent_count} agent bindings'
731
+ },
732
+ squad_doctor: {
733
+ prefix_ok: 'OK',
734
+ prefix_warn: 'WARN',
735
+ prefix_fail: 'FAIL',
736
+ report_title: 'Squad report {squad}: {path}',
737
+ check_line: '[{prefix}] {message}',
738
+ check_metadata: 'Squad metadata present: {path}',
739
+ check_manifest: 'Squad manifest present: {path}',
740
+ check_rules: 'Rules/agents.md present: {path}',
741
+ check_design_doc: 'Squad design doc: {path}',
742
+ check_readiness: 'Squad readiness: {path}',
743
+ check_executors: 'Declared executors: {count} | missing files: {missing}',
744
+ check_output_dir: 'Squad output directory: {path}',
745
+ check_media_dir: 'Squad media directory: {path}',
746
+ check_runtime_missing: 'Runtime store missing. Run aioson runtime:init.',
747
+ check_active_runs: 'Active runs: {count} | possibly stuck (> {minutes} min): {stale}',
748
+ check_content_indexing: 'Indexed contents: {indexed} | pending output files: {pending}',
749
+ summary: 'Summary -> checks OK: {passed} | warnings: {warned} | failures: {failed}'
750
+ },
751
+ scan_project: {
752
+ scanning: 'aioson scan:project — scanning {dir}',
753
+ folder_required:
754
+ 'Pass --folder=<path[,path2]> to generate full scans for specific folders. Example: --folder=src or --folder=app.',
755
+ folder_not_found: 'Folder "{folder}" was not found in this project. Top-level directories detected: {available}',
756
+ config_missing: '{file} not found. To use LLM mode, copy aioson-models.json and fill in your API keys.',
757
+ config_invalid: 'Invalid JSON in aioson-models.json: {error}',
758
+ provider_missing: 'LLM provider "{provider}" not found in aioson-models.json. Available: {available}',
759
+ provider_info: ' Provider : {provider}',
760
+ model_info: ' Model : {model}',
761
+ context_found: ' Context : project.context.md found',
762
+ context_missing: ' Context : project.context.md not found (run aioson setup:context first)',
763
+ spec_found: ' Spec : spec.md found — development memory included',
764
+ local_only: ' LLM : disabled by default — local scan only (use --with-llm to generate discovery.md + skeleton-system.md)',
765
+ walking: ' Scanning project structure...',
766
+ walk_done: ' Files : {files} entries mapped | Key files: {keys} read',
767
+ index_written: ' Index : local scan index written to {path} (mode: {mode})',
768
+ folders_written: ' Folders : folder map written to {path}',
769
+ folder_written: ' Folder : full map for {folder} written to {path}',
770
+ forge_written: ' AIOS : useful .aioson map written to {path}',
771
+ dry_run_done: '[dry-run] Would scan {treeCount} entries and {keyCount} key files — no LLM call made.',
772
+ local_done: ' Result : local scan completed — index, folder map, requested folder scans and .aioson map are ready.',
773
+ calling_llm: ' Calling {provider} ({model})...',
774
+ llm_missing_api_key:
775
+ 'The API key for provider "{provider}" is still missing in {file}. Fill providers.{provider}.api_key or choose another provider with --provider=...',
776
+ llm_error: 'LLM call failed: {error}',
777
+ discovery_written: 'discovery.md written: {path} ({chars} chars)',
778
+ skeleton_written: 'skeleton-system.md written: {path} ({chars} chars)',
779
+ skeleton_missing: 'Skeleton delimiter not found in LLM response — skeleton-system.md not written.',
780
+ next_steps: '\n Next steps:',
781
+ step_analyst: ' 1. Open your AI coding session and run @analyst — reads discovery.md + skeleton-system.md automatically',
782
+ step_dev: ' 2. Run @dev — reads skeleton-system.md first, then discovery.md + spec.md'
783
+ }
784
+ };