@jaimevalasek/aioson 1.3.0 → 1.4.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 (213) hide show
  1. package/README.md +19 -2
  2. package/docs/pt/README.md +62 -2
  3. package/docs/pt/advisor-spec.md +5 -5
  4. package/docs/pt/agentes-customizados.md +670 -0
  5. package/docs/pt/agentes.md +111 -13
  6. package/docs/pt/automacao-squads.md +407 -0
  7. package/docs/pt/cenarios.md +3 -3
  8. package/docs/pt/clientes-ai.md +62 -0
  9. package/docs/pt/comandos-cli.md +167 -17
  10. package/docs/pt/deyvin.md +115 -0
  11. package/docs/pt/genome-3.0-spec.md +11 -11
  12. package/docs/pt/inicio-rapido.md +45 -0
  13. package/docs/pt/memoria-contexto.md +255 -0
  14. package/docs/pt/output-strategy-delivery.md +655 -0
  15. package/docs/pt/profiler-system.md +17 -17
  16. package/docs/pt/runtime-observability.md +5 -1
  17. package/docs/pt/skills.md +175 -0
  18. package/docs/pt/{squad-genoma.md → squad-genome.md} +81 -75
  19. package/docs/testing/genome-2.0-rollout.md +1 -1
  20. package/package.json +3 -3
  21. package/src/agents.js +21 -5
  22. package/src/backup-provider.js +303 -0
  23. package/src/cli.js +178 -2
  24. package/src/commands/agents.js +22 -4
  25. package/src/commands/backup.js +533 -0
  26. package/src/commands/cloud.js +17 -17
  27. package/src/commands/context-pack.js +45 -0
  28. package/src/commands/implementation-plan.js +340 -0
  29. package/src/commands/learning.js +134 -0
  30. package/src/commands/live.js +1583 -0
  31. package/src/commands/runtime.js +833 -2
  32. package/src/commands/scan-project.js +288 -24
  33. package/src/commands/setup-context.js +23 -0
  34. package/src/commands/skill.js +558 -0
  35. package/src/commands/squad-agent-create.js +788 -0
  36. package/src/commands/squad-doctor.js +51 -1
  37. package/src/commands/squad-investigate.js +261 -0
  38. package/src/commands/squad-learning.js +209 -0
  39. package/src/commands/squad-pipeline.js +247 -1
  40. package/src/commands/squad-plan.js +329 -0
  41. package/src/commands/squad-status.js +1 -1
  42. package/src/commands/squad-validate.js +57 -1
  43. package/src/commands/test-agents.js +6 -1
  44. package/src/commands/workflow-next.js +8 -1
  45. package/src/commands/workflow-status.js +250 -0
  46. package/src/constants.js +80 -16
  47. package/src/context-memory.js +837 -0
  48. package/src/context-writer.js +2 -0
  49. package/src/delivery-runner.js +319 -0
  50. package/src/genome-files.js +1 -1
  51. package/src/genome-format.js +1 -1
  52. package/src/i18n/messages/en.js +206 -7
  53. package/src/i18n/messages/es.js +123 -6
  54. package/src/i18n/messages/fr.js +122 -5
  55. package/src/i18n/messages/pt-BR.js +205 -12
  56. package/src/installer.js +30 -2
  57. package/src/lib/genomes/compat.js +1 -1
  58. package/src/runtime-store.js +780 -42
  59. package/src/session-handoff.js +77 -0
  60. package/template/.aioson/agents/analyst.md +36 -9
  61. package/template/.aioson/agents/architect.md +20 -5
  62. package/template/.aioson/agents/dev.md +135 -15
  63. package/template/.aioson/agents/deyvin.md +166 -0
  64. package/template/.aioson/agents/discovery-design-doc.md +25 -1
  65. package/template/.aioson/agents/{genoma.md → genome.md} +20 -20
  66. package/template/.aioson/agents/orache.md +371 -0
  67. package/template/.aioson/agents/orchestrator.md +37 -2
  68. package/template/.aioson/agents/pair.md +5 -0
  69. package/template/.aioson/agents/pm.md +17 -5
  70. package/template/.aioson/agents/product.md +58 -22
  71. package/template/.aioson/agents/profiler-enricher.md +1 -1
  72. package/template/.aioson/agents/profiler-forge.md +9 -9
  73. package/template/.aioson/agents/profiler-researcher.md +1 -1
  74. package/template/.aioson/agents/qa.md +17 -5
  75. package/template/.aioson/agents/setup.md +81 -5
  76. package/template/.aioson/agents/squad.md +675 -28
  77. package/template/.aioson/agents/ux-ui.md +277 -34
  78. package/template/.aioson/config.md +175 -0
  79. package/template/.aioson/context/spec.md.template +17 -0
  80. package/template/.aioson/genomes/.gitkeep +0 -0
  81. package/template/.aioson/installed-skills/.gitkeep +0 -0
  82. package/template/.aioson/locales/en/agents/analyst.md +26 -4
  83. package/template/.aioson/locales/en/agents/architect.md +10 -0
  84. package/template/.aioson/locales/en/agents/dev.md +89 -4
  85. package/template/.aioson/locales/en/agents/deyvin.md +129 -0
  86. package/template/.aioson/locales/en/agents/{genoma.md → genome.md} +14 -14
  87. package/template/.aioson/locales/en/agents/orchestrator.md +36 -2
  88. package/template/.aioson/locales/en/agents/pair.md +5 -0
  89. package/template/.aioson/locales/en/agents/pm.md +7 -0
  90. package/template/.aioson/locales/en/agents/product.md +35 -17
  91. package/template/.aioson/locales/en/agents/qa.md +7 -0
  92. package/template/.aioson/locales/en/agents/setup.md +51 -5
  93. package/template/.aioson/locales/en/agents/squad.md +203 -15
  94. package/template/.aioson/locales/en/agents/ux-ui.md +375 -35
  95. package/template/.aioson/locales/es/agents/analyst.md +16 -4
  96. package/template/.aioson/locales/es/agents/architect.md +10 -0
  97. package/template/.aioson/locales/es/agents/dev.md +70 -2
  98. package/template/.aioson/locales/es/agents/deyvin.md +89 -0
  99. package/template/.aioson/locales/es/agents/{genoma.md → genome.md} +13 -13
  100. package/template/.aioson/locales/es/agents/orache.md +103 -0
  101. package/template/.aioson/locales/es/agents/orchestrator.md +36 -2
  102. package/template/.aioson/locales/es/agents/pair.md +5 -0
  103. package/template/.aioson/locales/es/agents/pm.md +7 -0
  104. package/template/.aioson/locales/es/agents/product.md +13 -3
  105. package/template/.aioson/locales/es/agents/qa.md +7 -0
  106. package/template/.aioson/locales/es/agents/setup.md +28 -5
  107. package/template/.aioson/locales/es/agents/squad.md +221 -15
  108. package/template/.aioson/locales/es/agents/ux-ui.md +26 -25
  109. package/template/.aioson/locales/fr/agents/analyst.md +16 -4
  110. package/template/.aioson/locales/fr/agents/architect.md +10 -0
  111. package/template/.aioson/locales/fr/agents/dev.md +70 -2
  112. package/template/.aioson/locales/fr/agents/deyvin.md +89 -0
  113. package/template/.aioson/locales/fr/agents/{genoma.md → genome.md} +7 -7
  114. package/template/.aioson/locales/fr/agents/orache.md +104 -0
  115. package/template/.aioson/locales/fr/agents/orchestrator.md +36 -2
  116. package/template/.aioson/locales/fr/agents/pair.md +5 -0
  117. package/template/.aioson/locales/fr/agents/pm.md +7 -0
  118. package/template/.aioson/locales/fr/agents/product.md +13 -3
  119. package/template/.aioson/locales/fr/agents/qa.md +7 -0
  120. package/template/.aioson/locales/fr/agents/setup.md +28 -5
  121. package/template/.aioson/locales/fr/agents/squad.md +216 -10
  122. package/template/.aioson/locales/fr/agents/ux-ui.md +26 -25
  123. package/template/.aioson/locales/pt-BR/agents/analyst.md +26 -4
  124. package/template/.aioson/locales/pt-BR/agents/architect.md +10 -0
  125. package/template/.aioson/locales/pt-BR/agents/dev.md +93 -4
  126. package/template/.aioson/locales/pt-BR/agents/deyvin.md +129 -0
  127. package/template/.aioson/locales/pt-BR/agents/{genoma.md → genome.md} +49 -49
  128. package/template/.aioson/locales/pt-BR/agents/orache.md +137 -0
  129. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +36 -2
  130. package/template/.aioson/locales/pt-BR/agents/pair.md +5 -0
  131. package/template/.aioson/locales/pt-BR/agents/pm.md +7 -0
  132. package/template/.aioson/locales/pt-BR/agents/product.md +35 -17
  133. package/template/.aioson/locales/pt-BR/agents/qa.md +7 -0
  134. package/template/.aioson/locales/pt-BR/agents/setup.md +51 -5
  135. package/template/.aioson/locales/pt-BR/agents/squad.md +486 -47
  136. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +361 -22
  137. package/template/.aioson/my-agents/.gitkeep +0 -0
  138. package/template/.aioson/rules/.gitkeep +0 -0
  139. package/template/.aioson/rules/squad/.gitkeep +0 -0
  140. package/template/.aioson/rules/squad/README.md +50 -0
  141. package/template/.aioson/schemas/genome-meta.schema.json +1 -1
  142. package/template/.aioson/schemas/genome.schema.json +1 -1
  143. package/template/.aioson/schemas/squad-blueprint.schema.json +11 -0
  144. package/template/.aioson/schemas/squad-manifest.schema.json +257 -1
  145. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +157 -0
  146. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -0
  147. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +172 -0
  148. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +490 -0
  149. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +237 -0
  150. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -0
  151. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +350 -0
  152. package/template/.aioson/skills/design/interface-design/SKILL.md +47 -0
  153. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -0
  154. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -0
  155. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -0
  156. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -0
  157. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -0
  158. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -0
  159. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -0
  160. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -0
  161. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -0
  162. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -0
  163. package/template/.aioson/skills/design-system/SKILL.md +92 -0
  164. package/template/.aioson/skills/design-system/cognitive-core-ui.skill +0 -0
  165. package/template/.aioson/skills/design-system/components/SKILL.md +274 -0
  166. package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
  167. package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -0
  168. package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
  169. package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -0
  170. package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
  171. package/template/.aioson/skills/design-system/motion/SKILL.md +197 -0
  172. package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
  173. package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -0
  174. package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
  175. package/template/.aioson/skills/squad/SKILL.md +58 -0
  176. package/template/.aioson/skills/squad/domains/.gitkeep +0 -0
  177. package/template/.aioson/skills/squad/formats/.gitkeep +0 -0
  178. package/template/.aioson/skills/squad/patterns/.gitkeep +0 -0
  179. package/template/.aioson/skills/squad/references/.gitkeep +0 -0
  180. package/template/.aioson/tasks/implementation-plan.md +288 -0
  181. package/template/.aioson/tasks/squad-create.md +1 -1
  182. package/template/.aioson/tasks/squad-execution-plan.md +279 -0
  183. package/template/.aioson/tasks/squad-export.md +1 -1
  184. package/template/.aioson/tasks/squad-investigate.md +44 -0
  185. package/template/.aioson/tasks/squad-learning-review.md +44 -0
  186. package/template/.aioson/tasks/squad-output-config.md +177 -0
  187. package/template/.aioson/tasks/squad-validate.md +1 -1
  188. package/template/.claude/commands/aioson/agent/deyvin.md +5 -0
  189. package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -0
  190. package/template/.claude/commands/aioson/agent/genome.md +5 -0
  191. package/template/.claude/commands/aioson/agent/product.md +5 -0
  192. package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -0
  193. package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -0
  194. package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -0
  195. package/template/.claude/commands/aioson/agent/squad.md +5 -0
  196. package/template/.gemini/GEMINI.md +2 -0
  197. package/template/.gemini/commands/aios-deyvin.toml +6 -0
  198. package/template/.gemini/commands/aios-pair.toml +6 -0
  199. package/template/AGENTS.md +34 -6
  200. package/template/CLAUDE.md +31 -4
  201. package/template/OPENCODE.md +6 -2
  202. package/template/squad-searches/.gitkeep +0 -0
  203. package/template/.aioson/skills/static/interface-design.md +0 -372
  204. package/template/.aioson/skills/static/premium-command-center-ui.md +0 -190
  205. /package/template/.aioson/{genomas → docs}/.gitkeep +0 -0
  206. /package/template/.claude/commands/aioson/{analyst.md → agent/analyst.md} +0 -0
  207. /package/template/.claude/commands/aioson/{architect.md → agent/architect.md} +0 -0
  208. /package/template/.claude/commands/aioson/{dev.md → agent/dev.md} +0 -0
  209. /package/template/.claude/commands/aioson/{orchestrator.md → agent/orchestrator.md} +0 -0
  210. /package/template/.claude/commands/aioson/{pm.md → agent/pm.md} +0 -0
  211. /package/template/.claude/commands/aioson/{qa.md → agent/qa.md} +0 -0
  212. /package/template/.claude/commands/aioson/{setup.md → agent/setup.md} +0 -0
  213. /package/template/.claude/commands/aioson/{ux-ui.md → agent/ux-ui.md} +0 -0
@@ -19,6 +19,8 @@ module.exports = {
19
19
  help_agent_prompt:
20
20
  'aioson agent:prompt <agent> [path] [--tool=codex|claude|gemini|opencode] [--lang=en|pt-BR|es|fr] [--locale=pt-BR]',
21
21
  help_context_validate: 'aioson context:validate [path] [--json] [--locale=pt-BR]',
22
+ help_context_pack:
23
+ 'aioson context:pack [path] [--agent=<agente>] [--goal=<texto>] [--module=<modulo-ou-pasta>] [--max-files=8] [--json] [--locale=pt-BR]',
22
24
  help_setup_context:
23
25
  '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
26
  help_locale_apply:
@@ -32,7 +34,9 @@ module.exports = {
32
34
  help_workflow_plan:
33
35
  'aioson workflow:plan [path] [--classification=MICRO|SMALL|MEDIUM] [--json] [--locale=pt-BR]',
34
36
  help_workflow_next:
35
- 'aioson workflow:next [path] [--complete[=<agente>]] [--agent=<agente>] [--skip=<agente>] [--tool=codex|claude|gemini|opencode] [--json] [--locale=pt-BR]',
37
+ 'aioson workflow:next [path] [--complete[=<agente>]] [--agent=<agente>] [--skip=<agente>] [--status] [--tool=codex|claude|gemini|opencode] [--json] [--locale=pt-BR]',
38
+ help_workflow_status:
39
+ 'aioson workflow:status [path] [--json] [--locale=pt-BR]',
36
40
  help_parallel_init:
37
41
  'aioson parallel:init [path] [--workers=2..6] [--force] [--dry-run] [--json] [--locale=pt-BR]',
38
42
  help_parallel_doctor:
@@ -56,7 +60,7 @@ module.exports = {
56
60
  help_qa_report:
57
61
  'aioson qa:report [path] [--html] [--json] [--locale=pt-BR]',
58
62
  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]',
63
+ 'aioson scan:project [path] --folder=<pasta[,pasta2]> [--summary-mode=titles|summaries|raw] [--context-mode=merge|rewrite] [--with-llm] [--provider=<name>] [--llm-model=<name>] [--dry-run] [--json] [--locale=pt-BR]',
60
64
  help_config:
61
65
  'aioson config <set KEY=value|show|get KEY> [--json] [--locale=pt-BR]',
62
66
  help_genome_doctor:
@@ -75,6 +79,14 @@ module.exports = {
75
79
  'aioson squad:export [path] --squad=<slug> [--locale=pt-BR]',
76
80
  help_squad_pipeline:
77
81
  'aioson squad:pipeline [path] [--sub=list|show|status] [--pipeline=<slug>] [--locale=pt-BR]',
82
+ help_squad_agent_create:
83
+ 'aioson squad:agent-create [path] --name=<nome> [--scope=my-agents|squad] [--squad=<slug>] [--type=agent|assistant|clone|worker] [--tier=0|1|2|3] [--disc=<perfil>] [--mission=<texto>] [--domain=<texto>] [--specialist=<nome>] [--with-infra] [--locale=pt-BR]',
84
+ help_squad_investigate:
85
+ 'aioson squad:investigate [path] [--sub=list|show|score|link|register] [--investigation=<slug>] [--squad=<slug>] [--locale=pt-BR]',
86
+ help_squad_learning:
87
+ 'aioson squad:learning [path] [--sub=list|stats|archive|promote|export] [--squad=<slug>] [--status=<status>] [--locale=pt-BR]',
88
+ help_learning:
89
+ 'aioson learning [path] [--sub=list|stats|promote] [--status=<status>] [--id=<learning-id>] [--locale=pt-BR]',
78
90
  help_runtime_init:
79
91
  'aioson runtime:init [path] [--json] [--locale=pt-BR]',
80
92
  help_runtime_ingest:
@@ -97,6 +109,36 @@ module.exports = {
97
109
  'aioson runtime:status [path] [--json] [--locale=pt-BR]',
98
110
  help_runtime_log:
99
111
  'aioson runtime:log [path] --agent=<nome> --message=<texto> [--type=<evento>] [--finish] [--status=completed|failed] [--summary=<texto>] [--title=<titulo-task>] [--json] [--locale=pt-BR]',
112
+ help_runtime_session_start:
113
+ 'aioson runtime:session:start [path] --agent=<nome> [--title=<texto>] [--message=<texto>] [--session=<chave>] [--json] [--locale=pt-BR]',
114
+ help_runtime_session_log:
115
+ 'aioson runtime:session:log [path] --agent=<nome> --message=<texto> [--type=<evento>] [--title=<texto>] [--json] [--locale=pt-BR]',
116
+ help_runtime_session_finish:
117
+ 'aioson runtime:session:finish [path] --agent=<nome> [--message=<texto>] [--summary=<texto>] [--status=completed|failed] [--json] [--locale=pt-BR]',
118
+ help_runtime_session_status:
119
+ 'aioson runtime:session:status [path] --agent=<nome> [--limit=8] [--watch=2] [--json] [--locale=pt-BR]',
120
+ help_runtime_emit:
121
+ 'aioson runtime:emit [path] --agent=<nome> [--type=<evento>] [--summary=<texto>] [--title=<texto>] [--refs=<arquivo[,arquivo2]>] [--plan-step=<id>] [--meta=<json>] [--json] [--locale=pt-BR]',
122
+ help_live_start:
123
+ 'aioson live:start [path] --tool=codex|claude|gemini|opencode --agent=<nome> [--tool-bin=<binario>] [--tool-args=<args>] [--title=<texto>] [--goal=<texto>] [--plan=<arquivo>] [--session=<chave>] [--message=<texto>] [--attach] [--no-launch] [--json] [--locale=pt-BR]',
124
+ help_live_status:
125
+ 'aioson live:status [path] [--agent=<nome>] [--limit=8] [--watch=2] [--json] [--locale=pt-BR]',
126
+ help_live_handoff:
127
+ 'aioson live:handoff [path] --agent=<nome> --to=<nome> [--reason=<texto>] [--summary=<texto>] [--message=<texto>] [--json] [--locale=pt-BR]',
128
+ help_live_close:
129
+ 'aioson live:close [path] [--agent=<nome>] [--summary=<texto>] [--message=<texto>] [--status=completed|failed] [--json] [--locale=pt-BR]',
130
+ help_live_list:
131
+ 'aioson live:list [path] [--json] [--locale=pt-BR]',
132
+ help_runtime_backup:
133
+ 'aioson runtime:backup [caminho] [--tables=tasks,runs,...] [--force] [--dry-run] [--json] [--locale=pt-BR]',
134
+ help_runtime_restore:
135
+ 'aioson runtime:restore [caminho] [--tables=tasks,runs,...] [--dry-run] [--json] [--locale=pt-BR]',
136
+ help_skill_install:
137
+ 'aioson skill:install [caminho] --slug=<nome> [--from=npm|cloud|./caminho] [--force] [--json] [--locale=pt-BR]',
138
+ help_skill_list:
139
+ 'aioson skill:list [caminho] [--json] [--locale=pt-BR]',
140
+ help_skill_remove:
141
+ 'aioson skill:remove [caminho] --slug=<nome> [--json] [--locale=pt-BR]',
100
142
  help_cloud_import_squad:
101
143
  'aioson cloud:import:squad [path] --url=<snapshot-url> [--force] [--snapshots-only] [--dry-run] [--json] [--locale=pt-BR]',
102
144
  help_cloud_import_genome:
@@ -117,12 +159,12 @@ module.exports = {
117
159
  url_required: 'Informe --url com o endpoint JSON do snapshot do squad.',
118
160
  import_squad_dry_run: 'Dry run: squad {slug}@{version} pronto para import cloud.',
119
161
  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.',
162
+ import_genome_dry_run: 'Dry run: genome {slug}@{version} pronto para import cloud.',
163
+ import_genome_done: 'Snapshot do genome {slug}@{version} importado.',
122
164
  publish_squad_dry_run: 'Dry run: squad {slug}@{version} pronto para publish cloud.',
123
165
  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.'
166
+ publish_genome_dry_run: 'Dry run: genome {slug}@{version} pronto para publish cloud.',
167
+ publish_genome_done: 'Genome {slug}@{version} publicado no cloud.'
126
168
  },
127
169
  init: {
128
170
  usage_error:
@@ -152,7 +194,7 @@ module.exports = {
152
194
  existing_project_detected:
153
195
  '⚠ Projeto existente detectado ({count} arquivos). Rode o scanner antes de comecar:',
154
196
  existing_project_scan_hint:
155
- ' aioson scan:project --folder=src (gera scan-index.md localmente; adicione --with-llm para discovery.md)'
197
+ ' aioson scan:project . --folder=src --with-llm --provider=<provider> (gera discovery.md + skeleton-system.md; sem --with-llm gera apenas os mapas locais)'
156
198
  },
157
199
  update: {
158
200
  not_installed: 'Nenhuma instalacao do AIOSON encontrada em {targetDir}.',
@@ -255,7 +297,7 @@ module.exports = {
255
297
  active_path: 'Caminho ativo',
256
298
  depends: 'Depende de',
257
299
  output: 'Saida',
258
- agent_line: '- Agente: {command} ({id})',
300
+ agent_line: '- Agente: {label} - {command} ({id})',
259
301
  path_line: ' Caminho: {path}',
260
302
  active_path_line: ' Caminho ativo: {path}',
261
303
  depends_line: ' Depende de: {value}',
@@ -281,6 +323,13 @@ module.exports = {
281
323
  issue_line: '- {issue}',
282
324
  valid: 'O arquivo de contexto esta valido.'
283
325
  },
326
+ context_pack: {
327
+ generated: 'Context pack escrito em: {path}',
328
+ no_matches: 'Nenhum arquivo de contexto relevante foi selecionado ainda. Gere setup/contexto/scan antes de empacotar.',
329
+ selected_title: 'Arquivos incluidos no pack:',
330
+ selected_line: ' {index}. {path} — {reason}',
331
+ hint_use: 'Use {path} como contexto minimo inicial na sua sessao de IA.'
332
+ },
284
333
  setup_context: {
285
334
  detected: 'Framework detectado: {framework} (installed={installed})',
286
335
  q_project_name: 'Nome do projeto',
@@ -746,7 +795,38 @@ module.exports = {
746
795
  status_active_task_line: '- {task} | squad: {squad} | status: {status} | trabalho: {title}',
747
796
  status_no_active: 'Nenhuma execucao ativa de agente.',
748
797
  status_active_title: 'Execucoes ativas:',
749
- status_active_line: '- {agent} | squad: {squad} | status: {status} | trabalho: {title}'
798
+ status_active_line: '- {agent} | squad: {squad} | status: {status} | trabalho: {title}',
799
+ status_live_sessions_title: 'Sessoes vivas ativas:',
800
+ status_live_session_line: '- {task} | agente: {agent} | status: {status} | plano: {plan} | micro: {micro} | handoffs: {handoffs} | trabalho: {title}',
801
+ status_micro_tasks_title: 'Micro-tarefas ativas:',
802
+ status_micro_task_line: '- {task} | pai: {parent} | status: {status} | trabalho: {title}',
803
+ status_handoffs_title: 'Handoffs recentes:',
804
+ status_handoff_line: '- {created} | {from} -> {to} | sessao: {session} | {message}'
805
+ },
806
+ live: {
807
+ unsupported_tool: 'Ferramenta live nao suportada: {tool}. Ferramentas suportadas: {supported}',
808
+ plan_not_found: 'Arquivo de plano nao encontrado: {plan}',
809
+ no_active_session: 'Nenhuma sessao live ativa encontrada para {agent}.',
810
+ session_not_active: 'A sessao live de {agent} nao esta ativa.',
811
+ json_requires_no_launch: '--json requer --no-launch para live:start porque o lancamento em primeiro plano e interativo.',
812
+ tool_binary_not_found: 'Binario da ferramenta nao encontrado no PATH: {binary}',
813
+ tool_mismatch: 'A sessao ativa usa a ferramenta "{existing}" mas --tool={requested} foi informado. Encerre a sessao primeiro ou use a mesma ferramenta.',
814
+ micro_task_already_open: 'Uma micro-tarefa live ja esta aberta para {agent}. Emita task_completed antes de task_started novamente.',
815
+ handoff_same_agent: 'live:handoff requer valores diferentes para --agent e --to.',
816
+ handoff_agent_mismatch: 'Nenhuma sessao live ativa encontrada para {agent}.',
817
+ watch_json_conflict: '--watch nao pode ser combinado com --json.',
818
+ no_session_found: 'Nenhuma sessao live encontrada.',
819
+ no_session_for_agent: 'Nenhuma sessao live encontrada para {agent}.',
820
+ session_already_closed: 'A sessao live {session} ja esta encerrada.',
821
+ session_already_active: 'Sessao live ja ativa: {agent} | sessao: {session} | run: {runKey} ({dbPath})',
822
+ session_started: 'Sessao live iniciada: {agent} | ferramenta: {tool} | sessao: {session} ({dbPath})',
823
+ event_recorded: 'Evento live registrado: {agent} | {eventType} | {session} ({dbPath})',
824
+ handoff_recorded: 'Handoff live registrado: {from} -> {to} | {session} ({dbPath})',
825
+ session_closed: 'Sessao live encerrada: {agent} | {session} ({dbPath})',
826
+ process_dead_warning: 'O processo morreu enquanto a sessao live ainda esta aberta. Encerre manualmente com `aioson live:close . --status=failed`.',
827
+ list_title: 'Sessoes live ({count}):',
828
+ list_empty: 'Nenhuma sessao live encontrada.',
829
+ list_line: '- {session} | {agent} | {tool} | {phase} | {updatedAt}'
750
830
  },
751
831
  squad_status: {
752
832
  no_squad: 'Nenhum squad encontrado.',
@@ -761,7 +841,18 @@ module.exports = {
761
841
  sessions: ' Sessoes : {count} ({path})',
762
842
  latest_html: ' Latest HTML : {value}',
763
843
  logs: ' Logs : {count} ({path})',
764
- genomes: ' Genomas : {count} no squad / {agent_count} vinculos por agente'
844
+ genomes: ' Genomes : {count} no squad / {agent_count} vinculos por agente'
845
+ },
846
+ squad_agent_create: {
847
+ no_name: 'Uso: aioson squad:agent-create [path] --name=<nome-agente> [--type=agent|assistant|clone|worker] [--scope=my-agents|squad] [--squad=<slug>]',
848
+ invalid_scope: 'Escopo inválido: "{scope}". Use "my-agents" ou "squad".',
849
+ invalid_type: 'Tipo inválido: "{type}". Use: agent, assistant, clone, worker.',
850
+ invalid_tier: 'Tier inválido: "{tier}". Use: 0 (foundation), 1 (master), 2 (systematizer), 3 (specialist).',
851
+ invalid_disc: 'Perfil DISC inválido: "{disc}".',
852
+ no_squads: 'Nenhuma squad encontrada. Crie uma squad com @squad ou forneça --squad=<slug>.',
853
+ squad_required: '--squad=<slug> obrigatório quando scope é "squad".',
854
+ squad_not_found: 'Squad "{squad}" não encontrada.',
855
+ already_exists: 'Agente já existe: {path}'
765
856
  },
766
857
  squad_doctor: {
767
858
  prefix_ok: 'OK',
@@ -786,6 +877,19 @@ module.exports = {
786
877
  scanning: 'aioson scan:project — escaneando {dir}',
787
878
  folder_required:
788
879
  'Informe --folder=<pasta[,pasta2]> para gerar o mapa completo das pastas desejadas. Exemplo: --folder=src ou --folder=app.',
880
+ folder_required_examples_title: '\x1b[33mGuia rapido:\x1b[0m',
881
+ folder_required_example_local:
882
+ ' Mapas locais : aioson scan:project . --folder=src',
883
+ folder_required_example_multi:
884
+ ' Varias pastas : aioson scan:project . --folder=src,app',
885
+ folder_required_example_llm:
886
+ ' API automatica : aioson scan:project . --folder=src --with-llm --provider=openai',
887
+ folder_required_example_cli:
888
+ ' Sem API LLM : aioson scan:project . --folder=src -> depois execute @analyst no seu Codex/Claude/Gemini',
889
+ folder_required_example_prompt:
890
+ ' Prompt pronto : aioson agent:prompt analyst --tool=codex',
891
+ folder_required_example_next:
892
+ ' Workflow apos scan completo: @analyst -> @architect -> @dev',
789
893
  folder_not_found: 'A pasta "{folder}" nao foi encontrada neste projeto. Pastas de nivel superior detectadas: {available}',
790
894
  config_missing: '{file} nao encontrado. Para usar o modo com LLM, copie aioson-models.json e preencha suas chaves de API.',
791
895
  config_invalid: 'JSON invalido em aioson-models.json: {error}',
@@ -795,6 +899,10 @@ module.exports = {
795
899
  context_found: ' Contexto : project.context.md encontrado',
796
900
  context_missing: ' Contexto : project.context.md nao encontrado (execute aioson setup:context primeiro)',
797
901
  spec_found: ' Spec : spec.md encontrado — memoria de desenvolvimento incluida',
902
+ existing_discovery_found: ' Contexto : discovery.md existente encontrado em {path}',
903
+ existing_skeleton_found: ' Contexto : skeleton-system.md existente encontrado em {path}',
904
+ context_update_mode: ' Modo : update/merge do contexto existente ativado para discovery.md + skeleton-system.md',
905
+ context_mode: ' Contexto : context-mode={mode} (padrao recomendado para brownfield: merge)',
798
906
  local_only: ' LLM : desativada por padrao — scan local apenas (use --with-llm para gerar discovery.md + skeleton-system.md)',
799
907
  walking: ' Escaneando estrutura do projeto...',
800
908
  walk_done: ' Arquivos : {files} entradas mapeadas | Arquivos chave: {keys} lidos',
@@ -802,17 +910,102 @@ module.exports = {
802
910
  folders_written: ' Pastas : mapa de pastas escrito em {path}',
803
911
  folder_written: ' Pasta : mapa completo de {folder} escrito em {path}',
804
912
  forge_written: ' AIOS : mapa util do .aioson escrito em {path}',
913
+ memory_index_written: ' Memoria : memory-index.md escrito em {path}',
914
+ spec_current_written: ' Memoria : spec-current.md escrito em {path}',
915
+ spec_history_written: ' Memoria : spec-history.md escrito em {path}',
916
+ module_memory_written: ' Modulo : memoria focada de {folder} escrita em {path}',
805
917
  dry_run_done: '[dry-run] Escanearia {treeCount} entradas e {keyCount} arquivos chave — nenhuma chamada LLM feita.',
806
918
  local_done: ' Resultado: scan local concluido — index, mapa de pastas, scans solicitados e .aioson estao prontos.',
919
+ local_missing: ' Falta : discovery.md + skeleton-system.md ainda nao foram gerados neste scan local.',
920
+ architecture_note: ' Nota : architecture.md nao e gerado pelo scan:project; esse arquivo vem depois com @architect.',
921
+ local_paths_title: '\n\x1b[33m Como gerar o discovery agora:\x1b[0m',
922
+ local_path_api: ' \x1b[32mCaminho A — API automatica\x1b[0m',
807
923
  calling_llm: ' Chamando {provider} ({model})...',
808
924
  llm_missing_api_key:
809
925
  '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
926
  llm_error: 'Chamada LLM falhou: {error}',
927
+ gitignore_policy_written:
928
+ ' Gitignore: politica do AIOSON atualizada em {path} para ignorar arquivos gerenciados do framework',
929
+ gitignore_tracked_note:
930
+ ' Gitignore: se esses arquivos ja estavam rastreados pelo Git antes, ainda sera preciso remover do indice uma vez com git rm --cached para eles pararem de aparecer no status',
931
+ invalid_llm_output_discovery_empty:
932
+ 'A LLM retornou discovery.md vazio. Nenhum arquivo existente foi sobrescrito. Mantenha o backup atual e tente um modelo mais forte ou menos pastas por execucao.',
933
+ invalid_llm_output_skeleton_empty:
934
+ 'A LLM retornou skeleton-system.md vazio apos o delimitador. Nenhum arquivo existente foi sobrescrito. Tente novamente com um modelo mais forte ou um escopo menor.',
935
+ gitignore_backups_written: ' Gitignore: backup local garantido em {path}',
936
+ backups_written: ' Backup : {count} arquivo(s) salvo(s) em {path}',
811
937
  discovery_written: 'discovery.md escrito: {path} ({chars} chars)',
812
938
  skeleton_written: 'skeleton-system.md escrito: {path} ({chars} chars)',
813
939
  skeleton_missing: 'Delimitador skeleton nao encontrado na resposta LLM — skeleton-system.md nao escrito.',
940
+ local_next_steps: ' 1. Rode: aioson scan:project {target} --folder={folders} --with-llm --provider=<provider>',
941
+ local_path_cli: ' \x1b[36mCaminho B — Seu AI CLI (sem API no aioson)\x1b[0m',
942
+ local_cli_step_analyst: ' 2. No Codex, Claude Code ou outro cliente, execute @analyst — ele pode usar scan-index.md + scan-folders.md + scan-<pasta>.md para escrever discovery.md',
943
+ local_cli_step_prompt_codex: ' 3. Se o cliente nao entender @analyst, gere um prompt pronto: aioson agent:prompt analyst --tool=codex',
944
+ local_cli_step_prompt_claude: ' 4. Troque --tool=codex por --tool=claude ou --tool=gemini quando necessario',
945
+ local_cli_step_model_hint: ' 5. Se seu cliente permitir escolher modelo, prefira um modelo rapido/barato para esta etapa de discovery',
946
+ local_workflow_title: '\n\x1b[33m Depois do discovery:\x1b[0m',
947
+ local_step_architect: ' 3. Execute @architect — gera architecture.md a partir do discovery consolidado',
948
+ local_step_dev: ' 4. Execute @dev — use codigo somente depois de discovery.md + architecture.md estarem prontos',
814
949
  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 @devle skeleton-system.md primeiro, depois discovery.md + spec.md'
950
+ step_analyst: ' 1. Abra sua sessao de IA e execute @analyst — revisa discovery.md + skeleton-system.md e consolida o escopo atual',
951
+ step_architect: ' 2. Execute @architectgera architecture.md a partir do discovery consolidado',
952
+ step_dev: ' 3. Execute @dev — le skeleton-system.md primeiro, depois discovery.md + architecture.md + spec.md'
953
+ },
954
+ squad_investigate: {
955
+ no_runtime: 'Runtime store nao encontrado. Execute aioson runtime:init primeiro.',
956
+ no_investigations: 'Nenhuma investigacao encontrada.',
957
+ not_found: 'Investigacao nao encontrada: {slug}',
958
+ no_report: 'Investigacao "{slug}" nao possui arquivo de relatorio.',
959
+ report_missing: 'Arquivo de relatorio nao encontrado: {path}',
960
+ show_usage: 'Uso: aioson squad:investigate [path] --sub=show --investigation=<slug>',
961
+ score_usage: 'Uso: aioson squad:investigate [path] --sub=score --investigation=<slug>',
962
+ link_usage: 'Uso: aioson squad:investigate [path] --sub=link --investigation=<slug> --squad=<slug>',
963
+ register_usage: 'Uso: aioson squad:investigate [path] --sub=register --report=<caminho> [--domain=<nome>] [--squad=<slug>]',
964
+ linked: 'Investigacao "{investigation}" vinculada ao squad "{squad}".',
965
+ registered: 'Investigacao registrada: {slug} ({path})',
966
+ unknown_sub: 'Subcomando desconhecido: {sub}. Use: list, show, score, link, register.'
967
+ },
968
+ implementation_plan: {
969
+ not_found: 'Plano de implementacao nao encontrado: {file}',
970
+ no_runtime: 'Runtime store nao encontrado. Execute aioson runtime:init primeiro.',
971
+ no_plans: 'Nenhum plano de implementacao registrado.',
972
+ no_created_date: 'Plano nao possui data de criacao no frontmatter — nao e possivel verificar obsolescencia.',
973
+ is_stale: 'Plano esta OBSOLETO — artefatos fonte foram alterados apos a criacao do plano.',
974
+ is_fresh: 'Plano esta atualizado.',
975
+ checkpoint_usage: 'Uso: aioson plan [path] --sub=checkpoint --feature=<slug> --phase=<N>',
976
+ phase_completed: 'Fase {phase} marcada como concluida.',
977
+ phase_not_found: 'Fase {phase} nao encontrada no plano.',
978
+ registered: 'Plano de implementacao registrado: {planId} ({phases} fases)'
979
+ },
980
+ squad_plan: {
981
+ slug_required: 'Slug do squad e obrigatorio.',
982
+ not_found: 'Plano de execucao nao encontrado para o squad: {slug}',
983
+ no_runtime: 'Runtime store nao encontrado. Execute aioson runtime:init primeiro.',
984
+ no_plan: 'Nenhum plano de execucao registrado para o squad: {slug}',
985
+ no_created_date: 'Plano nao possui data de criacao no frontmatter — nao e possivel verificar obsolescencia.',
986
+ is_stale: 'Plano de execucao esta OBSOLETO — artefatos do squad foram alterados apos a criacao do plano.',
987
+ is_fresh: 'Plano de execucao esta atualizado.',
988
+ checkpoint_usage: 'Uso: aioson squad:plan [path] --sub=checkpoint --squad=<slug> --round=<N>',
989
+ round_completed: 'Round {round} marcado como concluido.',
990
+ round_not_found: 'Round {round} nao encontrado no plano.',
991
+ registered: 'Plano de execucao registrado: {planSlug} ({rounds} rounds)'
992
+ },
993
+
994
+ squad_learning: {
995
+ slug_required: 'Slug do squad e obrigatorio.',
996
+ no_runtime: 'Runtime store nao encontrado. Execute aioson runtime:init primeiro.',
997
+ no_learnings: 'Nenhum learning encontrado para o squad: {slug}',
998
+ not_found: 'Learning nao encontrado: {id}',
999
+ archived_count: '{count} learning(s) marcado(s) como obsoleto(s) para o squad: {slug}',
1000
+ promote_usage: 'Uso: aioson squad:learning [path] --sub=promote --squad=<slug> --id=<learning-id> [--to=<caminho-regra>]',
1001
+ promoted: 'Learning {id} promovido a regra em {path}'
1002
+ },
1003
+
1004
+ learning: {
1005
+ no_runtime: 'Runtime store nao encontrado. Execute aioson runtime:init primeiro.',
1006
+ no_learnings: 'Nenhum learning de projeto encontrado.',
1007
+ not_found: 'Learning nao encontrado: {id}',
1008
+ promote_usage: 'Uso: aioson learning [path] --sub=promote --id=<learning-id> [--to=<caminho-regra>]',
1009
+ promoted: 'Learning {id} promovido a regra em {path}'
817
1010
  }
818
1011
  };
package/src/installer.js CHANGED
@@ -21,6 +21,21 @@ const GITIGNORE_POLICY_LINES = [
21
21
  '!.gemini/**',
22
22
  '!.aioson/',
23
23
  '!.aioson/**',
24
+ '# AIOSON — managed framework files (do not commit)',
25
+ '.aioson/config.md',
26
+ '.aioson/locales/',
27
+ '.aioson/skills/',
28
+ '.aioson/schemas/',
29
+ '.aioson/tasks/',
30
+ '.aioson/templates/',
31
+ '.aioson/advisors/',
32
+ '.aioson/mcp/servers.md',
33
+ '# AIOSON — user-installed skills (versioned with project)',
34
+ '!.aioson/installed-skills/',
35
+ '!.aioson/installed-skills/**',
36
+ '# AIOSON — custom agents (versioned with project)',
37
+ '!.aioson/my-agents/',
38
+ '!.aioson/my-agents/**',
24
39
  '# AIOSON — local-only artifacts',
25
40
  'aioson-models.json',
26
41
  '.aioson/backups/',
@@ -28,7 +43,11 @@ const GITIGNORE_POLICY_LINES = [
28
43
  '.aioson/runtime/',
29
44
  '.aioson/mcp/presets/',
30
45
  '.aioson/install.json',
31
- '.aioson/mcp/servers.local.json'
46
+ '.aioson/mcp/servers.local.json',
47
+ '.aioson/profiler-reports/*',
48
+ '!.aioson/profiler-reports/.gitkeep',
49
+ '.claude/settings.local.json',
50
+ '*:Zone.Identifier'
32
51
  ];
33
52
 
34
53
  async function detectExistingInstall(targetDir) {
@@ -63,6 +82,10 @@ async function ensureGitignoreEntries(targetDir, entries) {
63
82
  return missing.length;
64
83
  }
65
84
 
85
+ async function ensureProjectGitignorePolicy(targetDir) {
86
+ return ensureGitignoreEntries(targetDir, GITIGNORE_POLICY_LINES);
87
+ }
88
+
66
89
  async function countProjectFiles(targetDir) {
67
90
  const SKIP = new Set(['.git', 'node_modules', 'vendor', '.aioson', 'dist', 'build', '__pycache__']);
68
91
  let count = 0;
@@ -101,6 +124,10 @@ async function listFilesRecursive(dir) {
101
124
  function shouldSkipTemplatePath(rel) {
102
125
  if (rel.startsWith('.aioson/context/')) return true;
103
126
  if (rel === '.aioson/context/.gitkeep') return false;
127
+ // Never overwrite user-installed skills (only the .gitkeep is created)
128
+ if (rel.startsWith('.aioson/installed-skills/') && rel !== '.aioson/installed-skills/.gitkeep') return true;
129
+ // Never overwrite custom agents (only the .gitkeep is created)
130
+ if (rel.startsWith('.aioson/my-agents/') && rel !== '.aioson/my-agents/.gitkeep') return true;
104
131
  return false;
105
132
  }
106
133
 
@@ -200,7 +227,7 @@ async function installTemplate(targetDir, options = {}) {
200
227
 
201
228
  await writeInstallMetadata(targetDir, mode, frameworkDetection);
202
229
 
203
- await ensureGitignoreEntries(targetDir, GITIGNORE_POLICY_LINES);
230
+ await ensureProjectGitignorePolicy(targetDir);
204
231
 
205
232
  runtime = await ensureProjectRuntime(targetDir);
206
233
  }
@@ -228,5 +255,6 @@ module.exports = {
228
255
  listFilesRecursive,
229
256
  ensureGitignoreEntry,
230
257
  ensureGitignoreEntries,
258
+ ensureProjectGitignorePolicy,
231
259
  countProjectFiles
232
260
  };
@@ -63,7 +63,7 @@ function hasLegacyMarkdownSignals(input) {
63
63
  return (
64
64
  /^\s*---\s*$/m.test(text) ||
65
65
  /\n(?:genome|slug):\s*.+$/im.test(text) ||
66
- /^#\s+(Genome|Genoma)\s*:/im.test(text) ||
66
+ /^#\s+(Genome|Genome)\s*:/im.test(text) ||
67
67
  /^##\s+(O que saber|Mentes|Skills)\s*$/im.test(text)
68
68
  );
69
69
  }