@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,818 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ cli: {
5
+ title: 'CLI do AIOSON',
6
+ title_line: '{title}\n',
7
+ usage: 'Uso:',
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=pt-BR]',
11
+ help_install:
12
+ 'aioson install [path] [--force] [--dry-run] [--lang=en|pt-BR|es|fr] [--tool=codex|claude|gemini|opencode] [--locale=pt-BR]',
13
+ help_update:
14
+ 'aioson update [path] [--dry-run] [--lang=en|pt-BR|es|fr] [--locale=pt-BR]',
15
+ help_info: 'aioson info [path] [--json] [--locale=pt-BR]',
16
+ help_doctor: 'aioson doctor [path] [--fix] [--dry-run] [--json] [--locale=pt-BR]',
17
+ help_i18n_add: 'aioson i18n:add <locale> [--force] [--dry-run] [--locale=pt-BR]',
18
+ help_agents: 'aioson agents [path] [--lang=en|pt-BR|es|fr] [--locale=pt-BR]',
19
+ help_agent_prompt:
20
+ 'aioson agent:prompt <agent> [path] [--tool=codex|claude|gemini|opencode] [--lang=en|pt-BR|es|fr] [--locale=pt-BR]',
21
+ help_context_validate: 'aioson context:validate [path] [--json] [--locale=pt-BR]',
22
+ help_setup_context:
23
+ '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=pt-BR] [--web3-enabled=true|false] [--locale=pt-BR]',
24
+ help_locale_apply:
25
+ 'aioson locale:apply [path] [--lang=en|pt-BR|es|fr] [--dry-run] [--locale=pt-BR]',
26
+ help_locale_diff: 'aioson locale:diff [agent] [--lang=en|pt-BR|es|fr] [--json] [--locale=en]',
27
+ help_test_agents: 'aioson test:agents [--json] [--locale=en]',
28
+ help_test_smoke:
29
+ 'aioson test:smoke [workspace-path] [--lang=en|pt-BR|es|fr] [--web3=ethereum|solana|cardano] [--profile=standard|mixed|parallel] [--keep] [--json] [--locale=pt-BR]',
30
+ help_test_package:
31
+ 'aioson test:package [source-path] [--keep] [--dry-run] [--json] [--locale=pt-BR]',
32
+ help_workflow_plan:
33
+ 'aioson workflow:plan [path] [--classification=MICRO|SMALL|MEDIUM] [--json] [--locale=pt-BR]',
34
+ help_workflow_next:
35
+ 'aioson workflow:next [path] [--complete[=<agente>]] [--agent=<agente>] [--skip=<agente>] [--tool=codex|claude|gemini|opencode] [--json] [--locale=pt-BR]',
36
+ help_parallel_init:
37
+ 'aioson parallel:init [path] [--workers=2..6] [--force] [--dry-run] [--json] [--locale=pt-BR]',
38
+ help_parallel_doctor:
39
+ 'aioson parallel:doctor [path] [--workers=2..6] [--fix] [--force] [--dry-run] [--json] [--locale=pt-BR]',
40
+ help_parallel_assign:
41
+ 'aioson parallel:assign [path] [--source=auto|prd|architecture|discovery|<file>] [--workers=2..6] [--force] [--dry-run] [--json] [--locale=pt-BR]',
42
+ help_parallel_status:
43
+ 'aioson parallel:status [path] [--json] [--locale=pt-BR]',
44
+ help_mcp_init:
45
+ 'aioson mcp:init [path] [--tool=claude|codex|gemini|opencode] [--dry-run] [--json] [--locale=pt-BR]',
46
+ help_mcp_doctor:
47
+ 'aioson mcp:doctor [path] [--strict-env] [--json] [--locale=pt-BR]',
48
+ help_qa_doctor:
49
+ 'aioson qa:doctor [path] [--json] [--locale=pt-BR]',
50
+ help_qa_init:
51
+ 'aioson qa:init [path] [--url=<app-url>] [--dry-run] [--json] [--locale=pt-BR]',
52
+ help_qa_run:
53
+ 'aioson qa:run [path] [--url=<app-url>] [--persona=naive|hacker|power|mobile] [--headed] [--html] [--json] [--locale=pt-BR]',
54
+ help_qa_scan:
55
+ 'aioson qa:scan [path] [--url=<app-url>] [--depth=3] [--max-pages=50] [--headed] [--html] [--json] [--locale=pt-BR]',
56
+ help_qa_report:
57
+ 'aioson qa:report [path] [--html] [--json] [--locale=pt-BR]',
58
+ help_scan_project:
59
+ 'aioson scan:project [path] --folder=<pasta[,pasta2]> [--summary-mode=titles|summaries|raw] [--with-llm] [--provider=<name>] [--llm-model=<name>] [--dry-run] [--json] [--locale=pt-BR]',
60
+ help_config:
61
+ 'aioson config <set KEY=value|show|get KEY> [--json] [--locale=pt-BR]',
62
+ help_genome_doctor:
63
+ 'aioson genome:doctor <arquivo> [--json] [--locale=pt-BR]',
64
+ help_genome_migrate:
65
+ 'aioson genome:migrate <arquivo-ou-diretorio> [--write] [--no-backup] [--json] [--locale=pt-BR]',
66
+ help_squad_status:
67
+ 'aioson squad:status [path] [--json] [--locale=pt-BR]',
68
+ help_squad_doctor:
69
+ 'aioson squad:doctor [path] [--squad=<slug>] [--stale-minutes=5] [--json] [--locale=pt-BR]',
70
+ help_squad_repair_genomes:
71
+ 'aioson squad:repair-genomes <manifest.json> [--write] [--no-backup] [--json] [--locale=pt-BR]',
72
+ help_squad_validate:
73
+ 'aioson squad:validate [path] --squad=<slug> [--locale=pt-BR]',
74
+ help_squad_export:
75
+ 'aioson squad:export [path] --squad=<slug> [--locale=pt-BR]',
76
+ help_squad_pipeline:
77
+ 'aioson squad:pipeline [path] [--sub=list|show|status] [--pipeline=<slug>] [--locale=pt-BR]',
78
+ help_runtime_init:
79
+ 'aioson runtime:init [path] [--json] [--locale=pt-BR]',
80
+ help_runtime_ingest:
81
+ 'aioson runtime:ingest [path] [--squad=<slug>] [--agent=<nome>] [--session=<chave>] [--task=<chave>] [--json] [--locale=pt-BR]',
82
+ help_runtime_task_start:
83
+ 'aioson runtime:task:start [path] --title=<texto> [--squad=<slug>] [--session=<chave>] [--goal=<texto>] [--by=<agente>] [--task=<chave>] [--json] [--locale=pt-BR]',
84
+ help_runtime_start:
85
+ 'aioson runtime:start [path] --agent=<nome> [--squad=<slug>] [--session=<chave>] [--title=<texto>] [--run=<chave>] [--json] [--locale=pt-BR]',
86
+ help_runtime_update:
87
+ 'aioson runtime:update [path] --run=<chave> [--message=<texto>] [--summary=<texto>] [--output=<path>] [--json] [--locale=pt-BR]',
88
+ help_runtime_task_finish:
89
+ 'aioson runtime:task:finish [path] --task=<chave> [--goal=<texto>] [--json] [--locale=pt-BR]',
90
+ help_runtime_finish:
91
+ 'aioson runtime:finish [path] --run=<chave> [--summary=<texto>] [--output=<path>] [--json] [--locale=pt-BR]',
92
+ help_runtime_task_fail:
93
+ 'aioson runtime:task:fail [path] --task=<chave> [--goal=<texto>] [--json] [--locale=pt-BR]',
94
+ help_runtime_fail:
95
+ 'aioson runtime:fail [path] --run=<chave> [--message=<texto>] [--summary=<texto>] [--output=<path>] [--json] [--locale=pt-BR]',
96
+ help_runtime_status:
97
+ 'aioson runtime:status [path] [--json] [--locale=pt-BR]',
98
+ help_runtime_log:
99
+ 'aioson runtime:log [path] --agent=<nome> --message=<texto> [--type=<evento>] [--finish] [--status=completed|failed] [--summary=<texto>] [--title=<titulo-task>] [--json] [--locale=pt-BR]',
100
+ help_cloud_import_squad:
101
+ 'aioson cloud:import:squad [path] --url=<snapshot-url> [--force] [--snapshots-only] [--dry-run] [--json] [--locale=pt-BR]',
102
+ help_cloud_import_genome:
103
+ 'aioson cloud:import:genome [path] --url=<snapshot-url> [--force] [--snapshots-only] [--dry-run] [--json] [--locale=pt-BR]',
104
+ help_cloud_publish_squad:
105
+ 'aioson cloud:publish:squad [path] --slug=<slug> --resource-version=<versao> [--url=<publish-url>|--base-url=<site>] [--title=<texto>] [--summary=<texto>] [--compatibility-min=<versao>] [--compatibility-max=<versao>] [--linked-genome-version=<versao>] [--dry-run] [--json] [--locale=pt-BR]',
106
+ help_cloud_publish_genome:
107
+ 'aioson cloud:publish:genome [path] --slug=<slug> --resource-version=<versao> [--url=<publish-url>|--base-url=<site>] [--title=<texto>] [--summary=<texto>] [--source-kind=LOCAL|AIOSLITE|IMPORTED|REMOTE_PROVIDER] [--dry-run] [--json] [--locale=pt-BR]',
108
+ dashboard_moved:
109
+ 'O fluxo `{command}` foi removido do CLI. O dashboard do AIOSON agora e instalado separadamente. Abra o app do dashboard no seu computador, crie ou adicione um projeto e selecione a pasta que ja contem `.aioson/`.',
110
+ dashboard_moved_line: '{message}\n',
111
+ unknown_command: 'Comando desconhecido: {command}',
112
+ unknown_command_line: '{message}\n',
113
+ error_prefix: 'Erro: {message}'
114
+ },
115
+ cloud: {
116
+ project_missing: 'Diretorio do projeto nao encontrado: {path}',
117
+ url_required: 'Informe --url com o endpoint JSON do snapshot do squad.',
118
+ import_squad_dry_run: 'Dry run: squad {slug}@{version} pronto para import cloud.',
119
+ import_squad_done: 'Snapshot do squad {slug}@{version} importado.',
120
+ import_genome_dry_run: 'Dry run: genoma {slug}@{version} pronto para import cloud.',
121
+ import_genome_done: 'Snapshot do genoma {slug}@{version} importado.',
122
+ publish_squad_dry_run: 'Dry run: squad {slug}@{version} pronto para publish cloud.',
123
+ publish_squad_done: 'Squad {slug}@{version} publicado no cloud.',
124
+ publish_genome_dry_run: 'Dry run: genoma {slug}@{version} pronto para publish cloud.',
125
+ publish_genome_done: 'Genoma {slug}@{version} publicado no cloud.'
126
+ },
127
+ init: {
128
+ usage_error:
129
+ 'Uso: aioson init <project-name> [--force] [--dry-run] [--lang=en|pt-BR|es|fr] [--tool=codex|claude|gemini|opencode] [--locale=pt-BR]',
130
+ non_empty_dir: 'Diretorio nao esta vazio: {targetDir}. Use --force para continuar.',
131
+ created_at: 'Projeto criado em: {targetDir}',
132
+ files_copied: 'Arquivos copiados: {count}',
133
+ files_skipped: 'Arquivos ignorados: {count}',
134
+ next_steps: 'Proximos passos:',
135
+ step_cd: '1. cd {projectName}',
136
+ step_setup: '2. Abra na sua AI CLI e execute @setup',
137
+ step_agents: '3. Se nao aparecer seletor visual, execute: aioson agents',
138
+ step_agent_prompt:
139
+ '4. Gere o prompt de setup para sua ferramenta: aioson agent:prompt setup --tool={tool}'
140
+ },
141
+ install: {
142
+ framework_detected: 'Framework detectado: {framework} ({evidence})',
143
+ framework_not_detected: 'Nenhum framework detectado. Instalando em modo generico.',
144
+ done_at: 'Instalacao concluida em: {targetDir}',
145
+ files_copied: 'Arquivos copiados: {count}',
146
+ files_skipped: 'Arquivos ignorados: {count}',
147
+ next_steps: 'Proximos passos:',
148
+ step_setup_context: '1. Gere/atualize o contexto do projeto: aioson setup:context --defaults',
149
+ step_agents: '2. Se nao aparecer seletor visual, execute: aioson agents',
150
+ step_agent_prompt:
151
+ '3. Gere o prompt de setup para sua ferramenta: aioson agent:prompt setup --tool={tool}',
152
+ existing_project_detected:
153
+ '⚠ Projeto existente detectado ({count} arquivos). Rode o scanner antes de comecar:',
154
+ existing_project_scan_hint:
155
+ ' aioson scan:project --folder=src (gera scan-index.md localmente; adicione --with-llm para discovery.md)'
156
+ },
157
+ update: {
158
+ not_installed: 'Nenhuma instalacao do AIOSON encontrada em {targetDir}.',
159
+ done_at: 'Atualizacao concluida em: {targetDir}',
160
+ files_updated: 'Arquivos atualizados: {count}',
161
+ backups_created: 'Backups criados: {count}'
162
+ },
163
+ info: {
164
+ cli_version: 'AIOSON CLI: v{version}',
165
+ directory: 'Diretorio: {targetDir}',
166
+ installed_here: 'Instalado neste diretorio: {value}',
167
+ framework_detected: 'Framework detectado: {framework}',
168
+ evidence: 'Evidencia: {evidence}',
169
+ yes: 'sim',
170
+ no: 'nao',
171
+ none: 'nenhum'
172
+ },
173
+ doctor: {
174
+ ok: 'OK',
175
+ fail: 'FALHA',
176
+ diagnosis_ok: 'Diagnostico: instalacao saudavel.',
177
+ diagnosis_fail: 'Diagnostico: {count} problema(s) encontrado(s).',
178
+ hint_prefix: '-> {hint}',
179
+ check_line: '[{icon}] {message}',
180
+ hint_line: ' Dica: {hint}',
181
+ fix_action_line: '- Acao: {action}',
182
+ detail_line: ' Detalhe: {text}',
183
+ required_file: 'Arquivo obrigatorio: {rel}',
184
+ context_generated: 'Contexto principal gerado',
185
+ context_hint: 'Execute @setup para gerar .aioson/context/project.context.md',
186
+ context_frontmatter_valid: 'Frontmatter do contexto do projeto esta valido',
187
+ context_frontmatter_valid_hint:
188
+ 'Garanta que project.context.md comeca com frontmatter YAML delimitado por ---',
189
+ context_frontmatter_invalid: 'Frontmatter do contexto do projeto esta invalido ({reason})',
190
+ context_frontmatter_invalid_hint:
191
+ 'Reescreva project.context.md usando o formato de saida do @setup.',
192
+ context_required_field: 'Campo obrigatorio ausente no contexto: {field}',
193
+ context_required_field_hint:
194
+ 'Execute novamente @setup e confirme que todos os campos obrigatorios estao presentes.',
195
+ context_framework_installed_type: '`framework_installed` deve ser booleano (true/false)',
196
+ context_framework_installed_type_hint:
197
+ 'Defina framework_installed como true ou false sem aspas.',
198
+ context_classification_value: '`classification` deve ser um de {expected}',
199
+ context_classification_value_hint: 'Use MICRO, SMALL ou MEDIUM exatamente.',
200
+ context_project_type_value: '`project_type` deve ser um de {expected}',
201
+ context_project_type_value_hint: 'Use web_app, api, site, script ou dapp exatamente.',
202
+ context_profile_value: '`profile` deve ser um de {expected}',
203
+ context_profile_value_hint: 'Use developer, beginner ou team exatamente.',
204
+ context_conversation_language_format:
205
+ '`conversation_language` nao e uma tag BCP-47 valida',
206
+ context_conversation_language_format_hint: 'Use valores como en, en-US, pt-BR.',
207
+ node_version: 'Node.js >= 18 (atual: {version})',
208
+ gateway_claude_pointer: 'Gateway do CLAUDE referencia arquivos compartilhados do AIOSON',
209
+ gateway_claude_pointer_hint:
210
+ 'Garanta que CLAUDE.md referencie .aioson/config.md e .aioson/agents/setup.md.',
211
+ gateway_codex_pointer: 'Gateway do Codex referencia arquivos compartilhados do AIOSON',
212
+ gateway_codex_pointer_hint:
213
+ 'Garanta que AGENTS.md referencie .aioson/config.md e .aioson/agents/.',
214
+ gateway_gemini_pointer: 'Gateway do Gemini referencia caminhos compartilhados de comandos e agentes',
215
+ gateway_gemini_pointer_hint:
216
+ 'Garanta que .gemini/GEMINI.md referencie .gemini/commands/ e .aioson/agents/.',
217
+ gateway_gemini_command_pointer:
218
+ 'Arquivo de comando Gemini mapeia para agente compartilhado: {file}',
219
+ gateway_gemini_command_pointer_hint:
220
+ 'Garanta que {file} inclua instruction_file = ".aioson/agents/{agent}.md".',
221
+ gateway_opencode_pointer: 'Gateway do OpenCode referencia arquivos compartilhados do AIOSON',
222
+ gateway_opencode_pointer_hint:
223
+ 'Garanta que OPENCODE.md referencie .aioson/config.md e .aioson/agents/.',
224
+ fix_start: 'Modo de correcao segura habilitado.',
225
+ fix_start_dry_run: 'Modo de correcao segura habilitado (dry-run).',
226
+ fix_action_required_files: 'Restaurar arquivos gerenciados ausentes a partir do template',
227
+ fix_action_gateway_contracts:
228
+ 'Restaurar arquivos de contrato de gateway quebrados a partir do template',
229
+ fix_action_locale_sync: 'Sincronizar prompts ativos dos agentes com o idioma do contexto',
230
+ fix_not_applicable: 'Nao aplicavel para o estado atual.',
231
+ fix_target_count: 'Alvos identificados: {count}',
232
+ fix_applied_count: 'Mudancas aplicadas: {count}',
233
+ fix_planned_count: 'Mudancas planejadas: {count}',
234
+ fix_locale: 'Locale resolvido: {locale}',
235
+ fix_summary: 'Mudancas de correcao segura aplicadas: {count}',
236
+ fix_summary_dry_run: '[dry-run] Mudancas de correcao segura planejadas: {count}'
237
+ },
238
+ i18n_add: {
239
+ usage_error: 'Uso: aioson i18n:add <locale> [--force] [--dry-run] [--locale=pt-BR]',
240
+ invalid_locale: 'Codigo de locale invalido: {locale}. Formatos esperados como en, fr, pt-br.',
241
+ base_locale: 'O locale "en" e o dicionario base e nao pode ser gerado.',
242
+ locale_exists: 'Arquivo de locale ja existe: {path}. Use --force para sobrescrever.',
243
+ dry_run_created: '[dry-run] O scaffold de locale seria criado: {locale}',
244
+ dry_run_overwritten: '[dry-run] O scaffold de locale seria sobrescrito: {locale}',
245
+ created: 'Scaffold de locale criado: {locale}',
246
+ overwritten: 'Scaffold de locale sobrescrito: {locale}',
247
+ file_path: 'Arquivo de locale: {path}',
248
+ next_steps: 'Proximos passos:',
249
+ step_translate: '1. Substitua as strings em ingles pelos textos traduzidos nesse arquivo.',
250
+ step_try: '2. Execute a CLI com --locale={locale} para validar o novo dicionario.'
251
+ },
252
+ agents: {
253
+ list_title: 'Agentes disponiveis (locale resolvido: {locale}):',
254
+ path: 'Caminho',
255
+ active_path: 'Caminho ativo',
256
+ depends: 'Depende de',
257
+ output: 'Saida',
258
+ agent_line: '- Agente: {command} ({id})',
259
+ path_line: ' Caminho: {path}',
260
+ active_path_line: ' Caminho ativo: {path}',
261
+ depends_line: ' Depende de: {value}',
262
+ output_line: ' Saida: {value}',
263
+ none: 'nenhum',
264
+ prompt_usage_error:
265
+ 'Uso: aioson agent:prompt <agent> [path] [--tool=codex|claude|gemini|opencode] [--lang=en|pt-BR|es|fr] [--locale=pt-BR]',
266
+ prompt_unknown_agent: 'Agente desconhecido: {agent}',
267
+ prompt_title: 'Prompt para o agente "{agent}" na ferramenta "{tool}" (locale: {locale}):'
268
+ },
269
+ context_validate: {
270
+ missing_file: 'Arquivo de contexto nao encontrado: {path}',
271
+ hint_setup: 'Execute @setup para gerar o arquivo primeiro.',
272
+ invalid_frontmatter: 'O arquivo de contexto tem frontmatter YAML invalido.',
273
+ file_path: 'Arquivo de contexto: {path}',
274
+ parse_reason_unknown: 'desconhecido',
275
+ parse_reason_missing_frontmatter: 'delimitador inicial do frontmatter ausente',
276
+ parse_reason_unclosed_frontmatter: 'bloco de frontmatter nao fechado',
277
+ parse_reason_invalid_frontmatter_line: 'sintaxe invalida em linha do frontmatter',
278
+ parse_reason: 'Motivo do parse: {reason}',
279
+ hint_fix_frontmatter: 'Use @setup para regenerar um arquivo de contexto valido.',
280
+ invalid_fields: 'O arquivo de contexto foi lido, mas tem problemas de validacao:',
281
+ issue_line: '- {issue}',
282
+ valid: 'O arquivo de contexto esta valido.'
283
+ },
284
+ setup_context: {
285
+ detected: 'Framework detectado: {framework} (installed={installed})',
286
+ q_project_name: 'Nome do projeto',
287
+ q_project_type: 'Tipo do projeto (web_app|api|site|script|dapp)',
288
+ q_profile: 'Perfil: [1] developer [2] beginner [3] team',
289
+ q_use_detected_framework: 'Usar framework detectado? (true/false)',
290
+ q_framework: 'Framework',
291
+ q_framework_installed: 'Framework instalado? (true/false)',
292
+ q_language: 'Idioma da conversa (por exemplo en ou pt-BR)',
293
+ q_backend_menu:
294
+ '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',
295
+ q_backend_text: 'Backend (texto livre)',
296
+ q_laravel_version: 'Versao do Laravel (por exemplo 11, 10)',
297
+ q_frontend_menu:
298
+ 'Frontend: [1] TALL Stack [2] VILT Stack [3] Blade [4] Next.js [5] Nuxt [6] React [7] Vue [8] Other',
299
+ q_frontend_text: 'Frontend (texto livre)',
300
+ q_auth_menu:
301
+ 'Auth (Laravel): [1] Breeze [2] Jetstream + Livewire [3] Filament Shield [4] Custom',
302
+ q_web3_enabled: 'Web3 habilitado? (true/false)',
303
+ q_web3_networks: 'Redes Web3 (por exemplo ethereum, solana, cardano)',
304
+ q_contract_framework: 'Framework de contratos (por exemplo Hardhat, Foundry, Anchor, Aiken)',
305
+ q_wallet_provider: 'Wallet provider (por exemplo wagmi, RainbowKit, Phantom, Lace)',
306
+ q_indexer: 'Indexer (por exemplo The Graph, Helius, Blockfrost)',
307
+ q_rpc_provider: 'RPC provider (por exemplo Alchemy, Infura, QuickNode)',
308
+ q_jetstream_teams: 'Jetstream com teams habilitado? (true/false)',
309
+ q_jetstream_existing_action:
310
+ 'Projeto Laravel existente sem Jetstream detectado. Acao: [1] continuar sem Jetstream [2] recriar com Jetstream (recomendado) [3] instalacao manual (risco)',
311
+ q_auth_text: 'Estrategia de autenticacao (texto livre)',
312
+ q_uiux_menu: 'UI/UX: [1] Tailwind [2] Flux UI [3] shadcn/ui [4] Filament',
313
+ q_uiux_text: 'Abordagem de UI/UX (texto livre)',
314
+ q_database_menu:
315
+ 'Banco de dados: [1] MySQL [2] PostgreSQL [3] SQLite [4] MongoDB [5] Supabase [6] PlanetScale',
316
+ q_database_text: 'Banco de dados (texto livre)',
317
+ q_services_list:
318
+ 'Servicos adicionais (lista separada por virgula): queues, storage, websockets, payments, email, cache, search',
319
+ q_rails_options:
320
+ 'Opcoes usadas no Rails (lista por virgula, ex: --database=postgresql,--css=tailwind,--api)',
321
+ q_next_options:
322
+ 'Opcoes do create-next-app (lista por virgula, ex: TypeScript,ESLint,Tailwind CSS,App Router,src/ directory)',
323
+ q_beginner_summary: 'Descreva seu projeto em uma frase',
324
+ q_beginner_users:
325
+ 'Usuarios esperados: [1] pessoal/pequeno ate 10 [2] time pequeno ate 100 [3] clientes externos',
326
+ q_beginner_mobile: 'Requisito mobile: [1] app mobile [2] web responsiva [3] apenas desktop',
327
+ q_beginner_hosting: 'Preferencia de hospedagem: [1] gerenciado simples [2] VPS [3] cloud provider',
328
+ q_beginner_accept_recommendation: 'Aceitar recomendacao inicial? (true/false)',
329
+ beginner_recommendation:
330
+ 'Recomendacao inicial -> framework: {framework}, frontend: {frontend}, database: {database}, auth: {auth}',
331
+ q_user_types: 'Quantos tipos de usuario?',
332
+ q_integrations: 'Quantas integracoes externas?',
333
+ q_rules_complexity: 'Complexidade de regras (none|some|complex)',
334
+ note_status_enabled: 'habilitado',
335
+ note_status_disabled: 'desabilitado',
336
+ note_jetstream_teams: 'Jetstream teams: {status}',
337
+ note_selected_services: 'Servicos selecionados: {services}',
338
+ note_rails_setup_flags: 'Flags de setup do Rails: {flags}',
339
+ note_next_setup_flags: 'Flags de setup do Next.js: {flags}',
340
+ note_next_create_flags: 'Flags do create-next-app: {flags}',
341
+ note_jetstream_existing_action: 'Acao para projeto existente com Jetstream: {action}',
342
+ note_mobile_first:
343
+ 'Requisito mobile-first detectado; considere React Native/Expo como proximo passo.',
344
+ note_vps_preference:
345
+ 'Preferencia por VPS detectada; mantenha scripts de deploy simples e reproduziveis.',
346
+ note_cloud_profile:
347
+ 'Perfil cloud detectado; use banco gerenciado e object storage desde o inicio.',
348
+ note_web3_terms: 'Termos Web3 detectados; recomendacao inicial de dApp aplicada.',
349
+ note_starter_profile:
350
+ 'Esta recomendacao e um perfil inicial; ajuste quando os requisitos ficarem mais claros.',
351
+ note_team_profile:
352
+ 'Perfil de time selecionado; preserve convencoes explicitas de equipe e regras de CI.',
353
+ note_beginner_declined:
354
+ 'Recomendacao inicial recusada; usando stack customizada do onboarding.',
355
+ note_monorepo:
356
+ 'Monorepo detectado: framework Web3 e framework de aplicacao coexistem. Confirmar framework primario com o usuario e documentar estrutura em Notes.',
357
+ written: 'Arquivo de contexto escrito: {path}',
358
+ classification_result: 'Classificacao: {classification} (score={score}/6)',
359
+ locale_applied: 'Pacote de agentes localizado aplicado: {locale} ({count} arquivos)'
360
+ },
361
+ locale_apply: {
362
+ applied: 'Pacote de locale aplicado: {locale}',
363
+ dry_run_applied: '[dry-run] Pacote de locale seria aplicado: {locale}',
364
+ copied_count: 'Arquivos copiados: {count}',
365
+ missing_count: 'Arquivos de locale ausentes: {count}',
366
+ copy_line: ' Arquivo: {source} -> {target}'
367
+ },
368
+ smoke: {
369
+ start: 'Executando smoke test em: {projectDir}',
370
+ using_web3_profile: 'Usando perfil Web3 de smoke: {target}',
371
+ using_mixed_profile: 'Usando perfil misto Web2+Web3 para smoke test.',
372
+ using_parallel_profile: 'Usando perfil de smoke para orquestracao paralela.',
373
+ seeded_web3_workspace: 'Workspace inicializado para alvo Web3: {target}',
374
+ seeded_mixed_workspace: 'Workspace inicializado para perfil misto Web2+Web3.',
375
+ seeded_parallel_context: 'Contexto discovery/architecture/prd inicializado para perfil paralelo.',
376
+ step_ok: 'OK: {step}',
377
+ web3_detected: 'Framework Web3 detectado: {framework} ({network})',
378
+ web3_context_verified: 'Contexto Web3 verificado para rede: {network}',
379
+ mixed_context_verified: 'Contexto do perfil misto verificado (framework: {framework}).',
380
+ parallel_status_verified: 'Status paralelo verificado para lanes: {count}',
381
+ invalid_web3_target: 'Alvo --web3 invalido: {target}. Use ethereum, solana ou cardano.',
382
+ invalid_profile: 'Valor invalido para --profile: {profile}. Use standard, mixed ou parallel.',
383
+ profile_conflict: 'Nao combine --profile=mixed com --web3. Escolha um modo de perfil.',
384
+ assert_install_files: 'install copiou zero arquivos',
385
+ assert_web3_framework: 'deteccao de framework web3 inesperada: {framework}',
386
+ assert_setup_written: 'setup:context nao gravou o arquivo de contexto',
387
+ assert_setup_project_type_dapp: 'setup nao inferiu project_type=dapp',
388
+ assert_setup_web3_network: 'setup nao inferiu a rede web3 esperada',
389
+ assert_setup_web3_framework: 'setup nao manteve o framework web3 esperado',
390
+ assert_mixed_project_type_dapp: 'perfil mixed nao inferiu project_type=dapp',
391
+ assert_mixed_web3_enabled: 'perfil mixed nao inferiu web3_enabled=true',
392
+ assert_mixed_framework: 'perfil mixed nao priorizou o framework web3 esperado',
393
+ assert_locale_apply_files: 'locale:apply copiou zero arquivos',
394
+ assert_agents_count: 'comando agents retornou contagem inesperada',
395
+ assert_prompt_path: 'agent:prompt nao incluiu o caminho esperado',
396
+ assert_context_validate: 'context:validate falhou',
397
+ assert_web3_context_valid: 'falha ao validar parse do contexto web3',
398
+ assert_web3_context_project_type: 'project_type do contexto nao e dapp',
399
+ assert_web3_context_enabled: 'web3_enabled do contexto nao e true',
400
+ assert_web3_context_network: 'web3_networks do contexto nao inclui o alvo esperado',
401
+ assert_doctor_ok: 'checagem doctor falhou',
402
+ assert_parallel_init_ok: 'parallel:init falhou',
403
+ assert_parallel_init_workers: 'workers de parallel:init nao conferem',
404
+ assert_parallel_assign_ok: 'parallel:assign falhou',
405
+ assert_parallel_assign_scope: 'parallel:assign nao gerou escopos',
406
+ assert_parallel_status_ok: 'parallel:status falhou',
407
+ assert_parallel_status_lanes: 'quantidade de lanes em parallel:status nao confere',
408
+ assert_parallel_doctor_ok: 'parallel:doctor falhou',
409
+ assert_parallel_doctor_summary: 'parallel:doctor reportou falhas',
410
+ completed: 'Smoke test concluido com sucesso.',
411
+ steps_count: 'Etapas validadas: {count}',
412
+ workspace_kept: 'Workspace mantido: {path}',
413
+ workspace_removed: 'Workspace removido: {path}'
414
+ },
415
+ package_test: {
416
+ start: 'Executando teste de pacote a partir da origem: {sourceDir}',
417
+ pack_done: 'Tarball do pacote criado: {tarball}',
418
+ completed: 'Teste de pacote concluido com {count} etapas validadas.',
419
+ workspace: 'Workspace do teste de pacote: {path}',
420
+ error_unknown_detail: 'erro desconhecido',
421
+ error_npm_pack: 'Falha no npm pack: {detail}',
422
+ error_tarball_missing: 'npm pack nao retornou o nome do tarball',
423
+ error_npx_init: 'Falha no npx init: {detail}',
424
+ error_npx_setup_context: 'Falha no npx setup:context: {detail}',
425
+ error_npx_doctor: 'Falha no npx doctor: {detail}',
426
+ error_doctor_not_ok: 'doctor retornou ok=false durante o teste de pacote',
427
+ error_npx_mcp_init: 'Falha no npx mcp:init: {detail}',
428
+ error_mcp_not_ok: 'mcp:init retornou ok=false durante o teste de pacote'
429
+ },
430
+ workflow_plan: {
431
+ context_missing:
432
+ 'Arquivo de contexto nao encontrado. Usando workflow de fallback com base na classificacao informada/padrao.',
433
+ title: 'Workflow recomendado para classificacao {classification}:',
434
+ notes: 'Notas:',
435
+ command_line: ' Comando: {command}',
436
+ note_line: ' Nota: {note}',
437
+ note_framework_not_installed:
438
+ 'Framework ainda nao esta instalado; conclua a instalacao da stack antes de @dev.',
439
+ note_dapp_context:
440
+ 'Contexto dApp detectado; inclua skills Web3 durante @architect e @dev.',
441
+ note_micro_scope:
442
+ 'Mantenha o escopo de implementacao minimo e evite agentes opcionais.',
443
+ note_product_optional:
444
+ '@product e opcional para MICRO — pule e va direto ao @dev se a ideia ja esta clara.',
445
+ note_feature_flow:
446
+ 'Fluxo para nova feature (apos configuracao inicial): @product → @analyst → @dev → @qa. Sem @setup.'
447
+ },
448
+ workflow_next: {
449
+ title: 'Handoff do workflow para {mode} ({classification}):',
450
+ completed: 'Etapa concluida: {agent}',
451
+ detour: 'Desvio ativo: {agent} (retorna para {returnTo})',
452
+ current_agent: 'Agente atual: {agent}',
453
+ next_agent: 'Proximo/retorno: {agent}',
454
+ done: 'Workflow concluido. Nao ha proximo agente.',
455
+ state_file: 'Arquivo de estado: {path}'
456
+ },
457
+ parallel_init: {
458
+ context_missing:
459
+ 'Arquivo de contexto nao encontrado: {path}. Execute setup:context primeiro.',
460
+ context_invalid: 'Arquivo de contexto invalido ou nao parseavel: {path}.',
461
+ classification_unknown: 'desconhecida',
462
+ requires_medium:
463
+ 'Inicializacao paralela so e suportada para classificacao MEDIUM (atual: {classification}). Use --force para sobrescrever.',
464
+ invalid_workers:
465
+ 'Valor invalido para --workers. Use um inteiro entre {min} e {max}.',
466
+ already_exists:
467
+ 'Arquivos de contexto paralelo ja existem ({count}). Use --force para sobrescrever.',
468
+ prepared: 'Workspace paralelo inicializado em: {path}',
469
+ dry_run_prepared: '[dry-run] Workspace paralelo seria inicializado em: {path}',
470
+ workers_count: 'Workers: {count}',
471
+ files_count: 'Arquivos preparados: {count}',
472
+ missing_prereq_count: 'Arquivos de contexto prerequisitos ausentes: {count}',
473
+ file_line: ' Arquivo: {file}'
474
+ },
475
+ parallel_doctor: {
476
+ prefix_ok: 'OK',
477
+ prefix_warn: 'AVISO',
478
+ prefix_fail: 'FALHA',
479
+ check_line: '[{prefix}] {id} - {message}',
480
+ hint_line: ' Dica: {hint}',
481
+ invalid_workers:
482
+ 'Valor invalido para --workers. Use um inteiro entre {min} e {max}.',
483
+ classification_unknown: 'desconhecida',
484
+ requires_medium:
485
+ 'Modo de correcao do parallel doctor requer classificacao MEDIUM (atual: {classification}). Use --force para sobrescrever.',
486
+ report_title: 'Relatorio do parallel doctor: {path}',
487
+ summary: 'Resumo: {passed} aprovados, {failed} falhas, {warnings} avisos.',
488
+ fix_summary: 'Mudancas de correcao paralela aplicadas: {count}',
489
+ fix_summary_dry_run: '[dry-run] Mudancas de correcao paralela planejadas: {count}',
490
+ check_context_exists_ok: 'project.context.md existe.',
491
+ check_context_exists_missing: 'project.context.md esta ausente.',
492
+ check_context_exists_hint: 'Execute setup:context antes do parallel doctor.',
493
+ check_context_parsed_ok: 'project.context.md esta parseavel.',
494
+ check_context_parsed_invalid: 'project.context.md esta invalido.',
495
+ check_context_parsed_hint:
496
+ 'Corrija o frontmatter do contexto antes de executar parallel doctor.',
497
+ check_context_classification_ok:
498
+ 'Modo paralelo permitido para classificacao {classification}.',
499
+ check_context_classification_invalid:
500
+ 'Modo paralelo requer classificacao MEDIUM (atual: {classification}).',
501
+ check_context_classification_hint: 'Use --force para sobrescrever a regra de classificacao.',
502
+ check_parallel_dir_ok: 'Diretorio .aioson/context/parallel existe.',
503
+ check_parallel_dir_missing: 'Diretorio .aioson/context/parallel esta ausente.',
504
+ check_parallel_dir_hint: 'Execute parallel:init ou parallel:doctor --fix.',
505
+ check_parallel_shared_ok: 'shared-decisions.md esta presente.',
506
+ check_parallel_shared_missing: 'shared-decisions.md esta ausente.',
507
+ check_parallel_shared_hint:
508
+ 'Execute parallel:doctor --fix para restaurar os arquivos base.',
509
+ check_lanes_present_ok: '{count} arquivo(s) de lane detectado(s).',
510
+ check_lanes_present_missing: 'Nenhum arquivo de status de lane foi encontrado.',
511
+ check_lanes_present_hint: 'Execute parallel:init ou parallel:doctor --fix.',
512
+ check_lanes_sequence_ok: 'Sequencia de lanes e continua (1..{workers}).',
513
+ check_lanes_sequence_missing: 'Arquivos de lane ausentes na sequencia: {lanes}',
514
+ check_lanes_sequence_hint:
515
+ 'Execute parallel:doctor --fix para restaurar as lanes ausentes.',
516
+ check_workers_option: 'Opcao de workers solicitada: {workers}.',
517
+ check_prereq_ok: 'Todos os arquivos de contexto prerequisitos estao presentes.',
518
+ check_prereq_missing: '{count} arquivo(s) de contexto prerequisito ausente(s).',
519
+ check_prereq_hint:
520
+ 'Crie os arquivos discovery/architecture/prd antes da orquestracao.'
521
+ },
522
+ parallel_assign: {
523
+ invalid_workers:
524
+ 'Valor invalido para --workers. Use um inteiro entre {min} e {max}.',
525
+ context_missing: 'Arquivo de contexto nao encontrado: {path}.',
526
+ context_invalid: 'Arquivo de contexto invalido ou nao parseavel: {path}.',
527
+ classification_unknown: 'desconhecida',
528
+ requires_medium:
529
+ 'A atribuicao paralela requer classificacao MEDIUM (atual: {classification}). Use --force para sobrescrever.',
530
+ parallel_missing:
531
+ 'Diretorio paralelo nao encontrado: {path}. Execute parallel:init primeiro.',
532
+ no_lanes: 'Nenhum arquivo de lane foi encontrado em .aioson/context/parallel.',
533
+ missing_lanes: 'Arquivos de lane ausentes para os workers solicitados: {lanes}.',
534
+ source_missing: 'Nao foi possivel resolver o documento de origem com --source={source}.',
535
+ applied: 'Atribuicao de escopo paralelo aplicada ({count} item(ns) de escopo).',
536
+ dry_run_applied:
537
+ '[dry-run] Atribuicao de escopo paralelo planejada ({count} item(ns) de escopo).',
538
+ source_info: 'Documento de origem: {source}',
539
+ workers_count: 'Workers: {count}',
540
+ files_count: 'Arquivos atualizados: {count}',
541
+ lane_scope_line: '- lane {lane}: {count} item(ns) de escopo'
542
+ },
543
+ parallel_status: {
544
+ parallel_missing:
545
+ 'Diretorio paralelo nao encontrado: {path}. Execute parallel:init primeiro.',
546
+ no_lanes: 'Nenhum arquivo de lane foi encontrado em .aioson/context/parallel.',
547
+ title: 'Relatorio de status paralelo: {path}',
548
+ lanes_count: 'Lanes: {count}',
549
+ statuses_title: 'Status:',
550
+ status_line: '- {status}: {count}',
551
+ status_pending: 'pendente',
552
+ status_in_progress: 'em_andamento',
553
+ status_completed: 'concluido',
554
+ status_blocked: 'bloqueado',
555
+ status_other: 'outro',
556
+ scopes_count: 'Total de itens de escopo: {count}',
557
+ deliverables_progress: 'Entregaveis: {completed}/{total} concluidos',
558
+ blockers_count: 'Bloqueios em aberto: {count}',
559
+ shared_decisions: 'Entradas no log de decisoes compartilhadas: {count}',
560
+ lane_line: '- lane {lane}: status={status}, escopo={scope}, bloqueios={blockers}'
561
+ },
562
+ mcp_init: {
563
+ context_missing:
564
+ 'Arquivo de contexto nao encontrado. Gerando plano MCP base com suposicoes genericas.',
565
+ invalid_tool: 'Valor invalido para --tool: {tool}. Use um de: {expected}.',
566
+ reason_filesystem: 'Acesso local obrigatorio ao workspace.',
567
+ reason_context7: 'Use documentacao oficial atualizada no momento da implementacao.',
568
+ reason_database_none: 'Nenhuma stack de banco de dados foi detectada ainda.',
569
+ reason_database_enabled:
570
+ 'O contexto indica recursos com banco de dados (endpoint MCP remoto recomendado).',
571
+ reason_web_search: 'Util para avaliacao de pacotes e verificacao de release notes.',
572
+ reason_chain_rpc_disabled: 'Web3 esta desabilitado para este projeto.',
573
+ reason_chain_rpc_enabled: 'Contexto dApp detectado; acesso RPC de chain e necessario.',
574
+ reason_makopy: 'Integracao opcional de pipeline de conteudo.',
575
+ note_workspace_local: 'Este e um preset local de workspace gerado pelo AIOSON.',
576
+ note_replace_placeholders:
577
+ 'Substitua comandos placeholder pelos servidores MCP que voce realmente usa.',
578
+ note_keep_secrets_env:
579
+ 'Mantenha segredos em variaveis de ambiente, nunca inline tokens.',
580
+ generated: 'Plano MCP escrito: {path}',
581
+ dry_run_generated: '[dry-run] Plano MCP seria escrito: {path}',
582
+ server_count: 'Servidores MCP no plano: {count}',
583
+ preset_count: 'Presets de ferramentas gerados: {count}',
584
+ preset_written: 'Preset escrito ({tool}): {path}',
585
+ preset_dry_run: '[dry-run] Preset seria escrito ({tool}): {path}'
586
+ },
587
+ mcp_doctor: {
588
+ prefix_ok: 'OK',
589
+ prefix_warn: 'AVISO',
590
+ prefix_fail: 'FALHA',
591
+ check_line: '[{prefix}] {id} - {message}',
592
+ hint_line: ' Dica: {hint}',
593
+ context_missing: 'project.context.md nao foi encontrado.',
594
+ context_missing_hint: 'Execute setup primeiro para validacao MCP orientada por contexto.',
595
+ context_parse_invalid: 'project.context.md nao pode ser parseado ({reason}).',
596
+ context_parse_invalid_hint:
597
+ 'Corrija a formatacao do contexto para habilitar validacao MCP por stack.',
598
+ context_ok: 'project.context.md esta disponivel e parseavel.',
599
+ plan_missing: 'Arquivo do plano MCP nao encontrado (.aioson/mcp/servers.local.json).',
600
+ plan_missing_hint: 'Execute: aioson mcp:init',
601
+ plan_invalid: 'JSON do plano MCP invalido: {error}',
602
+ plan_invalid_hint: 'Regenere o plano com: aioson mcp:init',
603
+ plan_ok: 'Arquivo do plano MCP presente e com JSON valido.',
604
+ plan_servers_ok: 'Plano MCP declara {count} definicao(oes) de servidor.',
605
+ plan_servers_missing: 'Plano MCP nao possui definicoes de servidor.',
606
+ plan_servers_hint: 'Regenere com: aioson mcp:init',
607
+ core_enabled: 'Servidor MCP core "{server}" esta habilitado.',
608
+ core_missing: 'Servidor MCP core "{server}" esta ausente ou desabilitado.',
609
+ core_missing_hint: 'Regenere e mantenha os servidores core basicos habilitados.',
610
+ presets_any_ok: '{count} arquivo(s) de preset MCP encontrado(s).',
611
+ presets_any_missing: 'Nenhum arquivo de preset MCP foi encontrado.',
612
+ presets_any_hint: 'Execute: aioson mcp:init',
613
+ presets_coverage_partial: 'Apenas {existing}/{total} presets de ferramentas estao presentes.',
614
+ presets_coverage_partial_hint:
615
+ 'Execute: aioson mcp:init (sem --tool) para gerar todos os presets.',
616
+ presets_coverage_full:
617
+ 'Todos os presets de ferramentas estao presentes (claude, codex, gemini, opencode).',
618
+ env_none_required: 'Nenhuma variavel de ambiente obrigatoria nos servidores MCP habilitados.',
619
+ env_missing: '{missing}/{total} variavel(is) de ambiente obrigatoria(s) ausente(s): {vars}',
620
+ env_missing_hint_strict: 'Defina as variaveis ausentes antes da execucao.',
621
+ env_missing_hint_relaxed:
622
+ 'Defina variaveis para prontidao total de runtime. Use --strict-env para falhar nesta checagem.',
623
+ env_all_present: 'Todas as variaveis obrigatorias estao disponiveis ({count}).',
624
+ compat_database_ok: 'Database MCP corresponde ao engine da stack de contexto ({engine}).',
625
+ compat_database_mismatch:
626
+ 'Database MCP nao corresponde completamente a stack de contexto ({engine}).',
627
+ compat_database_hint:
628
+ 'Regenere com: aioson mcp:init, ou ajuste manualmente o servidor de database.',
629
+ compat_web3_ok: 'MCP chain-rpc esta habilitado para contexto Web3.',
630
+ compat_web3_missing: 'Contexto Web3 detectado, mas chain-rpc MCP esta ausente ou desabilitado.',
631
+ compat_web3_missing_hint: 'Regenere com: aioson mcp:init',
632
+ compat_web3_unneeded: 'chain-rpc MCP esta habilitado, mas o contexto nao e Web3.',
633
+ compat_web3_unneeded_hint: 'Desabilite chain-rpc se nao for necessario.',
634
+ report_title: 'Relatorio MCP doctor: {path}',
635
+ summary: 'Resumo: {passed} aprovados, {failed} falhas, {warnings} avisos.'
636
+ },
637
+ qa_doctor: {
638
+ prefix_ok: 'OK',
639
+ prefix_warn: 'AVISO',
640
+ prefix_fail: 'FALHA',
641
+ check_line: '[{prefix}] {id} - {message}',
642
+ hint_line: ' Dica: {hint}',
643
+ report_title: 'Relatorio QA doctor: {path}',
644
+ summary: 'Resumo: {passed} aprovados, {failed} falhas, {warnings} avisos.',
645
+ playwright_ok: 'Playwright esta instalado.',
646
+ playwright_missing: 'Pacote Playwright nao encontrado.',
647
+ playwright_missing_hint: 'Execute: npm install -g playwright && npx playwright install chromium',
648
+ chromium_ok: 'Binario do Chromium encontrado.',
649
+ chromium_missing: 'Binario do Chromium nao encontrado.',
650
+ chromium_missing_hint: 'Execute: npx playwright install chromium',
651
+ config_ok: 'aios-qa.config.json encontrado e valido.',
652
+ config_missing: 'aios-qa.config.json nao encontrado.',
653
+ config_missing_hint: 'Execute: aioson qa:init --url=<url-da-sua-app>',
654
+ config_invalid: 'aios-qa.config.json nao e um JSON valido: {error}',
655
+ url_ok: 'URL de destino acessivel ({url}).',
656
+ url_missing: 'Nenhuma URL configurada em aios-qa.config.json.',
657
+ url_missing_hint: 'Execute: aioson qa:init --url=<url-da-sua-app>',
658
+ url_unreachable: 'URL de destino inacessivel ({url}): {error}',
659
+ url_unreachable_hint: 'Inicie sua aplicacao antes de executar qa:run ou qa:scan.',
660
+ context_ok: 'project.context.md encontrado — testes serao enriquecidos com o contexto do projeto.',
661
+ context_missing: 'project.context.md nao encontrado — executando em modo generico.',
662
+ prd_ok: 'prd.md encontrado — {count} criterios de aceite mapeados como cenarios de teste.',
663
+ prd_missing: 'prd.md nao encontrado — mapeamento de cobertura AC sera ignorado.'
664
+ },
665
+ qa_init: {
666
+ context_found: 'Contexto encontrado: projeto={name}, url={url}',
667
+ prd_found: 'prd.md encontrado — {count} criterios de aceite extraidos como cenarios de teste.',
668
+ prd_missing: 'prd.md nao encontrado — nenhum cenario AC gerado. Adicione prd.md para enriquecer os testes.',
669
+ generated: 'Configuracao QA escrita: {path}',
670
+ dry_run_generated: '[dry-run] Configuracao QA seria escrita: {path}',
671
+ scenarios_count: 'Cenarios de teste do prd.md: {count}',
672
+ personas_count: 'Personas habilitadas: {count} (naive, hacker, power, mobile)',
673
+ probes_count: 'Sondas de seguranca habilitadas: {count}',
674
+ next_steps: 'Proximos passos:',
675
+ step_doctor: '1. Verificar pre-requisitos: aioson qa:doctor',
676
+ step_run: '2. Executar testes no browser: aioson qa:run'
677
+ },
678
+ qa_run: {
679
+ playwright_missing: 'Playwright nao instalado. Execute: npm install -g playwright && npx playwright install chromium',
680
+ config_missing: 'aios-qa.config.json nao encontrado. Execute: aioson qa:init --url=<url-da-sua-app>',
681
+ url_missing: 'Nenhuma URL configurada. Adicione url ao aios-qa.config.json ou use --url=<app-url>.',
682
+ starting: 'Iniciando sessao de QA no browser: {url}',
683
+ persona_start: 'Executando persona: {persona}',
684
+ persona_done: 'Persona "{persona}" concluida — {count} finding(s)',
685
+ accessibility: 'Executando auditoria de acessibilidade...',
686
+ performance: 'Capturando metricas de performance...',
687
+ ac_scenarios: 'Documentando cobertura de AC...',
688
+ done: 'Sessao de QA concluida.',
689
+ report_written: 'Relatorio escrito: {path}',
690
+ json_written: 'Relatorio JSON escrito: {path}',
691
+ screenshots_dir: 'Screenshots salvos em: {path}',
692
+ findings_summary: 'Findings: {critical} critico(s), {high} alto(s), {medium} medio(s), {low} baixo(s)',
693
+ html_report_written: 'Relatorio HTML escrito: {path}'
694
+ },
695
+ qa_scan: {
696
+ playwright_missing: 'Playwright nao instalado. Execute: npm install -g playwright && npx playwright install chromium',
697
+ config_missing: 'aios-qa.config.json nao encontrado. Execute: aioson qa:init --url=<url-da-sua-app>',
698
+ url_missing: 'Nenhuma URL configurada. Adicione url ao aios-qa.config.json ou use --url=<app-url>.',
699
+ starting: 'Iniciando scan autonomo: {url}',
700
+ crawling: 'Rastreando rotas (profundidade max {depth}, max {pages} paginas)...',
701
+ routes_found: 'Rotas descobertas: {count}',
702
+ scanning_route: 'Escaneando: {route}',
703
+ done: 'Scan autonomo concluido.',
704
+ report_written: 'Relatorio escrito: {path}',
705
+ findings_summary: 'Findings: {critical} critico(s), {high} alto(s), {medium} medio(s), {low} baixo(s)',
706
+ html_report_written: 'Relatorio HTML escrito: {path}'
707
+ },
708
+ qa_report: {
709
+ not_found: 'Nenhum relatorio QA encontrado. Execute: aioson qa:run ou aioson qa:scan',
710
+ html_report_written: 'Relatorio HTML escrito: {path}'
711
+ },
712
+ config: {
713
+ usage_error:
714
+ 'Uso: aioson config <set KEY=value|show|get KEY> [--json] [--locale=pt-BR]',
715
+ set_ok: 'Chave configurada: {key} (salva em {path})',
716
+ show_header: 'Config global: {path}',
717
+ show_empty: ' (nenhuma chave configurada)',
718
+ show_line: ' {key} = {value}',
719
+ get_line: '{key} = {value}',
720
+ key_not_found: 'Chave nao encontrada: {key}'
721
+ },
722
+ runtime: {
723
+ option_required: 'Opcao obrigatoria ausente: {option}',
724
+ store_missing:
725
+ 'Runtime store nao encontrado: {path}. Execute: aioson runtime:init',
726
+ init_ok: 'Runtime store inicializado: {path}',
727
+ ingest_ok: 'Conteudos indexados no runtime: {indexed} | ignorados: {skipped} ({path})',
728
+ task_start_ok: 'Task iniciada: {task} ({path})',
729
+ start_ok: 'Execucao iniciada: {run} ({path})',
730
+ update_ok: 'Execucao atualizada: {run} ({path})',
731
+ task_finish_ok: 'Task concluida: {task} ({path})',
732
+ finish_ok: 'Execucao concluida: {run} ({path})',
733
+ task_fail_ok: 'Task marcada como falha: {task} ({path})',
734
+ fail_ok: 'Execucao marcada como falha: {run} ({path})',
735
+ log_ok: 'Evento registrado: {agent} / {run} ({path})',
736
+ log_finish_ok: 'Execucao encerrada: {agent} / {run} ({path})',
737
+ log_agent_required: 'Opcao obrigatoria ausente: --agent',
738
+ status_title: 'Status do runtime: {path}',
739
+ status_db: 'Banco: {path}',
740
+ status_task_counts:
741
+ 'Tasks -> Fila: {queued} | Rodando: {running} | Concluidas: {completed} | Falhas: {failed}',
742
+ status_counts:
743
+ 'Runs -> Fila: {queued} | Rodando: {running} | Concluidas: {completed} | Falhas: {failed}',
744
+ status_no_active_tasks: 'Nenhuma task ativa.',
745
+ status_active_tasks_title: 'Tasks ativas:',
746
+ status_active_task_line: '- {task} | squad: {squad} | status: {status} | trabalho: {title}',
747
+ status_no_active: 'Nenhuma execucao ativa de agente.',
748
+ status_active_title: 'Execucoes ativas:',
749
+ status_active_line: '- {agent} | squad: {squad} | status: {status} | trabalho: {title}'
750
+ },
751
+ squad_status: {
752
+ no_squad: 'Nenhum squad encontrado.',
753
+ hint: 'Use @squad na sua sessao de IA para montar um squad.',
754
+ squads_found: '{count} squad(s) encontrados:',
755
+ most_recent: '(mais recente)',
756
+ squad_item: ' [{file}]{marker}',
757
+ name: ' Squad : {value}',
758
+ mode: ' Modo : {value}',
759
+ goal: ' Objetivo : {value}',
760
+ agents: ' Agentes : {specialists} especialistas / {total} total ({path})',
761
+ sessions: ' Sessoes : {count} ({path})',
762
+ latest_html: ' Latest HTML : {value}',
763
+ logs: ' Logs : {count} ({path})',
764
+ genomes: ' Genomas : {count} no squad / {agent_count} vinculos por agente'
765
+ },
766
+ squad_doctor: {
767
+ prefix_ok: 'OK',
768
+ prefix_warn: 'AVISO',
769
+ prefix_fail: 'FALHA',
770
+ report_title: 'Relatorio da squad {squad}: {path}',
771
+ check_line: '[{prefix}] {message}',
772
+ check_metadata: 'Metadata da squad presente: {path}',
773
+ check_manifest: 'Manifesto da squad presente: {path}',
774
+ check_rules: 'Rules/agents.md presente: {path}',
775
+ check_design_doc: 'Design doc da squad: {path}',
776
+ check_readiness: 'Readiness da squad: {path}',
777
+ check_executors: 'Executores declarados: {count} | arquivos ausentes: {missing}',
778
+ check_output_dir: 'Diretorio de output da squad: {path}',
779
+ check_media_dir: 'Diretorio de media da squad: {path}',
780
+ check_runtime_missing: 'Runtime store ausente. Execute aioson runtime:init.',
781
+ check_active_runs: 'Runs ativas: {count} | possivelmente travadas (> {minutes} min): {stale}',
782
+ check_content_indexing: 'Conteudos indexados: {indexed} | arquivos pendentes de indexacao: {pending}',
783
+ summary: 'Resumo -> checks OK: {passed} | avisos: {warned} | falhas: {failed}'
784
+ },
785
+ scan_project: {
786
+ scanning: 'aioson scan:project — escaneando {dir}',
787
+ folder_required:
788
+ 'Informe --folder=<pasta[,pasta2]> para gerar o mapa completo das pastas desejadas. Exemplo: --folder=src ou --folder=app.',
789
+ folder_not_found: 'A pasta "{folder}" nao foi encontrada neste projeto. Pastas de nivel superior detectadas: {available}',
790
+ config_missing: '{file} nao encontrado. Para usar o modo com LLM, copie aioson-models.json e preencha suas chaves de API.',
791
+ config_invalid: 'JSON invalido em aioson-models.json: {error}',
792
+ provider_missing: 'Provider de LLM "{provider}" nao encontrado em aioson-models.json. Disponiveis: {available}',
793
+ provider_info: ' Provider : {provider}',
794
+ model_info: ' Modelo : {model}',
795
+ context_found: ' Contexto : project.context.md encontrado',
796
+ context_missing: ' Contexto : project.context.md nao encontrado (execute aioson setup:context primeiro)',
797
+ spec_found: ' Spec : spec.md encontrado — memoria de desenvolvimento incluida',
798
+ local_only: ' LLM : desativada por padrao — scan local apenas (use --with-llm para gerar discovery.md + skeleton-system.md)',
799
+ walking: ' Escaneando estrutura do projeto...',
800
+ walk_done: ' Arquivos : {files} entradas mapeadas | Arquivos chave: {keys} lidos',
801
+ index_written: ' Indice : scan local escrito em {path} (modo: {mode})',
802
+ folders_written: ' Pastas : mapa de pastas escrito em {path}',
803
+ folder_written: ' Pasta : mapa completo de {folder} escrito em {path}',
804
+ forge_written: ' AIOS : mapa util do .aioson escrito em {path}',
805
+ dry_run_done: '[dry-run] Escanearia {treeCount} entradas e {keyCount} arquivos chave — nenhuma chamada LLM feita.',
806
+ local_done: ' Resultado: scan local concluido — index, mapa de pastas, scans solicitados e .aioson estao prontos.',
807
+ calling_llm: ' Chamando {provider} ({model})...',
808
+ llm_missing_api_key:
809
+ 'A chave de API do provider "{provider}" ainda nao foi configurada em {file}. Preencha providers.{provider}.api_key ou escolha outro provider com --provider=...',
810
+ llm_error: 'Chamada LLM falhou: {error}',
811
+ discovery_written: 'discovery.md escrito: {path} ({chars} chars)',
812
+ skeleton_written: 'skeleton-system.md escrito: {path} ({chars} chars)',
813
+ skeleton_missing: 'Delimitador skeleton nao encontrado na resposta LLM — skeleton-system.md nao escrito.',
814
+ next_steps: '\n Proximos passos:',
815
+ step_analyst: ' 1. Abra sua sessao de IA e execute @analyst — le discovery.md + skeleton-system.md automaticamente',
816
+ step_dev: ' 2. Execute @dev — le skeleton-system.md primeiro, depois discovery.md + spec.md'
817
+ }
818
+ };