@jaimevalasek/aioson 1.3.0 → 1.5.1

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 (330) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/LICENSE +661 -21
  3. package/README.md +22 -3
  4. package/docs/en/squad-dashboard.md +372 -0
  5. package/docs/openclaw-bridge.md +308 -0
  6. package/docs/pt/README.md +62 -2
  7. package/docs/pt/advisor-spec.md +5 -5
  8. package/docs/pt/agentes-customizados.md +670 -0
  9. package/docs/pt/agentes.md +235 -23
  10. package/docs/pt/automacao-squads.md +407 -0
  11. package/docs/pt/cenarios.md +49 -5
  12. package/docs/pt/clientes-ai.md +62 -0
  13. package/docs/pt/comandos-cli.md +226 -17
  14. package/docs/pt/deyvin.md +115 -0
  15. package/docs/pt/genome-3.0-spec.md +11 -11
  16. package/docs/pt/inicio-rapido.md +63 -2
  17. package/docs/pt/memoria-contexto.md +255 -0
  18. package/docs/pt/output-strategy-delivery.md +655 -0
  19. package/docs/pt/profiler-system.md +17 -17
  20. package/docs/pt/runtime-observability.md +5 -1
  21. package/docs/pt/skills.md +175 -0
  22. package/docs/pt/squad-dashboard.md +373 -0
  23. package/docs/pt/{squad-genoma.md → squad-genome.md} +81 -75
  24. package/docs/testing/genome-2.0-matrix.md +5 -5
  25. package/docs/testing/genome-2.0-rollout.md +10 -10
  26. package/package.json +4 -4
  27. package/src/agents.js +21 -5
  28. package/src/backup-local.js +74 -0
  29. package/src/backup-provider.js +303 -0
  30. package/src/cli.js +276 -2
  31. package/src/commands/agents.js +22 -4
  32. package/src/commands/backup-local-cmd.js +25 -0
  33. package/src/commands/backup.js +533 -0
  34. package/src/commands/cloud.js +17 -17
  35. package/src/commands/context-pack.js +45 -0
  36. package/src/commands/implementation-plan.js +340 -0
  37. package/src/commands/learning.js +134 -0
  38. package/src/commands/live.js +1583 -0
  39. package/src/commands/runtime.js +1075 -2
  40. package/src/commands/scan-project.js +288 -24
  41. package/src/commands/setup-context.js +30 -2
  42. package/src/commands/skill.js +558 -0
  43. package/src/commands/squad-agent-create.js +788 -0
  44. package/src/commands/squad-daemon.js +209 -0
  45. package/src/commands/squad-dashboard.js +39 -0
  46. package/src/commands/squad-deploy.js +64 -0
  47. package/src/commands/squad-doctor.js +103 -1
  48. package/src/commands/squad-investigate.js +261 -0
  49. package/src/commands/squad-learning.js +209 -0
  50. package/src/commands/squad-mcp.js +270 -0
  51. package/src/commands/squad-pipeline.js +247 -1
  52. package/src/commands/squad-plan.js +329 -0
  53. package/src/commands/squad-processes.js +56 -0
  54. package/src/commands/squad-recovery.js +42 -0
  55. package/src/commands/squad-roi.js +291 -0
  56. package/src/commands/squad-score.js +250 -0
  57. package/src/commands/squad-status.js +38 -2
  58. package/src/commands/squad-validate.js +118 -1
  59. package/src/commands/squad-webhook.js +160 -0
  60. package/src/commands/squad-worker.js +191 -0
  61. package/src/commands/squad-worktrees.js +75 -0
  62. package/src/commands/test-agents.js +6 -1
  63. package/src/commands/web-map.js +70 -0
  64. package/src/commands/web-scrape.js +71 -0
  65. package/src/commands/workflow-next.js +8 -1
  66. package/src/commands/workflow-status.js +250 -0
  67. package/src/constants.js +88 -16
  68. package/src/context-memory.js +837 -0
  69. package/src/context-writer.js +47 -1
  70. package/src/delivery-runner.js +319 -0
  71. package/src/genome-files.js +1 -1
  72. package/src/genome-format.js +1 -1
  73. package/src/i18n/messages/en.js +333 -8
  74. package/src/i18n/messages/es.js +240 -6
  75. package/src/i18n/messages/fr.js +239 -5
  76. package/src/i18n/messages/pt-BR.js +330 -12
  77. package/src/installer.js +30 -2
  78. package/src/lib/genomes/compat.js +1 -1
  79. package/src/lib/webhook-server.js +328 -0
  80. package/src/mcp-connectors/registry.js +602 -0
  81. package/src/runtime-store.js +1037 -42
  82. package/src/session-handoff.js +77 -0
  83. package/src/squad/external-session.js +180 -0
  84. package/src/squad/inter-squad.js +74 -0
  85. package/src/squad/recovery-context.js +201 -0
  86. package/src/squad/worktree-manager.js +114 -0
  87. package/src/squad-daemon.js +490 -0
  88. package/src/squad-dashboard/api.js +223 -0
  89. package/src/squad-dashboard/attachment-handler.js +93 -0
  90. package/src/squad-dashboard/context-monitor.js +157 -0
  91. package/src/squad-dashboard/execution-logs.js +115 -0
  92. package/src/squad-dashboard/hunk-review.js +209 -0
  93. package/src/squad-dashboard/metrics.js +133 -0
  94. package/src/squad-dashboard/process-monitor.js +125 -0
  95. package/src/squad-dashboard/renderer.js +858 -0
  96. package/src/squad-dashboard/server.js +232 -0
  97. package/src/squad-dashboard/styles.js +525 -0
  98. package/src/squad-dashboard/token-tracker.js +99 -0
  99. package/src/web.js +284 -0
  100. package/src/worker-runner.js +339 -0
  101. package/template/.aioson/agents/analyst.md +40 -9
  102. package/template/.aioson/agents/architect.md +24 -5
  103. package/template/.aioson/agents/dev.md +254 -25
  104. package/template/.aioson/agents/deyvin.md +174 -0
  105. package/template/.aioson/agents/discovery-design-doc.md +25 -1
  106. package/template/.aioson/agents/{genoma.md → genome.md} +20 -20
  107. package/template/.aioson/agents/neo.md +152 -0
  108. package/template/.aioson/agents/orache.md +388 -0
  109. package/template/.aioson/agents/orchestrator.md +63 -2
  110. package/template/.aioson/agents/pair.md +5 -0
  111. package/template/.aioson/agents/pm.md +17 -5
  112. package/template/.aioson/agents/product.md +113 -29
  113. package/template/.aioson/agents/profiler-enricher.md +1 -1
  114. package/template/.aioson/agents/profiler-forge.md +9 -9
  115. package/template/.aioson/agents/profiler-researcher.md +1 -1
  116. package/template/.aioson/agents/qa.md +18 -5
  117. package/template/.aioson/agents/setup.md +138 -18
  118. package/template/.aioson/agents/sheldon.md +603 -0
  119. package/template/.aioson/agents/squad.md +866 -28
  120. package/template/.aioson/agents/tester.md +254 -0
  121. package/template/.aioson/agents/ux-ui.md +289 -34
  122. package/template/.aioson/config.md +181 -0
  123. package/template/.aioson/context/spec.md.template +17 -0
  124. package/template/.aioson/genomes/.gitkeep +0 -0
  125. package/template/.aioson/installed-skills/.gitkeep +0 -0
  126. package/template/.aioson/locales/en/agents/analyst.md +34 -4
  127. package/template/.aioson/locales/en/agents/architect.md +18 -0
  128. package/template/.aioson/locales/en/agents/dev.md +155 -11
  129. package/template/.aioson/locales/en/agents/deyvin.md +137 -0
  130. package/template/.aioson/locales/en/agents/{genoma.md → genome.md} +14 -14
  131. package/template/.aioson/locales/en/agents/neo.md +8 -0
  132. package/template/.aioson/locales/en/agents/orchestrator.md +62 -2
  133. package/template/.aioson/locales/en/agents/pair.md +5 -0
  134. package/template/.aioson/locales/en/agents/pm.md +7 -0
  135. package/template/.aioson/locales/en/agents/product.md +35 -17
  136. package/template/.aioson/locales/en/agents/qa.md +56 -0
  137. package/template/.aioson/locales/en/agents/setup.md +53 -6
  138. package/template/.aioson/locales/en/agents/sheldon.md +340 -0
  139. package/template/.aioson/locales/en/agents/squad.md +203 -15
  140. package/template/.aioson/locales/en/agents/ux-ui.md +383 -35
  141. package/template/.aioson/locales/es/agents/analyst.md +24 -4
  142. package/template/.aioson/locales/es/agents/architect.md +18 -0
  143. package/template/.aioson/locales/es/agents/dev.md +136 -9
  144. package/template/.aioson/locales/es/agents/deyvin.md +97 -0
  145. package/template/.aioson/locales/es/agents/{genoma.md → genome.md} +13 -13
  146. package/template/.aioson/locales/es/agents/neo.md +48 -0
  147. package/template/.aioson/locales/es/agents/orache.md +103 -0
  148. package/template/.aioson/locales/es/agents/orchestrator.md +62 -2
  149. package/template/.aioson/locales/es/agents/pair.md +5 -0
  150. package/template/.aioson/locales/es/agents/pm.md +7 -0
  151. package/template/.aioson/locales/es/agents/product.md +13 -3
  152. package/template/.aioson/locales/es/agents/qa.md +33 -0
  153. package/template/.aioson/locales/es/agents/setup.md +30 -6
  154. package/template/.aioson/locales/es/agents/sheldon.md +192 -0
  155. package/template/.aioson/locales/es/agents/squad.md +284 -15
  156. package/template/.aioson/locales/es/agents/ux-ui.md +34 -25
  157. package/template/.aioson/locales/fr/agents/analyst.md +24 -4
  158. package/template/.aioson/locales/fr/agents/architect.md +18 -0
  159. package/template/.aioson/locales/fr/agents/dev.md +136 -9
  160. package/template/.aioson/locales/fr/agents/deyvin.md +97 -0
  161. package/template/.aioson/locales/fr/agents/{genoma.md → genome.md} +7 -7
  162. package/template/.aioson/locales/fr/agents/neo.md +48 -0
  163. package/template/.aioson/locales/fr/agents/orache.md +104 -0
  164. package/template/.aioson/locales/fr/agents/orchestrator.md +62 -2
  165. package/template/.aioson/locales/fr/agents/pair.md +5 -0
  166. package/template/.aioson/locales/fr/agents/pm.md +7 -0
  167. package/template/.aioson/locales/fr/agents/product.md +13 -3
  168. package/template/.aioson/locales/fr/agents/qa.md +33 -0
  169. package/template/.aioson/locales/fr/agents/setup.md +30 -6
  170. package/template/.aioson/locales/fr/agents/sheldon.md +192 -0
  171. package/template/.aioson/locales/fr/agents/squad.md +279 -10
  172. package/template/.aioson/locales/fr/agents/ux-ui.md +34 -25
  173. package/template/.aioson/locales/pt-BR/agents/analyst.md +45 -4
  174. package/template/.aioson/locales/pt-BR/agents/architect.md +29 -0
  175. package/template/.aioson/locales/pt-BR/agents/dev.md +167 -15
  176. package/template/.aioson/locales/pt-BR/agents/deyvin.md +137 -0
  177. package/template/.aioson/locales/pt-BR/agents/{genoma.md → genome.md} +49 -49
  178. package/template/.aioson/locales/pt-BR/agents/neo.md +147 -0
  179. package/template/.aioson/locales/pt-BR/agents/orache.md +137 -0
  180. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +62 -2
  181. package/template/.aioson/locales/pt-BR/agents/pair.md +5 -0
  182. package/template/.aioson/locales/pt-BR/agents/pm.md +7 -0
  183. package/template/.aioson/locales/pt-BR/agents/product.md +43 -20
  184. package/template/.aioson/locales/pt-BR/agents/qa.md +67 -0
  185. package/template/.aioson/locales/pt-BR/agents/setup.md +53 -6
  186. package/template/.aioson/locales/pt-BR/agents/sheldon.md +192 -0
  187. package/template/.aioson/locales/pt-BR/agents/squad.md +591 -47
  188. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +369 -22
  189. package/template/.aioson/my-agents/.gitkeep +0 -0
  190. package/template/.aioson/rules/.gitkeep +0 -0
  191. package/template/.aioson/rules/squad/.gitkeep +0 -0
  192. package/template/.aioson/rules/squad/README.md +50 -0
  193. package/template/.aioson/schemas/genome-meta.schema.json +1 -1
  194. package/template/.aioson/schemas/genome.schema.json +1 -1
  195. package/template/.aioson/schemas/squad-blueprint.schema.json +32 -0
  196. package/template/.aioson/schemas/squad-manifest.schema.json +434 -1
  197. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -0
  198. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -0
  199. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -0
  200. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -0
  201. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -0
  202. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -0
  203. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -0
  204. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -0
  205. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -0
  206. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -0
  207. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -0
  208. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -0
  209. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -0
  210. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -0
  211. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -0
  212. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -0
  213. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +203 -0
  214. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -0
  215. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -0
  216. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +272 -0
  217. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +524 -0
  218. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +277 -0
  219. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -0
  220. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +437 -0
  221. package/template/.aioson/skills/design/interface-design/SKILL.md +47 -0
  222. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -0
  223. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -0
  224. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -0
  225. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -0
  226. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -0
  227. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -0
  228. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -0
  229. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -0
  230. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -0
  231. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -0
  232. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -0
  233. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -0
  234. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -0
  235. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -0
  236. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -0
  237. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -0
  238. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -0
  239. package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -0
  240. package/template/.aioson/skills/design-system/SKILL.md +92 -0
  241. package/template/.aioson/skills/design-system/cognitive-core-ui.skill +0 -0
  242. package/template/.aioson/skills/design-system/components/SKILL.md +274 -0
  243. package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
  244. package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -0
  245. package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
  246. package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -0
  247. package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
  248. package/template/.aioson/skills/design-system/motion/SKILL.md +197 -0
  249. package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
  250. package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -0
  251. package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
  252. package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -0
  253. package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -0
  254. package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -0
  255. package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -0
  256. package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -0
  257. package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -0
  258. package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -0
  259. package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -0
  260. package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -0
  261. package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -0
  262. package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -0
  263. package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -0
  264. package/template/.aioson/skills/squad/SKILL.md +58 -0
  265. package/template/.aioson/skills/squad/domains/.gitkeep +0 -0
  266. package/template/.aioson/skills/squad/formats/.gitkeep +0 -0
  267. package/template/.aioson/skills/squad/formats/catalog.json +15 -0
  268. package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -0
  269. package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -0
  270. package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -0
  271. package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -0
  272. package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -0
  273. package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -0
  274. package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -0
  275. package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -0
  276. package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -0
  277. package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -0
  278. package/template/.aioson/skills/squad/patterns/.gitkeep +0 -0
  279. package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -0
  280. package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -0
  281. package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -0
  282. package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -0
  283. package/template/.aioson/skills/squad/references/.gitkeep +0 -0
  284. package/template/.aioson/skills/squad/references/checklist-templates.md +122 -0
  285. package/template/.aioson/skills/squad/references/executor-archetypes.md +123 -0
  286. package/template/.aioson/skills/squad/references/workflow-templates.md +169 -0
  287. package/template/.aioson/skills/static/debugging-protocol.md +42 -0
  288. package/template/.aioson/skills/static/git-worktrees.md +36 -0
  289. package/template/.aioson/tasks/implementation-plan.md +307 -0
  290. package/template/.aioson/tasks/squad-create.md +1 -1
  291. package/template/.aioson/tasks/squad-design.md +28 -0
  292. package/template/.aioson/tasks/squad-execution-plan.md +279 -0
  293. package/template/.aioson/tasks/squad-export.md +1 -1
  294. package/template/.aioson/tasks/squad-investigate.md +44 -0
  295. package/template/.aioson/tasks/squad-learning-review.md +44 -0
  296. package/template/.aioson/tasks/squad-output-config.md +177 -0
  297. package/template/.aioson/tasks/squad-profile.md +48 -0
  298. package/template/.aioson/tasks/squad-review.md +61 -0
  299. package/template/.aioson/tasks/squad-task-decompose.md +66 -0
  300. package/template/.aioson/tasks/squad-validate.md +1 -1
  301. package/template/.claude/commands/aioson/agent/deyvin.md +5 -0
  302. package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -0
  303. package/template/.claude/commands/aioson/agent/genome.md +5 -0
  304. package/template/.claude/commands/aioson/agent/neo.md +5 -0
  305. package/template/.claude/commands/aioson/agent/product.md +5 -0
  306. package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -0
  307. package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -0
  308. package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -0
  309. package/template/.claude/commands/aioson/agent/squad.md +5 -0
  310. package/template/.claude/commands/aioson/agent/tester.md +5 -0
  311. package/template/.gemini/GEMINI.md +3 -0
  312. package/template/.gemini/commands/aios-deyvin.toml +6 -0
  313. package/template/.gemini/commands/aios-neo.toml +4 -0
  314. package/template/.gemini/commands/aios-pair.toml +6 -0
  315. package/template/.gemini/commands/aios-tester.toml +6 -0
  316. package/template/AGENTS.md +37 -6
  317. package/template/CLAUDE.md +34 -4
  318. package/template/OPENCODE.md +8 -2
  319. package/template/squad-searches/.gitkeep +0 -0
  320. package/template/.aioson/skills/static/interface-design.md +0 -372
  321. package/template/.aioson/skills/static/premium-command-center-ui.md +0 -190
  322. /package/template/.aioson/{genomas → docs}/.gitkeep +0 -0
  323. /package/template/.claude/commands/aioson/{analyst.md → agent/analyst.md} +0 -0
  324. /package/template/.claude/commands/aioson/{architect.md → agent/architect.md} +0 -0
  325. /package/template/.claude/commands/aioson/{dev.md → agent/dev.md} +0 -0
  326. /package/template/.claude/commands/aioson/{orchestrator.md → agent/orchestrator.md} +0 -0
  327. /package/template/.claude/commands/aioson/{pm.md → agent/pm.md} +0 -0
  328. /package/template/.claude/commands/aioson/{qa.md → agent/qa.md} +0 -0
  329. /package/template/.claude/commands/aioson/{setup.md → agent/setup.md} +0 -0
  330. /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:
@@ -55,8 +59,12 @@ module.exports = {
55
59
  'aioson qa:scan [path] [--url=<app-url>] [--depth=3] [--max-pages=50] [--headed] [--html] [--json] [--locale=pt-BR]',
56
60
  help_qa_report:
57
61
  'aioson qa:report [path] [--html] [--json] [--locale=pt-BR]',
62
+ help_web_map:
63
+ 'aioson web:map [path] --url=<url> [--depth=<N>] [--max-pages=<N>] [--include-external] [--json] [--locale=pt-BR]',
64
+ help_web_scrape:
65
+ 'aioson web:scrape [path] --url=<url> [--format=markdown|text|html|links] [--json] [--locale=pt-BR]',
58
66
  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]',
67
+ '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
68
  help_config:
61
69
  'aioson config <set KEY=value|show|get KEY> [--json] [--locale=pt-BR]',
62
70
  help_genome_doctor:
@@ -75,6 +83,26 @@ module.exports = {
75
83
  'aioson squad:export [path] --squad=<slug> [--locale=pt-BR]',
76
84
  help_squad_pipeline:
77
85
  'aioson squad:pipeline [path] [--sub=list|show|status] [--pipeline=<slug>] [--locale=pt-BR]',
86
+ help_squad_agent_create:
87
+ '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]',
88
+ help_squad_investigate:
89
+ 'aioson squad:investigate [path] [--sub=list|show|score|link|register] [--investigation=<slug>] [--squad=<slug>] [--locale=pt-BR]',
90
+ help_squad_learning:
91
+ 'aioson squad:learning [path] [--sub=list|stats|archive|promote|export] [--squad=<slug>] [--status=<status>] [--locale=pt-BR]',
92
+ help_squad_dashboard:
93
+ 'aioson squad:dashboard [path] [--port=4180] [--squad=<slug>] [--locale=pt-BR]',
94
+ help_squad_worker:
95
+ 'aioson squad:worker [path] [--sub=list|run|test|logs|scaffold] [--squad=<slug>] [--worker=<slug>] [--input=<json>] [--locale=pt-BR]',
96
+ help_squad_daemon:
97
+ 'aioson squad:daemon [path] [--sub=start|status|stop|logs] [--squad=<slug>] [--port=<N>] [--locale=pt-BR]',
98
+ help_squad_mcp:
99
+ 'aioson squad:mcp [path] [--sub=status|connectors|configure|test] [--squad=<slug>] [--mcp=<slug>] [--connector=<id>]',
100
+ help_squad_roi:
101
+ 'aioson squad:roi [path] [--sub=config|metric|report|export] [--squad=<slug>] [--key=<metrica>] [--value=<N>]',
102
+ help_squad_score:
103
+ 'aioson squad:score [path] --squad=<slug> [--locale=pt-BR]',
104
+ help_learning:
105
+ 'aioson learning [path] [--sub=list|stats|promote] [--status=<status>] [--id=<learning-id>] [--locale=pt-BR]',
78
106
  help_runtime_init:
79
107
  'aioson runtime:init [path] [--json] [--locale=pt-BR]',
80
108
  help_runtime_ingest:
@@ -97,6 +125,36 @@ module.exports = {
97
125
  'aioson runtime:status [path] [--json] [--locale=pt-BR]',
98
126
  help_runtime_log:
99
127
  'aioson runtime:log [path] --agent=<nome> --message=<texto> [--type=<evento>] [--finish] [--status=completed|failed] [--summary=<texto>] [--title=<titulo-task>] [--json] [--locale=pt-BR]',
128
+ help_runtime_session_start:
129
+ 'aioson runtime:session:start [path] --agent=<nome> [--title=<texto>] [--message=<texto>] [--session=<chave>] [--json] [--locale=pt-BR]',
130
+ help_runtime_session_log:
131
+ 'aioson runtime:session:log [path] --agent=<nome> --message=<texto> [--type=<evento>] [--title=<texto>] [--json] [--locale=pt-BR]',
132
+ help_runtime_session_finish:
133
+ 'aioson runtime:session:finish [path] --agent=<nome> [--message=<texto>] [--summary=<texto>] [--status=completed|failed] [--json] [--locale=pt-BR]',
134
+ help_runtime_session_status:
135
+ 'aioson runtime:session:status [path] --agent=<nome> [--limit=8] [--watch=2] [--json] [--locale=pt-BR]',
136
+ help_runtime_emit:
137
+ 'aioson runtime:emit [path] --agent=<nome> [--type=<evento>] [--summary=<texto>] [--title=<texto>] [--refs=<arquivo[,arquivo2]>] [--plan-step=<id>] [--meta=<json>] [--json] [--locale=pt-BR]',
138
+ help_live_start:
139
+ '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]',
140
+ help_live_status:
141
+ 'aioson live:status [path] [--agent=<nome>] [--limit=8] [--watch=2] [--json] [--locale=pt-BR]',
142
+ help_live_handoff:
143
+ 'aioson live:handoff [path] --agent=<nome> --to=<nome> [--reason=<texto>] [--summary=<texto>] [--message=<texto>] [--json] [--locale=pt-BR]',
144
+ help_live_close:
145
+ 'aioson live:close [path] [--agent=<nome>] [--summary=<texto>] [--message=<texto>] [--status=completed|failed] [--json] [--locale=pt-BR]',
146
+ help_live_list:
147
+ 'aioson live:list [path] [--json] [--locale=pt-BR]',
148
+ help_runtime_backup:
149
+ 'aioson runtime:backup [caminho] [--tables=tasks,runs,...] [--force] [--dry-run] [--json] [--locale=pt-BR]',
150
+ help_runtime_restore:
151
+ 'aioson runtime:restore [caminho] [--tables=tasks,runs,...] [--dry-run] [--json] [--locale=pt-BR]',
152
+ help_skill_install:
153
+ 'aioson skill:install [caminho] --slug=<nome> [--from=npm|cloud|./caminho] [--force] [--json] [--locale=pt-BR]',
154
+ help_skill_list:
155
+ 'aioson skill:list [caminho] [--json] [--locale=pt-BR]',
156
+ help_skill_remove:
157
+ 'aioson skill:remove [caminho] --slug=<nome> [--json] [--locale=pt-BR]',
100
158
  help_cloud_import_squad:
101
159
  'aioson cloud:import:squad [path] --url=<snapshot-url> [--force] [--snapshots-only] [--dry-run] [--json] [--locale=pt-BR]',
102
160
  help_cloud_import_genome:
@@ -117,12 +175,12 @@ module.exports = {
117
175
  url_required: 'Informe --url com o endpoint JSON do snapshot do squad.',
118
176
  import_squad_dry_run: 'Dry run: squad {slug}@{version} pronto para import cloud.',
119
177
  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.',
178
+ import_genome_dry_run: 'Dry run: genome {slug}@{version} pronto para import cloud.',
179
+ import_genome_done: 'Snapshot do genome {slug}@{version} importado.',
122
180
  publish_squad_dry_run: 'Dry run: squad {slug}@{version} pronto para publish cloud.',
123
181
  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.'
182
+ publish_genome_dry_run: 'Dry run: genome {slug}@{version} pronto para publish cloud.',
183
+ publish_genome_done: 'Genome {slug}@{version} publicado no cloud.'
126
184
  },
127
185
  init: {
128
186
  usage_error:
@@ -152,7 +210,7 @@ module.exports = {
152
210
  existing_project_detected:
153
211
  '⚠ Projeto existente detectado ({count} arquivos). Rode o scanner antes de comecar:',
154
212
  existing_project_scan_hint:
155
- ' aioson scan:project --folder=src (gera scan-index.md localmente; adicione --with-llm para discovery.md)'
213
+ ' aioson scan:project . --folder=src --with-llm --provider=<provider> (gera discovery.md + skeleton-system.md; sem --with-llm gera apenas os mapas locais)'
156
214
  },
157
215
  update: {
158
216
  not_installed: 'Nenhuma instalacao do AIOSON encontrada em {targetDir}.',
@@ -255,7 +313,7 @@ module.exports = {
255
313
  active_path: 'Caminho ativo',
256
314
  depends: 'Depende de',
257
315
  output: 'Saida',
258
- agent_line: '- Agente: {command} ({id})',
316
+ agent_line: '- Agente: {label} - {command} ({id})',
259
317
  path_line: ' Caminho: {path}',
260
318
  active_path_line: ' Caminho ativo: {path}',
261
319
  depends_line: ' Depende de: {value}',
@@ -281,6 +339,13 @@ module.exports = {
281
339
  issue_line: '- {issue}',
282
340
  valid: 'O arquivo de contexto esta valido.'
283
341
  },
342
+ context_pack: {
343
+ generated: 'Context pack escrito em: {path}',
344
+ no_matches: 'Nenhum arquivo de contexto relevante foi selecionado ainda. Gere setup/contexto/scan antes de empacotar.',
345
+ selected_title: 'Arquivos incluidos no pack:',
346
+ selected_line: ' {index}. {path} — {reason}',
347
+ hint_use: 'Use {path} como contexto minimo inicial na sua sessao de IA.'
348
+ },
284
349
  setup_context: {
285
350
  detected: 'Framework detectado: {framework} (installed={installed})',
286
351
  q_project_name: 'Nome do projeto',
@@ -709,6 +774,23 @@ module.exports = {
709
774
  not_found: 'Nenhum relatorio QA encontrado. Execute: aioson qa:run ou aioson qa:scan',
710
775
  html_report_written: 'Relatorio HTML escrito: {path}'
711
776
  },
777
+ web_map: {
778
+ url_missing: 'Opcao obrigatoria ausente: --url=<url>.',
779
+ starting: 'Mapeando site: {url}',
780
+ pages_found: 'Paginas descobertas: {count}',
781
+ page_line: '- {url} | profundidade={depth} | status={status} | links={links}',
782
+ done: 'Mapa web concluido.',
783
+ failed: 'Falha no mapa web: {error}'
784
+ },
785
+ web_scrape: {
786
+ url_missing: 'Opcao obrigatoria ausente: --url=<url>.',
787
+ invalid_format: 'Valor invalido para --format: {format}. Use markdown, text, html ou links.',
788
+ fetching: 'Buscando pagina: {url}',
789
+ title_line: 'Titulo: {title}',
790
+ status_line: 'Status: {status} | Content-Type: {type}',
791
+ done: 'Web scrape concluido ({format}).',
792
+ failed: 'Falha no web scrape: {error}'
793
+ },
712
794
  config: {
713
795
  usage_error:
714
796
  'Uso: aioson config <set KEY=value|show|get KEY> [--json] [--locale=pt-BR]',
@@ -746,7 +828,38 @@ module.exports = {
746
828
  status_active_task_line: '- {task} | squad: {squad} | status: {status} | trabalho: {title}',
747
829
  status_no_active: 'Nenhuma execucao ativa de agente.',
748
830
  status_active_title: 'Execucoes ativas:',
749
- status_active_line: '- {agent} | squad: {squad} | status: {status} | trabalho: {title}'
831
+ status_active_line: '- {agent} | squad: {squad} | status: {status} | trabalho: {title}',
832
+ status_live_sessions_title: 'Sessoes vivas ativas:',
833
+ status_live_session_line: '- {task} | agente: {agent} | status: {status} | plano: {plan} | micro: {micro} | handoffs: {handoffs} | trabalho: {title}',
834
+ status_micro_tasks_title: 'Micro-tarefas ativas:',
835
+ status_micro_task_line: '- {task} | pai: {parent} | status: {status} | trabalho: {title}',
836
+ status_handoffs_title: 'Handoffs recentes:',
837
+ status_handoff_line: '- {created} | {from} -> {to} | sessao: {session} | {message}'
838
+ },
839
+ live: {
840
+ unsupported_tool: 'Ferramenta live nao suportada: {tool}. Ferramentas suportadas: {supported}',
841
+ plan_not_found: 'Arquivo de plano nao encontrado: {plan}',
842
+ no_active_session: 'Nenhuma sessao live ativa encontrada para {agent}.',
843
+ session_not_active: 'A sessao live de {agent} nao esta ativa.',
844
+ json_requires_no_launch: '--json requer --no-launch para live:start porque o lancamento em primeiro plano e interativo.',
845
+ tool_binary_not_found: 'Binario da ferramenta nao encontrado no PATH: {binary}',
846
+ tool_mismatch: 'A sessao ativa usa a ferramenta "{existing}" mas --tool={requested} foi informado. Encerre a sessao primeiro ou use a mesma ferramenta.',
847
+ micro_task_already_open: 'Uma micro-tarefa live ja esta aberta para {agent}. Emita task_completed antes de task_started novamente.',
848
+ handoff_same_agent: 'live:handoff requer valores diferentes para --agent e --to.',
849
+ handoff_agent_mismatch: 'Nenhuma sessao live ativa encontrada para {agent}.',
850
+ watch_json_conflict: '--watch nao pode ser combinado com --json.',
851
+ no_session_found: 'Nenhuma sessao live encontrada.',
852
+ no_session_for_agent: 'Nenhuma sessao live encontrada para {agent}.',
853
+ session_already_closed: 'A sessao live {session} ja esta encerrada.',
854
+ session_already_active: 'Sessao live ja ativa: {agent} | sessao: {session} | run: {runKey} ({dbPath})',
855
+ session_started: 'Sessao live iniciada: {agent} | ferramenta: {tool} | sessao: {session} ({dbPath})',
856
+ event_recorded: 'Evento live registrado: {agent} | {eventType} | {session} ({dbPath})',
857
+ handoff_recorded: 'Handoff live registrado: {from} -> {to} | {session} ({dbPath})',
858
+ session_closed: 'Sessao live encerrada: {agent} | {session} ({dbPath})',
859
+ process_dead_warning: 'O processo morreu enquanto a sessao live ainda esta aberta. Encerre manualmente com `aioson live:close . --status=failed`.',
860
+ list_title: 'Sessoes live ({count}):',
861
+ list_empty: 'Nenhuma sessao live encontrada.',
862
+ list_line: '- {session} | {agent} | {tool} | {phase} | {updatedAt}'
750
863
  },
751
864
  squad_status: {
752
865
  no_squad: 'Nenhum squad encontrado.',
@@ -761,7 +874,20 @@ module.exports = {
761
874
  sessions: ' Sessoes : {count} ({path})',
762
875
  latest_html: ' Latest HTML : {value}',
763
876
  logs: ' Logs : {count} ({path})',
764
- genomes: ' Genomas : {count} no squad / {agent_count} vinculos por agente'
877
+ genomes: ' Genomes : {count} no squad / {agent_count} vinculos por agente',
878
+ model_tiers: ' Model Tiers : {value}',
879
+ estimated_cost: ' Custo Est. : ~${value}/run'
880
+ },
881
+ squad_agent_create: {
882
+ no_name: 'Uso: aioson squad:agent-create [path] --name=<nome-agente> [--type=agent|assistant|clone|worker] [--scope=my-agents|squad] [--squad=<slug>]',
883
+ invalid_scope: 'Escopo inválido: "{scope}". Use "my-agents" ou "squad".',
884
+ invalid_type: 'Tipo inválido: "{type}". Use: agent, assistant, clone, worker.',
885
+ invalid_tier: 'Tier inválido: "{tier}". Use: 0 (foundation), 1 (master), 2 (systematizer), 3 (specialist).',
886
+ invalid_disc: 'Perfil DISC inválido: "{disc}".',
887
+ no_squads: 'Nenhuma squad encontrada. Crie uma squad com @squad ou forneça --squad=<slug>.',
888
+ squad_required: '--squad=<slug> obrigatório quando scope é "squad".',
889
+ squad_not_found: 'Squad "{squad}" não encontrada.',
890
+ already_exists: 'Agente já existe: {path}'
765
891
  },
766
892
  squad_doctor: {
767
893
  prefix_ok: 'OK',
@@ -786,6 +912,19 @@ module.exports = {
786
912
  scanning: 'aioson scan:project — escaneando {dir}',
787
913
  folder_required:
788
914
  'Informe --folder=<pasta[,pasta2]> para gerar o mapa completo das pastas desejadas. Exemplo: --folder=src ou --folder=app.',
915
+ folder_required_examples_title: '\x1b[33mGuia rapido:\x1b[0m',
916
+ folder_required_example_local:
917
+ ' Mapas locais : aioson scan:project . --folder=src',
918
+ folder_required_example_multi:
919
+ ' Varias pastas : aioson scan:project . --folder=src,app',
920
+ folder_required_example_llm:
921
+ ' API automatica : aioson scan:project . --folder=src --with-llm --provider=openai',
922
+ folder_required_example_cli:
923
+ ' Sem API LLM : aioson scan:project . --folder=src -> depois execute @analyst no seu Codex/Claude/Gemini',
924
+ folder_required_example_prompt:
925
+ ' Prompt pronto : aioson agent:prompt analyst --tool=codex',
926
+ folder_required_example_next:
927
+ ' Workflow apos scan completo: @analyst -> @architect -> @dev',
789
928
  folder_not_found: 'A pasta "{folder}" nao foi encontrada neste projeto. Pastas de nivel superior detectadas: {available}',
790
929
  config_missing: '{file} nao encontrado. Para usar o modo com LLM, copie aioson-models.json e preencha suas chaves de API.',
791
930
  config_invalid: 'JSON invalido em aioson-models.json: {error}',
@@ -795,6 +934,10 @@ module.exports = {
795
934
  context_found: ' Contexto : project.context.md encontrado',
796
935
  context_missing: ' Contexto : project.context.md nao encontrado (execute aioson setup:context primeiro)',
797
936
  spec_found: ' Spec : spec.md encontrado — memoria de desenvolvimento incluida',
937
+ existing_discovery_found: ' Contexto : discovery.md existente encontrado em {path}',
938
+ existing_skeleton_found: ' Contexto : skeleton-system.md existente encontrado em {path}',
939
+ context_update_mode: ' Modo : update/merge do contexto existente ativado para discovery.md + skeleton-system.md',
940
+ context_mode: ' Contexto : context-mode={mode} (padrao recomendado para brownfield: merge)',
798
941
  local_only: ' LLM : desativada por padrao — scan local apenas (use --with-llm para gerar discovery.md + skeleton-system.md)',
799
942
  walking: ' Escaneando estrutura do projeto...',
800
943
  walk_done: ' Arquivos : {files} entradas mapeadas | Arquivos chave: {keys} lidos',
@@ -802,17 +945,192 @@ module.exports = {
802
945
  folders_written: ' Pastas : mapa de pastas escrito em {path}',
803
946
  folder_written: ' Pasta : mapa completo de {folder} escrito em {path}',
804
947
  forge_written: ' AIOS : mapa util do .aioson escrito em {path}',
948
+ memory_index_written: ' Memoria : memory-index.md escrito em {path}',
949
+ spec_current_written: ' Memoria : spec-current.md escrito em {path}',
950
+ spec_history_written: ' Memoria : spec-history.md escrito em {path}',
951
+ module_memory_written: ' Modulo : memoria focada de {folder} escrita em {path}',
805
952
  dry_run_done: '[dry-run] Escanearia {treeCount} entradas e {keyCount} arquivos chave — nenhuma chamada LLM feita.',
806
953
  local_done: ' Resultado: scan local concluido — index, mapa de pastas, scans solicitados e .aioson estao prontos.',
954
+ local_missing: ' Falta : discovery.md + skeleton-system.md ainda nao foram gerados neste scan local.',
955
+ architecture_note: ' Nota : architecture.md nao e gerado pelo scan:project; esse arquivo vem depois com @architect.',
956
+ local_paths_title: '\n\x1b[33m Como gerar o discovery agora:\x1b[0m',
957
+ local_path_api: ' \x1b[32mCaminho A — API automatica\x1b[0m',
807
958
  calling_llm: ' Chamando {provider} ({model})...',
808
959
  llm_missing_api_key:
809
960
  '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
961
  llm_error: 'Chamada LLM falhou: {error}',
962
+ gitignore_policy_written:
963
+ ' Gitignore: politica do AIOSON atualizada em {path} para ignorar arquivos gerenciados do framework',
964
+ gitignore_tracked_note:
965
+ ' 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',
966
+ invalid_llm_output_discovery_empty:
967
+ '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.',
968
+ invalid_llm_output_skeleton_empty:
969
+ '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.',
970
+ gitignore_backups_written: ' Gitignore: backup local garantido em {path}',
971
+ backups_written: ' Backup : {count} arquivo(s) salvo(s) em {path}',
811
972
  discovery_written: 'discovery.md escrito: {path} ({chars} chars)',
812
973
  skeleton_written: 'skeleton-system.md escrito: {path} ({chars} chars)',
813
974
  skeleton_missing: 'Delimitador skeleton nao encontrado na resposta LLM — skeleton-system.md nao escrito.',
975
+ local_next_steps: ' 1. Rode: aioson scan:project {target} --folder={folders} --with-llm --provider=<provider>',
976
+ local_path_cli: ' \x1b[36mCaminho B — Seu AI CLI (sem API no aioson)\x1b[0m',
977
+ 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',
978
+ local_cli_step_prompt_codex: ' 3. Se o cliente nao entender @analyst, gere um prompt pronto: aioson agent:prompt analyst --tool=codex',
979
+ local_cli_step_prompt_claude: ' 4. Troque --tool=codex por --tool=claude ou --tool=gemini quando necessario',
980
+ local_cli_step_model_hint: ' 5. Se seu cliente permitir escolher modelo, prefira um modelo rapido/barato para esta etapa de discovery',
981
+ local_workflow_title: '\n\x1b[33m Depois do discovery:\x1b[0m',
982
+ local_step_architect: ' 3. Execute @architect — gera architecture.md a partir do discovery consolidado',
983
+ local_step_dev: ' 4. Execute @dev — use codigo somente depois de discovery.md + architecture.md estarem prontos',
814
984
  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'
985
+ step_analyst: ' 1. Abra sua sessao de IA e execute @analyst — revisa discovery.md + skeleton-system.md e consolida o escopo atual',
986
+ step_architect: ' 2. Execute @architectgera architecture.md a partir do discovery consolidado',
987
+ step_dev: ' 3. Execute @dev — le skeleton-system.md primeiro, depois discovery.md + architecture.md + spec.md'
988
+ },
989
+ squad_investigate: {
990
+ no_runtime: 'Runtime store nao encontrado. Execute aioson runtime:init primeiro.',
991
+ no_investigations: 'Nenhuma investigacao encontrada.',
992
+ not_found: 'Investigacao nao encontrada: {slug}',
993
+ no_report: 'Investigacao "{slug}" nao possui arquivo de relatorio.',
994
+ report_missing: 'Arquivo de relatorio nao encontrado: {path}',
995
+ show_usage: 'Uso: aioson squad:investigate [path] --sub=show --investigation=<slug>',
996
+ score_usage: 'Uso: aioson squad:investigate [path] --sub=score --investigation=<slug>',
997
+ link_usage: 'Uso: aioson squad:investigate [path] --sub=link --investigation=<slug> --squad=<slug>',
998
+ register_usage: 'Uso: aioson squad:investigate [path] --sub=register --report=<caminho> [--domain=<nome>] [--squad=<slug>]',
999
+ linked: 'Investigacao "{investigation}" vinculada ao squad "{squad}".',
1000
+ registered: 'Investigacao registrada: {slug} ({path})',
1001
+ unknown_sub: 'Subcomando desconhecido: {sub}. Use: list, show, score, link, register.'
1002
+ },
1003
+ squad_daemon: {
1004
+ squad_required: 'Slug do squad e obrigatorio. Use --squad=<slug>.',
1005
+ started: 'Daemon iniciado para squad "{squad}" na porta {port} ({workers} workers, {cron} cron jobs)',
1006
+ webhook_hint: 'Endpoint webhook: POST http://127.0.0.1:{port}/webhook/<worker-slug>',
1007
+ stop_hint: 'Pressione Ctrl+C para parar.',
1008
+ stopping: 'Parando daemon...',
1009
+ start_failed: 'Falha ao iniciar daemon: {error}',
1010
+ no_runtime: 'Runtime store nao encontrado. Execute aioson runtime:init primeiro.',
1011
+ no_daemons: 'Nenhum registro de daemon encontrado.',
1012
+ not_found: 'Nenhum registro de daemon para o squad: {squad}',
1013
+ not_running: 'O daemon do squad "{squad}" nao esta rodando.',
1014
+ signal_sent: 'SIGTERM enviado ao daemon de "{squad}" (pid {pid}).',
1015
+ process_gone: 'O processo do daemon de "{squad}" nao esta mais rodando.',
1016
+ no_logs: 'Nenhum log de atividade do daemon encontrado.',
1017
+ unknown_sub: 'Subcomando desconhecido: {sub}. Use: start, status, stop, logs.'
1018
+ },
1019
+
1020
+ squad_mcp: {
1021
+ squad_required: 'Slug do squad e obrigatorio. Use --squad=<slug>.',
1022
+ connectors_title: 'Conectores MCP Integrados:',
1023
+ actions: 'Acoes',
1024
+ required_config: 'Obrigatorio',
1025
+ no_integrations: 'Nenhuma integracao configurada para o squad "{squad}".',
1026
+ missing_config: 'Config ausente',
1027
+ calls: 'Chamadas',
1028
+ mcp_required: 'Slug do MCP e obrigatorio. Use --mcp=<slug>.',
1029
+ connector_required: 'ID do conector e obrigatorio. Use --connector=<id>.',
1030
+ unknown_connector: 'Conector desconhecido: {connector}. Use --sub=connectors para listar.',
1031
+ configured: 'Integracao "{mcp}" configurada com conector "{connector}" (status: {status}).',
1032
+ still_missing: 'Ainda faltam env/config: {keys}',
1033
+ not_configured: 'Integracao "{mcp}" nao esta configurada.',
1034
+ test_missing: 'Integracao "{mcp}" tem config ausente: {keys}',
1035
+ test_ok: 'Integracao "{mcp}" ({connector}) — config OK.',
1036
+ health_url: 'URL de health check: {url}',
1037
+ testing_connection: 'Testando conexao...',
1038
+ health_ok: 'Conexao OK (HTTP {statusCode})',
1039
+ health_error: 'Erro na conexao: {error}',
1040
+ health_skipped: 'Verificacao de saude nao disponivel para este connector',
1041
+ action_required: 'Slug da acao e obrigatorio. Use --action=<slug>.',
1042
+ invalid_input: 'JSON invalido. Forneca JSON valido com --input.',
1043
+ unknown_sub: 'Subcomando desconhecido: {sub}. Use: status, connectors, configure, test, call.'
1044
+ },
1045
+
1046
+ squad_roi: {
1047
+ squad_required: 'Slug do squad e obrigatorio. Use --squad=<slug>.',
1048
+ config_saved: 'Config de ROI salva para o squad "{squad}".',
1049
+ pricing_model: 'Modelo de precificacao',
1050
+ setup_fee: 'Taxa de implantacao',
1051
+ monthly_fee: 'Mensalidade',
1052
+ percentage: 'Percentual',
1053
+ contract: 'Contrato',
1054
+ metric_required: 'Chave e valor da metrica sao obrigatorios. Use --key=<nome> --value=<N>.',
1055
+ metric_saved: 'Metrica "{key}" = {value} salva para o squad "{squad}".',
1056
+ no_metrics: 'Nenhuma metrica encontrada para o squad "{squad}".',
1057
+ report_title: 'Relatorio de ROI — {squad}',
1058
+ baseline: 'Baseline',
1059
+ actual: 'Atual',
1060
+ target: 'Meta',
1061
+ period: 'Periodo',
1062
+ cost_section: 'Resumo de Custos:',
1063
+ monthly_cost: 'Custo mensal efetivo',
1064
+ exported: 'Relatorio exportado para {file} ({format}).',
1065
+ unknown_sub: 'Subcomando desconhecido: {sub}. Use: config, metric, report, export.'
1066
+ },
1067
+
1068
+ squad_worker: {
1069
+ squad_required: 'Slug do squad e obrigatorio. Use --squad=<slug>.',
1070
+ no_workers: 'Nenhum worker encontrado para este squad.',
1071
+ run_usage: 'Uso: aioson squad:worker --sub=run --squad=<slug> --worker=<slug> [--input=<json>]',
1072
+ test_usage: 'Uso: aioson squad:worker --sub=test --squad=<slug> --worker=<slug>',
1073
+ scaffold_usage: 'Uso: aioson squad:worker --sub=scaffold --squad=<slug> --worker=<slug> [--trigger=manual|event|scheduled]',
1074
+ not_found: 'Worker nao encontrado: {worker}',
1075
+ invalid_input: 'JSON invalido. Forneca JSON valido com --input.',
1076
+ run_success: 'Worker "{worker}" concluido com sucesso.',
1077
+ run_failed: 'Worker "{worker}" falhou: {error}',
1078
+ test_passed: 'Worker "{worker}" teste aprovado.',
1079
+ test_failed: 'Worker "{worker}" teste falhou: {error}',
1080
+ scaffold_created: 'Worker "{worker}" criado em {path}',
1081
+ no_runtime: 'Runtime store nao encontrado. Execute aioson runtime:init primeiro.',
1082
+ no_logs: 'Nenhuma execucao de worker encontrada.',
1083
+ unknown_sub: 'Subcomando desconhecido: {sub}. Use: list, run, test, logs, scaffold.'
1084
+ },
1085
+
1086
+ squad_dashboard: {
1087
+ started: 'Squad Dashboard rodando em {url} (porta {port})',
1088
+ filtered: 'Filtrando para squad: {squad}',
1089
+ stop_hint: 'Pressione Ctrl+C para parar.',
1090
+ stopping: 'Parando Squad Dashboard...',
1091
+ port_in_use: 'Porta {port} ja esta em uso. Tente --port=<outra>'
1092
+ },
1093
+ implementation_plan: {
1094
+ not_found: 'Plano de implementacao nao encontrado: {file}',
1095
+ no_runtime: 'Runtime store nao encontrado. Execute aioson runtime:init primeiro.',
1096
+ no_plans: 'Nenhum plano de implementacao registrado.',
1097
+ no_created_date: 'Plano nao possui data de criacao no frontmatter — nao e possivel verificar obsolescencia.',
1098
+ is_stale: 'Plano esta OBSOLETO — artefatos fonte foram alterados apos a criacao do plano.',
1099
+ is_fresh: 'Plano esta atualizado.',
1100
+ checkpoint_usage: 'Uso: aioson plan [path] --sub=checkpoint --feature=<slug> --phase=<N>',
1101
+ phase_completed: 'Fase {phase} marcada como concluida.',
1102
+ phase_not_found: 'Fase {phase} nao encontrada no plano.',
1103
+ registered: 'Plano de implementacao registrado: {planId} ({phases} fases)'
1104
+ },
1105
+ squad_plan: {
1106
+ slug_required: 'Slug do squad e obrigatorio.',
1107
+ not_found: 'Plano de execucao nao encontrado para o squad: {slug}',
1108
+ no_runtime: 'Runtime store nao encontrado. Execute aioson runtime:init primeiro.',
1109
+ no_plan: 'Nenhum plano de execucao registrado para o squad: {slug}',
1110
+ no_created_date: 'Plano nao possui data de criacao no frontmatter — nao e possivel verificar obsolescencia.',
1111
+ is_stale: 'Plano de execucao esta OBSOLETO — artefatos do squad foram alterados apos a criacao do plano.',
1112
+ is_fresh: 'Plano de execucao esta atualizado.',
1113
+ checkpoint_usage: 'Uso: aioson squad:plan [path] --sub=checkpoint --squad=<slug> --round=<N>',
1114
+ round_completed: 'Round {round} marcado como concluido.',
1115
+ round_not_found: 'Round {round} nao encontrado no plano.',
1116
+ registered: 'Plano de execucao registrado: {planSlug} ({rounds} rounds)'
1117
+ },
1118
+
1119
+ squad_learning: {
1120
+ slug_required: 'Slug do squad e obrigatorio.',
1121
+ no_runtime: 'Runtime store nao encontrado. Execute aioson runtime:init primeiro.',
1122
+ no_learnings: 'Nenhum learning encontrado para o squad: {slug}',
1123
+ not_found: 'Learning nao encontrado: {id}',
1124
+ archived_count: '{count} learning(s) marcado(s) como obsoleto(s) para o squad: {slug}',
1125
+ promote_usage: 'Uso: aioson squad:learning [path] --sub=promote --squad=<slug> --id=<learning-id> [--to=<caminho-regra>]',
1126
+ promoted: 'Learning {id} promovido a regra em {path}'
1127
+ },
1128
+
1129
+ learning: {
1130
+ no_runtime: 'Runtime store nao encontrado. Execute aioson runtime:init primeiro.',
1131
+ no_learnings: 'Nenhum learning de projeto encontrado.',
1132
+ not_found: 'Learning nao encontrado: {id}',
1133
+ promote_usage: 'Uso: aioson learning [path] --sub=promote --id=<learning-id> [--to=<caminho-regra>]',
1134
+ promoted: 'Learning {id} promovido a regra em {path}'
817
1135
  }
818
1136
  };
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
  }