@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=es]',
21
21
  help_context_validate: 'aioson context:validate [path] [--json] [--locale=es]',
22
+ help_context_pack:
23
+ 'aioson context:pack [path] [--agent=<agente>] [--goal=<texto>] [--module=<modulo-o-carpeta>] [--max-files=8] [--json] [--locale=es]',
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=es] [--web3-enabled=true|false] [--locale=es]',
24
26
  help_locale_apply: 'aioson locale:apply [path] [--lang=en|pt-BR|es|fr] [--dry-run] [--locale=es]',
@@ -52,8 +54,12 @@ module.exports = {
52
54
  'aioson qa:scan [path] [--url=<app-url>] [--depth=3] [--max-pages=50] [--headed] [--html] [--json] [--locale=es]',
53
55
  help_qa_report:
54
56
  'aioson qa:report [path] [--html] [--json] [--locale=es]',
57
+ help_web_map:
58
+ 'aioson web:map [path] --url=<url> [--depth=<N>] [--max-pages=<N>] [--include-external] [--json] [--locale=es]',
59
+ help_web_scrape:
60
+ 'aioson web:scrape [path] --url=<url> [--format=markdown|text|html|links] [--json] [--locale=es]',
55
61
  help_scan_project:
56
- 'aioson scan:project [path] --folder=<ruta[,ruta2]> [--summary-mode=titles|summaries|raw] [--with-llm] [--provider=<name>] [--llm-model=<name>] [--dry-run] [--json] [--locale=es]',
62
+ 'aioson scan:project [path] --folder=<ruta[,ruta2]> [--summary-mode=titles|summaries|raw] [--context-mode=merge|rewrite] [--with-llm] [--provider=<name>] [--llm-model=<name>] [--dry-run] [--json] [--locale=es]',
57
63
  help_config:
58
64
  'aioson config <set KEY=value|show|get KEY> [--json] [--locale=es]',
59
65
  help_genome_doctor:
@@ -70,6 +76,24 @@ module.exports = {
70
76
  'aioson squad:export [path] --squad=<slug> [--locale=es]',
71
77
  help_squad_pipeline:
72
78
  'aioson squad:pipeline [path] [--sub=list|show|status] [--pipeline=<slug>] [--locale=es]',
79
+ help_squad_investigate:
80
+ 'aioson squad:investigate [path] [--sub=list|show|score|link|register] [--investigation=<slug>] [--squad=<slug>] [--locale=es]',
81
+ help_squad_learning:
82
+ 'aioson squad:learning [path] [--sub=list|stats|archive|promote|export] [--squad=<slug>] [--status=<status>] [--locale=es]',
83
+ help_squad_dashboard:
84
+ 'aioson squad:dashboard [path] [--port=4180] [--squad=<slug>] [--locale=es]',
85
+ help_squad_worker:
86
+ 'aioson squad:worker [path] [--sub=list|run|test|logs|scaffold] [--squad=<slug>] [--worker=<slug>] [--input=<json>] [--locale=es]',
87
+ help_squad_daemon:
88
+ 'aioson squad:daemon [path] [--sub=start|status|stop|logs] [--squad=<slug>] [--port=<N>] [--locale=es]',
89
+ help_squad_mcp:
90
+ 'aioson squad:mcp [path] [--sub=status|connectors|configure|test] [--squad=<slug>] [--mcp=<slug>] [--connector=<id>]',
91
+ help_squad_roi:
92
+ 'aioson squad:roi [path] [--sub=config|metric|report|export] [--squad=<slug>] [--key=<metrica>] [--value=<N>]',
93
+ help_squad_score:
94
+ 'aioson squad:score [path] --squad=<slug> [--locale=es]',
95
+ help_learning:
96
+ 'aioson learning [path] [--sub=list|stats|promote] [--status=<status>] [--id=<learning-id>] [--locale=es]',
73
97
  dashboard_moved:
74
98
  'El flujo `{command}` fue eliminado del CLI. El dashboard de AIOSON ahora se instala por separado. Abre la app del dashboard en tu computadora, crea o agrega un proyecto y selecciona la carpeta que ya contiene `.aioson/`.',
75
99
  dashboard_moved_line: '{message}\n',
@@ -106,7 +130,7 @@ module.exports = {
106
130
  existing_project_detected:
107
131
  '⚠ Proyecto existente detectado ({count} archivos). Ejecuta el scanner antes de comenzar:',
108
132
  existing_project_scan_hint:
109
- ' aioson scan:project --folder=src (genera scan-index.md localmente; agrega --with-llm para discovery.md)'
133
+ ' aioson scan:project . --folder=src --with-llm --provider=<provider> (genera discovery.md + skeleton-system.md; sin --with-llm genera solo mapas locales)'
110
134
  },
111
135
  update: {
112
136
  not_installed: 'No se encontro instalacion de AIOSON en {targetDir}.',
@@ -208,7 +232,7 @@ module.exports = {
208
232
  active_path: 'Ruta activa',
209
233
  depends: 'Depende de',
210
234
  output: 'Salida',
211
- agent_line: '- Agente: {command} ({id})',
235
+ agent_line: '- Agente: {label} - {command} ({id})',
212
236
  path_line: ' Ruta: {path}',
213
237
  active_path_line: ' Ruta activa: {path}',
214
238
  depends_line: ' Depende de: {value}',
@@ -234,6 +258,13 @@ module.exports = {
234
258
  issue_line: '- {issue}',
235
259
  valid: 'El archivo de contexto es valido.'
236
260
  },
261
+ context_pack: {
262
+ generated: 'Context pack escrito en: {path}',
263
+ no_matches: 'Todavia no se seleccionaron archivos de contexto relevantes. Ejecuta setup/context/scan antes de empaquetar.',
264
+ selected_title: 'Archivos incluidos en el pack:',
265
+ selected_line: ' {index}. {path} — {reason}',
266
+ hint_use: 'Usa {path} como contexto minimo inicial en tu sesion de IA.'
267
+ },
237
268
  setup_context: {
238
269
  detected: 'Framework detectado: {framework} (installed={installed})',
239
270
  q_project_name: 'Nombre del proyecto',
@@ -657,6 +688,23 @@ module.exports = {
657
688
  not_found: 'No se encontro reporte QA. Ejecuta: aioson qa:run o aioson qa:scan',
658
689
  html_report_written: 'Reporte HTML escrito: {path}'
659
690
  },
691
+ web_map: {
692
+ url_missing: 'Falta la opcion obligatoria: --url=<url>.',
693
+ starting: 'Mapeando sitio: {url}',
694
+ pages_found: 'Paginas descubiertas: {count}',
695
+ page_line: '- {url} | profundidad={depth} | estado={status} | links={links}',
696
+ done: 'Mapa web completado.',
697
+ failed: 'Fallo en mapa web: {error}'
698
+ },
699
+ web_scrape: {
700
+ url_missing: 'Falta la opcion obligatoria: --url=<url>.',
701
+ invalid_format: 'Valor invalido para --format: {format}. Usa markdown, text, html o links.',
702
+ fetching: 'Obteniendo pagina: {url}',
703
+ title_line: 'Titulo: {title}',
704
+ status_line: 'Estado: {status} | Content-Type: {type}',
705
+ done: 'Web scrape completado ({format}).',
706
+ failed: 'Fallo en web scrape: {error}'
707
+ },
660
708
  config: {
661
709
  usage_error:
662
710
  'Uso: aioson config <set KEY=value|show|get KEY> [--json] [--locale=es]',
@@ -680,12 +728,25 @@ module.exports = {
680
728
  sessions: ' Sesiones : {count} ({path})',
681
729
  latest_html: ' Latest HTML : {value}',
682
730
  logs: ' Logs : {count} ({path})',
683
- genomes: ' Genomas : {count} en el squad / {agent_count} vinculos por agente'
731
+ genomes: ' Genomes : {count} en el squad / {agent_count} vinculos por agente'
684
732
  },
685
733
  scan_project: {
686
734
  scanning: 'aioson scan:project — escaneando {dir}',
687
735
  folder_required:
688
736
  'Usa --folder=<ruta[,ruta2]> para generar mapas completos de carpetas especificas. Ejemplo: --folder=src o --folder=app.',
737
+ folder_required_examples_title: '\x1b[33mGuia rapido:\x1b[0m',
738
+ folder_required_example_local:
739
+ ' Mapas locales : aioson scan:project . --folder=src',
740
+ folder_required_example_multi:
741
+ ' Varias carpetas : aioson scan:project . --folder=src,app',
742
+ folder_required_example_llm:
743
+ ' API automatica : aioson scan:project . --folder=src --with-llm --provider=openai',
744
+ folder_required_example_cli:
745
+ ' Sin API LLM : aioson scan:project . --folder=src -> luego ejecuta @analyst en Codex/Claude/Gemini',
746
+ folder_required_example_prompt:
747
+ ' Prompt listo : aioson agent:prompt analyst --tool=codex',
748
+ folder_required_example_next:
749
+ ' Flujo tras escaneo completo: @analyst -> @architect -> @dev',
689
750
  folder_not_found: 'La carpeta "{folder}" no existe en este proyecto. Directorios de nivel superior detectados: {available}',
690
751
  config_missing: '{file} no encontrado. Para usar el modo con LLM, copia aioson-models.json y completa tus claves de API.',
691
752
  config_invalid: 'JSON invalido en aioson-models.json: {error}',
@@ -695,6 +756,10 @@ module.exports = {
695
756
  context_found: ' Contexto : project.context.md encontrado',
696
757
  context_missing: ' Contexto : project.context.md no encontrado (ejecuta aioson setup:context primero)',
697
758
  spec_found: ' Spec : spec.md encontrado — memoria de desarrollo incluida',
759
+ existing_discovery_found: ' Contexto : discovery.md existente encontrado en {path}',
760
+ existing_skeleton_found: ' Contexto : skeleton-system.md existente encontrado en {path}',
761
+ context_update_mode: ' Modo : update/merge del contexto existente activado para discovery.md + skeleton-system.md',
762
+ context_mode: ' Contexto : context-mode={mode} (valor recomendado por defecto para brownfield: merge)',
698
763
  local_only: ' LLM : desactivada por defecto — solo escaneo local (usa --with-llm para generar discovery.md + skeleton-system.md)',
699
764
  walking: ' Escaneando estructura del proyecto...',
700
765
  walk_done: ' Archivos : {files} entradas mapeadas | Archivos clave: {keys} leidos',
@@ -702,17 +767,186 @@ module.exports = {
702
767
  folders_written: ' Carpetas : mapa de carpetas escrito en {path}',
703
768
  folder_written: ' Carpeta : mapa completo de {folder} escrito en {path}',
704
769
  forge_written: ' AIOS : mapa util de .aioson escrito en {path}',
770
+ memory_index_written: ' Memoria : memory-index.md escrito en {path}',
771
+ spec_current_written: ' Memoria : spec-current.md escrito en {path}',
772
+ spec_history_written: ' Memoria : spec-history.md escrito en {path}',
773
+ module_memory_written: ' Modulo : memoria enfocada de {folder} escrita en {path}',
705
774
  dry_run_done: '[dry-run] Escanearia {treeCount} entradas y {keyCount} archivos clave — sin llamada LLM.',
706
775
  local_done: ' Resultado: escaneo local completado — indice, mapa de carpetas, scans solicitados y .aioson listos.',
776
+ local_missing: ' Falta : discovery.md + skeleton-system.md todavia no fueron generados en este escaneo local.',
777
+ architecture_note: ' Nota : architecture.md no lo genera scan:project; ese archivo viene despues con @architect.',
778
+ local_paths_title: '\n\x1b[33m Como generar discovery ahora:\x1b[0m',
779
+ local_path_api: ' \x1b[32mCamino A — API automatica\x1b[0m',
707
780
  calling_llm: ' Llamando {provider} ({model})...',
708
781
  llm_missing_api_key:
709
782
  'La API key del provider "{provider}" todavia no esta configurada en {file}. Completa providers.{provider}.api_key o elige otro provider con --provider=...',
710
783
  llm_error: 'Llamada LLM fallo: {error}',
784
+ gitignore_policy_written:
785
+ ' Gitignore: politica de AIOSON actualizada en {path} para ignorar archivos gestionados del framework',
786
+ gitignore_tracked_note:
787
+ ' Gitignore: si esos archivos ya estaban rastreados por Git antes, todavia hara falta un git rm --cached una vez para que dejen de aparecer en el status',
788
+ invalid_llm_output_discovery_empty:
789
+ 'La LLM devolvio un discovery.md vacio. No se sobrescribio ningun archivo existente. Conserva el backup actual e intenta con un modelo mas fuerte o menos carpetas por ejecucion.',
790
+ invalid_llm_output_skeleton_empty:
791
+ 'La LLM devolvio un skeleton-system.md vacio despues del delimitador. No se sobrescribio ningun archivo existente. Intenta otra vez con un modelo mas fuerte o un alcance menor.',
792
+ gitignore_backups_written: ' Gitignore: regla de backup local garantizada en {path}',
793
+ backups_written: ' Backup : {count} archivo(s) guardado(s) en {path}',
711
794
  discovery_written: 'discovery.md escrito: {path} ({chars} chars)',
712
795
  skeleton_written: 'skeleton-system.md escrito: {path} ({chars} chars)',
713
796
  skeleton_missing: 'Delimitador skeleton no encontrado en respuesta LLM — skeleton-system.md no escrito.',
797
+ local_next_steps: ' 1. Ejecuta: aioson scan:project {target} --folder={folders} --with-llm --provider=<provider>',
798
+ local_path_cli: ' \x1b[36mCamino B — Tu AI CLI (sin API dentro de aioson)\x1b[0m',
799
+ local_cli_step_analyst: ' 2. En Codex, Claude Code u otro cliente, ejecuta @analyst — puede usar scan-index.md + scan-folders.md + scan-<pasta>.md para escribir discovery.md',
800
+ local_cli_step_prompt_codex: ' 3. Si el cliente no entiende @analyst, genera un prompt listo: aioson agent:prompt analyst --tool=codex',
801
+ local_cli_step_prompt_claude: ' 4. Cambia --tool=codex por --tool=claude o --tool=gemini cuando haga falta',
802
+ local_cli_step_model_hint: ' 5. Si tu cliente permite elegir modelo, usa uno rapido/barato para esta etapa de discovery',
803
+ local_workflow_title: '\n\x1b[33m Despues del discovery:\x1b[0m',
804
+ local_step_architect: ' 3. Ejecuta @architect — genera architecture.md a partir del discovery consolidado',
805
+ local_step_dev: ' 4. Ejecuta @dev — empieza a codificar solo despues de tener discovery.md + architecture.md',
714
806
  next_steps: '\n Proximos pasos:',
715
- step_analyst: ' 1. Abre tu sesion de IA y ejecuta @analyst — lee discovery.md + skeleton-system.md automaticamente',
716
- step_dev: ' 2. Ejecuta @devlee skeleton-system.md primero, luego discovery.md + spec.md'
807
+ step_analyst: ' 1. Abre tu sesion de IA y ejecuta @analyst — revisa discovery.md + skeleton-system.md y consolida el alcance actual',
808
+ step_architect: ' 2. Ejecuta @architectgenera architecture.md a partir del discovery consolidado',
809
+ step_dev: ' 3. Ejecuta @dev — lee skeleton-system.md primero, luego discovery.md + architecture.md + spec.md'
810
+ },
811
+ squad_investigate: {
812
+ no_runtime: 'Runtime store no encontrado. Ejecuta aioson runtime:init primero.',
813
+ no_investigations: 'No se encontraron investigaciones.',
814
+ not_found: 'Investigacion no encontrada: {slug}',
815
+ no_report: 'La investigacion "{slug}" no tiene archivo de reporte.',
816
+ report_missing: 'Archivo de reporte no encontrado: {path}',
817
+ show_usage: 'Uso: aioson squad:investigate [path] --sub=show --investigation=<slug>',
818
+ score_usage: 'Uso: aioson squad:investigate [path] --sub=score --investigation=<slug>',
819
+ link_usage: 'Uso: aioson squad:investigate [path] --sub=link --investigation=<slug> --squad=<slug>',
820
+ register_usage: 'Uso: aioson squad:investigate [path] --sub=register --report=<ruta> [--domain=<nombre>] [--squad=<slug>]',
821
+ linked: 'Investigacion "{investigation}" vinculada al squad "{squad}".',
822
+ registered: 'Investigacion registrada: {slug} ({path})',
823
+ unknown_sub: 'Subcomando desconocido: {sub}. Usa: list, show, score, link, register.'
824
+ },
825
+ squad_daemon: {
826
+ squad_required: 'El slug del squad es obligatorio. Use --squad=<slug>.',
827
+ started: 'Daemon iniciado para squad "{squad}" en puerto {port} ({workers} workers, {cron} cron jobs)',
828
+ webhook_hint: 'Endpoint webhook: POST http://127.0.0.1:{port}/webhook/<worker-slug>',
829
+ stop_hint: 'Presione Ctrl+C para detener.',
830
+ stopping: 'Deteniendo daemon...',
831
+ start_failed: 'Error al iniciar daemon: {error}',
832
+ no_runtime: 'Runtime store no encontrado. Ejecute aioson runtime:init primero.',
833
+ no_daemons: 'No se encontraron registros de daemon.',
834
+ not_found: 'No hay registro de daemon para el squad: {squad}',
835
+ not_running: 'El daemon del squad "{squad}" no esta en ejecucion.',
836
+ signal_sent: 'SIGTERM enviado al daemon de "{squad}" (pid {pid}).',
837
+ process_gone: 'El proceso del daemon de "{squad}" ya no esta en ejecucion.',
838
+ no_logs: 'No se encontraron registros de actividad del daemon.',
839
+ unknown_sub: 'Subcomando desconocido: {sub}. Use: start, status, stop, logs.'
840
+ },
841
+
842
+ squad_mcp: {
843
+ squad_required: 'El slug del squad es obligatorio. Use --squad=<slug>.',
844
+ connectors_title: 'Conectores MCP Integrados:',
845
+ actions: 'Acciones',
846
+ required_config: 'Requerido',
847
+ no_integrations: 'No hay integraciones configuradas para el squad "{squad}".',
848
+ missing_config: 'Config faltante',
849
+ calls: 'Llamadas',
850
+ mcp_required: 'El slug del MCP es obligatorio. Use --mcp=<slug>.',
851
+ connector_required: 'El ID del conector es obligatorio. Use --connector=<id>.',
852
+ unknown_connector: 'Conector desconocido: {connector}. Use --sub=connectors para listar.',
853
+ configured: 'Integracion "{mcp}" configurada con conector "{connector}" (estado: {status}).',
854
+ still_missing: 'Aun faltan env/config: {keys}',
855
+ not_configured: 'La integracion "{mcp}" no esta configurada.',
856
+ test_missing: 'La integracion "{mcp}" tiene config faltante: {keys}',
857
+ test_ok: 'Integracion "{mcp}" ({connector}) — config OK.',
858
+ health_url: 'URL de health check: {url}',
859
+ unknown_sub: 'Subcomando desconocido: {sub}. Use: status, connectors, configure, test.'
860
+ },
861
+
862
+ squad_roi: {
863
+ squad_required: 'El slug del squad es obligatorio. Use --squad=<slug>.',
864
+ config_saved: 'Config de ROI guardada para el squad "{squad}".',
865
+ pricing_model: 'Modelo de precios',
866
+ setup_fee: 'Tarifa de instalacion',
867
+ monthly_fee: 'Mensualidad',
868
+ percentage: 'Porcentaje',
869
+ contract: 'Contrato',
870
+ metric_required: 'La clave y el valor de la metrica son obligatorios. Use --key=<nombre> --value=<N>.',
871
+ metric_saved: 'Metrica "{key}" = {value} guardada para el squad "{squad}".',
872
+ no_metrics: 'No se encontraron metricas para el squad "{squad}".',
873
+ report_title: 'Reporte de ROI — {squad}',
874
+ baseline: 'Baseline',
875
+ actual: 'Actual',
876
+ target: 'Meta',
877
+ period: 'Periodo',
878
+ cost_section: 'Resumen de Costos:',
879
+ monthly_cost: 'Costo mensual efectivo',
880
+ exported: 'Reporte exportado a {file} ({format}).',
881
+ unknown_sub: 'Subcomando desconocido: {sub}. Use: config, metric, report, export.'
882
+ },
883
+
884
+ squad_worker: {
885
+ squad_required: 'El slug del squad es obligatorio. Use --squad=<slug>.',
886
+ no_workers: 'No se encontraron workers para este squad.',
887
+ run_usage: 'Uso: aioson squad:worker --sub=run --squad=<slug> --worker=<slug> [--input=<json>]',
888
+ test_usage: 'Uso: aioson squad:worker --sub=test --squad=<slug> --worker=<slug>',
889
+ scaffold_usage: 'Uso: aioson squad:worker --sub=scaffold --squad=<slug> --worker=<slug> [--trigger=manual|event|scheduled]',
890
+ not_found: 'Worker no encontrado: {worker}',
891
+ invalid_input: 'JSON invalido. Proporcione JSON valido con --input.',
892
+ run_success: 'Worker "{worker}" completado exitosamente.',
893
+ run_failed: 'Worker "{worker}" fallo: {error}',
894
+ test_passed: 'Worker "{worker}" prueba aprobada.',
895
+ test_failed: 'Worker "{worker}" prueba fallo: {error}',
896
+ scaffold_created: 'Worker "{worker}" creado en {path}',
897
+ no_runtime: 'Runtime store no encontrado. Ejecute aioson runtime:init primero.',
898
+ no_logs: 'No se encontraron ejecuciones de worker.',
899
+ unknown_sub: 'Subcomando desconocido: {sub}. Use: list, run, test, logs, scaffold.'
900
+ },
901
+
902
+ squad_dashboard: {
903
+ started: 'Squad Dashboard ejecutandose en {url} (puerto {port})',
904
+ filtered: 'Filtrando al squad: {squad}',
905
+ stop_hint: 'Presione Ctrl+C para detener.',
906
+ stopping: 'Deteniendo Squad Dashboard...',
907
+ port_in_use: 'El puerto {port} ya esta en uso. Intente --port=<otro>'
908
+ },
909
+ implementation_plan: {
910
+ not_found: 'Plan de implementacion no encontrado: {file}',
911
+ no_runtime: 'Runtime store no encontrado. Ejecuta aioson runtime:init primero.',
912
+ no_plans: 'No hay planes de implementacion registrados.',
913
+ no_created_date: 'El plan no tiene fecha de creacion en el frontmatter — no se puede verificar obsolescencia.',
914
+ is_stale: 'El plan esta OBSOLETO — los artefactos fuente cambiaron despues de la creacion del plan.',
915
+ is_fresh: 'El plan esta actualizado.',
916
+ checkpoint_usage: 'Uso: aioson plan [path] --sub=checkpoint --feature=<slug> --phase=<N>',
917
+ phase_completed: 'Fase {phase} marcada como completada.',
918
+ phase_not_found: 'Fase {phase} no encontrada en el plan.',
919
+ registered: 'Plan de implementacion registrado: {planId} ({phases} fases)'
920
+ },
921
+ squad_plan: {
922
+ slug_required: 'El slug del squad es obligatorio.',
923
+ not_found: 'Plan de ejecucion no encontrado para el squad: {slug}',
924
+ no_runtime: 'Runtime store no encontrado. Ejecuta aioson runtime:init primero.',
925
+ no_plan: 'No hay plan de ejecucion registrado para el squad: {slug}',
926
+ no_created_date: 'El plan no tiene fecha de creacion en el frontmatter — no se puede verificar obsolescencia.',
927
+ is_stale: 'El plan de ejecucion esta OBSOLETO — los artefactos del squad cambiaron despues de la creacion del plan.',
928
+ is_fresh: 'El plan de ejecucion esta actualizado.',
929
+ checkpoint_usage: 'Uso: aioson squad:plan [path] --sub=checkpoint --squad=<slug> --round=<N>',
930
+ round_completed: 'Round {round} marcado como completado.',
931
+ round_not_found: 'Round {round} no encontrado en el plan.',
932
+ registered: 'Plan de ejecucion registrado: {planSlug} ({rounds} rounds)'
933
+ },
934
+
935
+ squad_learning: {
936
+ slug_required: 'El slug del squad es obligatorio.',
937
+ no_runtime: 'Runtime store no encontrado. Ejecuta aioson runtime:init primero.',
938
+ no_learnings: 'No se encontraron learnings para el squad: {slug}',
939
+ not_found: 'Learning no encontrado: {id}',
940
+ archived_count: '{count} learning(s) marcado(s) como obsoleto(s) para el squad: {slug}',
941
+ promote_usage: 'Uso: aioson squad:learning [path] --sub=promote --squad=<slug> --id=<learning-id> [--to=<ruta-regla>]',
942
+ promoted: 'Learning {id} promovido a regla en {path}'
943
+ },
944
+
945
+ learning: {
946
+ no_runtime: 'Runtime store no encontrado. Ejecuta aioson runtime:init primero.',
947
+ no_learnings: 'No se encontraron learnings de proyecto.',
948
+ not_found: 'Learning no encontrado: {id}',
949
+ promote_usage: 'Uso: aioson learning [path] --sub=promote --id=<learning-id> [--to=<ruta-regla>]',
950
+ promoted: 'Learning {id} promovido a regla en {path}'
717
951
  }
718
952
  };