@jaimevalasek/aioson 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/README.md +19 -2
  2. package/docs/pt/README.md +62 -2
  3. package/docs/pt/advisor-spec.md +5 -5
  4. package/docs/pt/agentes-customizados.md +670 -0
  5. package/docs/pt/agentes.md +111 -13
  6. package/docs/pt/automacao-squads.md +407 -0
  7. package/docs/pt/cenarios.md +3 -3
  8. package/docs/pt/clientes-ai.md +62 -0
  9. package/docs/pt/comandos-cli.md +167 -17
  10. package/docs/pt/deyvin.md +115 -0
  11. package/docs/pt/genome-3.0-spec.md +11 -11
  12. package/docs/pt/inicio-rapido.md +45 -0
  13. package/docs/pt/memoria-contexto.md +255 -0
  14. package/docs/pt/output-strategy-delivery.md +655 -0
  15. package/docs/pt/profiler-system.md +17 -17
  16. package/docs/pt/runtime-observability.md +5 -1
  17. package/docs/pt/skills.md +175 -0
  18. package/docs/pt/{squad-genoma.md → squad-genome.md} +81 -75
  19. package/docs/testing/genome-2.0-rollout.md +1 -1
  20. package/package.json +3 -3
  21. package/src/agents.js +21 -5
  22. package/src/backup-provider.js +303 -0
  23. package/src/cli.js +178 -2
  24. package/src/commands/agents.js +22 -4
  25. package/src/commands/backup.js +533 -0
  26. package/src/commands/cloud.js +17 -17
  27. package/src/commands/context-pack.js +45 -0
  28. package/src/commands/implementation-plan.js +340 -0
  29. package/src/commands/learning.js +134 -0
  30. package/src/commands/live.js +1583 -0
  31. package/src/commands/runtime.js +833 -2
  32. package/src/commands/scan-project.js +288 -24
  33. package/src/commands/setup-context.js +23 -0
  34. package/src/commands/skill.js +558 -0
  35. package/src/commands/squad-agent-create.js +788 -0
  36. package/src/commands/squad-doctor.js +51 -1
  37. package/src/commands/squad-investigate.js +261 -0
  38. package/src/commands/squad-learning.js +209 -0
  39. package/src/commands/squad-pipeline.js +247 -1
  40. package/src/commands/squad-plan.js +329 -0
  41. package/src/commands/squad-status.js +1 -1
  42. package/src/commands/squad-validate.js +57 -1
  43. package/src/commands/test-agents.js +6 -1
  44. package/src/commands/workflow-next.js +8 -1
  45. package/src/commands/workflow-status.js +250 -0
  46. package/src/constants.js +80 -16
  47. package/src/context-memory.js +837 -0
  48. package/src/context-writer.js +2 -0
  49. package/src/delivery-runner.js +319 -0
  50. package/src/genome-files.js +1 -1
  51. package/src/genome-format.js +1 -1
  52. package/src/i18n/messages/en.js +206 -7
  53. package/src/i18n/messages/es.js +123 -6
  54. package/src/i18n/messages/fr.js +122 -5
  55. package/src/i18n/messages/pt-BR.js +205 -12
  56. package/src/installer.js +30 -2
  57. package/src/lib/genomes/compat.js +1 -1
  58. package/src/runtime-store.js +780 -42
  59. package/src/session-handoff.js +77 -0
  60. package/template/.aioson/agents/analyst.md +36 -9
  61. package/template/.aioson/agents/architect.md +20 -5
  62. package/template/.aioson/agents/dev.md +135 -15
  63. package/template/.aioson/agents/deyvin.md +166 -0
  64. package/template/.aioson/agents/discovery-design-doc.md +25 -1
  65. package/template/.aioson/agents/{genoma.md → genome.md} +20 -20
  66. package/template/.aioson/agents/orache.md +371 -0
  67. package/template/.aioson/agents/orchestrator.md +37 -2
  68. package/template/.aioson/agents/pair.md +5 -0
  69. package/template/.aioson/agents/pm.md +17 -5
  70. package/template/.aioson/agents/product.md +58 -22
  71. package/template/.aioson/agents/profiler-enricher.md +1 -1
  72. package/template/.aioson/agents/profiler-forge.md +9 -9
  73. package/template/.aioson/agents/profiler-researcher.md +1 -1
  74. package/template/.aioson/agents/qa.md +17 -5
  75. package/template/.aioson/agents/setup.md +81 -5
  76. package/template/.aioson/agents/squad.md +675 -28
  77. package/template/.aioson/agents/ux-ui.md +277 -34
  78. package/template/.aioson/config.md +175 -0
  79. package/template/.aioson/context/spec.md.template +17 -0
  80. package/template/.aioson/genomes/.gitkeep +0 -0
  81. package/template/.aioson/installed-skills/.gitkeep +0 -0
  82. package/template/.aioson/locales/en/agents/analyst.md +26 -4
  83. package/template/.aioson/locales/en/agents/architect.md +10 -0
  84. package/template/.aioson/locales/en/agents/dev.md +89 -4
  85. package/template/.aioson/locales/en/agents/deyvin.md +129 -0
  86. package/template/.aioson/locales/en/agents/{genoma.md → genome.md} +14 -14
  87. package/template/.aioson/locales/en/agents/orchestrator.md +36 -2
  88. package/template/.aioson/locales/en/agents/pair.md +5 -0
  89. package/template/.aioson/locales/en/agents/pm.md +7 -0
  90. package/template/.aioson/locales/en/agents/product.md +35 -17
  91. package/template/.aioson/locales/en/agents/qa.md +7 -0
  92. package/template/.aioson/locales/en/agents/setup.md +51 -5
  93. package/template/.aioson/locales/en/agents/squad.md +203 -15
  94. package/template/.aioson/locales/en/agents/ux-ui.md +375 -35
  95. package/template/.aioson/locales/es/agents/analyst.md +16 -4
  96. package/template/.aioson/locales/es/agents/architect.md +10 -0
  97. package/template/.aioson/locales/es/agents/dev.md +70 -2
  98. package/template/.aioson/locales/es/agents/deyvin.md +89 -0
  99. package/template/.aioson/locales/es/agents/{genoma.md → genome.md} +13 -13
  100. package/template/.aioson/locales/es/agents/orache.md +103 -0
  101. package/template/.aioson/locales/es/agents/orchestrator.md +36 -2
  102. package/template/.aioson/locales/es/agents/pair.md +5 -0
  103. package/template/.aioson/locales/es/agents/pm.md +7 -0
  104. package/template/.aioson/locales/es/agents/product.md +13 -3
  105. package/template/.aioson/locales/es/agents/qa.md +7 -0
  106. package/template/.aioson/locales/es/agents/setup.md +28 -5
  107. package/template/.aioson/locales/es/agents/squad.md +221 -15
  108. package/template/.aioson/locales/es/agents/ux-ui.md +26 -25
  109. package/template/.aioson/locales/fr/agents/analyst.md +16 -4
  110. package/template/.aioson/locales/fr/agents/architect.md +10 -0
  111. package/template/.aioson/locales/fr/agents/dev.md +70 -2
  112. package/template/.aioson/locales/fr/agents/deyvin.md +89 -0
  113. package/template/.aioson/locales/fr/agents/{genoma.md → genome.md} +7 -7
  114. package/template/.aioson/locales/fr/agents/orache.md +104 -0
  115. package/template/.aioson/locales/fr/agents/orchestrator.md +36 -2
  116. package/template/.aioson/locales/fr/agents/pair.md +5 -0
  117. package/template/.aioson/locales/fr/agents/pm.md +7 -0
  118. package/template/.aioson/locales/fr/agents/product.md +13 -3
  119. package/template/.aioson/locales/fr/agents/qa.md +7 -0
  120. package/template/.aioson/locales/fr/agents/setup.md +28 -5
  121. package/template/.aioson/locales/fr/agents/squad.md +216 -10
  122. package/template/.aioson/locales/fr/agents/ux-ui.md +26 -25
  123. package/template/.aioson/locales/pt-BR/agents/analyst.md +26 -4
  124. package/template/.aioson/locales/pt-BR/agents/architect.md +10 -0
  125. package/template/.aioson/locales/pt-BR/agents/dev.md +93 -4
  126. package/template/.aioson/locales/pt-BR/agents/deyvin.md +129 -0
  127. package/template/.aioson/locales/pt-BR/agents/{genoma.md → genome.md} +49 -49
  128. package/template/.aioson/locales/pt-BR/agents/orache.md +137 -0
  129. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +36 -2
  130. package/template/.aioson/locales/pt-BR/agents/pair.md +5 -0
  131. package/template/.aioson/locales/pt-BR/agents/pm.md +7 -0
  132. package/template/.aioson/locales/pt-BR/agents/product.md +35 -17
  133. package/template/.aioson/locales/pt-BR/agents/qa.md +7 -0
  134. package/template/.aioson/locales/pt-BR/agents/setup.md +51 -5
  135. package/template/.aioson/locales/pt-BR/agents/squad.md +486 -47
  136. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +361 -22
  137. package/template/.aioson/my-agents/.gitkeep +0 -0
  138. package/template/.aioson/rules/.gitkeep +0 -0
  139. package/template/.aioson/rules/squad/.gitkeep +0 -0
  140. package/template/.aioson/rules/squad/README.md +50 -0
  141. package/template/.aioson/schemas/genome-meta.schema.json +1 -1
  142. package/template/.aioson/schemas/genome.schema.json +1 -1
  143. package/template/.aioson/schemas/squad-blueprint.schema.json +11 -0
  144. package/template/.aioson/schemas/squad-manifest.schema.json +257 -1
  145. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +157 -0
  146. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -0
  147. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +172 -0
  148. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +490 -0
  149. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +237 -0
  150. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -0
  151. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +350 -0
  152. package/template/.aioson/skills/design/interface-design/SKILL.md +47 -0
  153. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -0
  154. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -0
  155. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -0
  156. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -0
  157. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -0
  158. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -0
  159. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -0
  160. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -0
  161. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -0
  162. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -0
  163. package/template/.aioson/skills/design-system/SKILL.md +92 -0
  164. package/template/.aioson/skills/design-system/cognitive-core-ui.skill +0 -0
  165. package/template/.aioson/skills/design-system/components/SKILL.md +274 -0
  166. package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
  167. package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -0
  168. package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
  169. package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -0
  170. package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
  171. package/template/.aioson/skills/design-system/motion/SKILL.md +197 -0
  172. package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
  173. package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -0
  174. package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
  175. package/template/.aioson/skills/squad/SKILL.md +58 -0
  176. package/template/.aioson/skills/squad/domains/.gitkeep +0 -0
  177. package/template/.aioson/skills/squad/formats/.gitkeep +0 -0
  178. package/template/.aioson/skills/squad/patterns/.gitkeep +0 -0
  179. package/template/.aioson/skills/squad/references/.gitkeep +0 -0
  180. package/template/.aioson/tasks/implementation-plan.md +288 -0
  181. package/template/.aioson/tasks/squad-create.md +1 -1
  182. package/template/.aioson/tasks/squad-execution-plan.md +279 -0
  183. package/template/.aioson/tasks/squad-export.md +1 -1
  184. package/template/.aioson/tasks/squad-investigate.md +44 -0
  185. package/template/.aioson/tasks/squad-learning-review.md +44 -0
  186. package/template/.aioson/tasks/squad-output-config.md +177 -0
  187. package/template/.aioson/tasks/squad-validate.md +1 -1
  188. package/template/.claude/commands/aioson/agent/deyvin.md +5 -0
  189. package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -0
  190. package/template/.claude/commands/aioson/agent/genome.md +5 -0
  191. package/template/.claude/commands/aioson/agent/product.md +5 -0
  192. package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -0
  193. package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -0
  194. package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -0
  195. package/template/.claude/commands/aioson/agent/squad.md +5 -0
  196. package/template/.gemini/GEMINI.md +2 -0
  197. package/template/.gemini/commands/aios-deyvin.toml +6 -0
  198. package/template/.gemini/commands/aios-pair.toml +6 -0
  199. package/template/AGENTS.md +34 -6
  200. package/template/CLAUDE.md +31 -4
  201. package/template/OPENCODE.md +6 -2
  202. package/template/squad-searches/.gitkeep +0 -0
  203. package/template/.aioson/skills/static/interface-design.md +0 -372
  204. package/template/.aioson/skills/static/premium-command-center-ui.md +0 -190
  205. /package/template/.aioson/{genomas → docs}/.gitkeep +0 -0
  206. /package/template/.claude/commands/aioson/{analyst.md → agent/analyst.md} +0 -0
  207. /package/template/.claude/commands/aioson/{architect.md → agent/architect.md} +0 -0
  208. /package/template/.claude/commands/aioson/{dev.md → agent/dev.md} +0 -0
  209. /package/template/.claude/commands/aioson/{orchestrator.md → agent/orchestrator.md} +0 -0
  210. /package/template/.claude/commands/aioson/{pm.md → agent/pm.md} +0 -0
  211. /package/template/.claude/commands/aioson/{qa.md → agent/qa.md} +0 -0
  212. /package/template/.claude/commands/aioson/{setup.md → agent/setup.md} +0 -0
  213. /package/template/.claude/commands/aioson/{ux-ui.md → agent/ux-ui.md} +0 -0
@@ -11,19 +11,37 @@ O AIOSON tem agentes oficiais de projeto e também pode criar agentes de squad.
11
11
  ```
12
12
  @setup ← sempre o primeiro
13
13
  @product ← gera o PRD base vivo e roteia o fluxo
14
+ @deyvin ← companheiro tecnico para continuidade e pequenas implementacoes
14
15
  @discovery-design-doc ← quando precisa clarear escopo e gerar design doc vivo
15
16
  @analyst ← projetos SMALL e MEDIUM
16
17
  @architect ← projetos SMALL e MEDIUM
17
- @ux-ui ← quando há interfaces (SMALL e MEDIUM)
18
+ @ux-ui ← UI/UX quando há interfaces (SMALL e MEDIUM)
18
19
  @pm ← apenas MEDIUM
19
20
  @orchestrator ← apenas MEDIUM
20
21
  @dev ← sempre o último antes do QA
21
22
  @qa ← projetos SMALL e MEDIUM
22
23
  @squad ← cria squads especializados no projeto
23
- @genoma ← cria genomas de domínio reutilizáveis
24
+ @genome ← cria genomes de domínio reutilizáveis
24
25
  ```
25
26
 
26
- > Para o fluxo completo de `@squad` e `@genoma`, veja também [Squad e Genoma](./squad-genoma.md).
27
+ > Para o fluxo completo de `@squad` e `@genome`, veja também [Squad e Genome](./squad-genome.md).
28
+ > Para criar agentes customizados (my-agents e squad agents), veja [Agentes Customizados](./agentes-customizados.md).
29
+ > Para uma explicação focada no agente de continuidade, veja também [Deyvin](./deyvin.md).
30
+
31
+ ## Fluxo brownfield apos scan
32
+
33
+ Quando o projeto ja existe e voce roda `scan:project`, o handoff correto agora e:
34
+
35
+ ```text
36
+ scan:project -> @analyst -> @architect -> @dev
37
+ ```
38
+
39
+ Regras do fluxo:
40
+ - os artefatos locais do scan (`scan-index.md`, `scan-folders.md`, `scan-<pasta>.md`, `scan-aioson.md`) servem como mapas brutos do codigo
41
+ - `discovery.md` continua sendo a memoria comprimida que os agentes usam para entender o sistema sem reler tudo
42
+ - esse `discovery.md` pode ser gerado por `scan:project --with-llm` ou pelo `@analyst` usando os artefatos locais do scan
43
+ - `@architect`, `@ux-ui`, `@pm`, `@qa` e o fluxo de `@dev` nao devem pular direto dos mapas brutos para a execucao quando a tarefa depende do comportamento atual do sistema
44
+ - para continuidade de sessao, pequenas correcoes e implementacoes guiadas, `@deyvin` pode entrar depois que a memoria minima estiver pronta
27
45
 
28
46
  ---
29
47
 
@@ -77,6 +95,7 @@ O AIOSON tem agentes oficiais de projeto e também pode criar agentes de squad.
77
95
  - detecta sinais visuais cedo e preserva a intenção no PRD
78
96
  - faz classificação preliminar do escopo
79
97
  - aponta o próximo agente do fluxo
98
+ - em brownfield, usa `discovery.md` quando já existir e trata os artefatos locais do scan apenas como orientação estrutural, nunca como substituto do `@analyst`
80
99
 
81
100
  **Como ativar:**
82
101
  ```
@@ -95,6 +114,64 @@ O AIOSON tem agentes oficiais de projeto e também pode criar agentes de squad.
95
114
 
96
115
  ---
97
116
 
117
+ ## @deyvin
118
+
119
+ **Quando usar:** Quando voce quer continuar uma sessao anterior, entender o que foi feito por ultimo, corrigir uma tarefa pequena, investigar um bug ou implementar em modo colaborativo.
120
+
121
+ **O que faz:**
122
+ - atua como um companheiro tecnico de continuidade
123
+ - le primeiro a memoria do projeto e o runtime antes de ir ao Git
124
+ - verifica sempre `.aioson/rules/` e os docs apontados por essas rules
125
+ - resume o que ja esta confirmado sobre o estado atual
126
+ - pergunta o que voce quer fazer agora
127
+ - toca passos pequenos de implementacao, correcao e validacao
128
+ - encaminha para `@product`, `@discovery-design-doc`, `@analyst`, `@architect`, `@ux-ui`, `@dev` ou `@qa` quando a tarefa sair do modo pair
129
+
130
+ **Ordem mental de contexto do `@deyvin`:**
131
+ 1. `project.context.md`
132
+ 2. `.aioson/rules/`
133
+ 3. `.aioson/docs/`
134
+ 4. `context-pack.md` quando existir e combinar com a tarefa
135
+ 5. `memory-index.md`
136
+ 6. `spec-current.md` + `spec-history.md`
137
+ 7. `spec.md`
138
+ 8. `features.md` e artefatos da feature em andamento, se houver
139
+ 9. `skeleton-system.md`, `discovery.md`, `architecture.md`
140
+ 10. runtime SQLite
141
+ 11. Git como fallback
142
+
143
+ **Como ativar:**
144
+ ```
145
+ /deyvin
146
+ ```
147
+
148
+ Alias compativel:
149
+ ```text
150
+ @pair
151
+ ```
152
+
153
+ **Exemplos bons de uso:**
154
+ ```text
155
+ @deyvin ve o que fizemos ontem e vamos continuar
156
+ @deyvin revisa as ultimas tasks do runtime e me diga onde paramos
157
+ @deyvin vamos corrigir esse bug pequeno juntos
158
+ @deyvin leia as rules ativas, veja os docs relacionados e ajuste esse fluxo
159
+ ```
160
+
161
+ **Entrega esperada:**
162
+ - resumo curto do ultimo contexto confirmado
163
+ - proximo passo pequeno e objetivo
164
+ - implementacao/correcao em lote pequeno
165
+ - atualizacao de `spec.md` ou `spec-{slug}.md` quando fizer sentido
166
+
167
+ **Regra importante:**
168
+ - `@deyvin` nao substitui discovery, produto ou arquitetura formal
169
+ - quando a demanda cresce demais ou fica vaga, ele deve fazer handoff em vez de fingir que tudo cabe numa sessao de continuidade
170
+ - se o pedido abrir projeto novo, greenfield, feature grande, escopo contraditorio ou misturar produto + UX + implementacao, o `@deyvin` deve fazer handoff imediato e nao comecar a codar
171
+ - se voce quiser uma explicacao mais direta e focada no uso dele, consulte [Deyvin](./deyvin.md)
172
+
173
+ ---
174
+
98
175
  ## @analyst
99
176
 
100
177
  **Quando usar:** Projetos SMALL e MEDIUM, antes de @architect.
@@ -106,6 +183,7 @@ O AIOSON tem agentes oficiais de projeto e também pode criar agentes de squad.
106
183
  - Identifica integrações externas e riscos
107
184
  - Em modo feature, passa a consumir `design-doc.md` e `readiness.md` quando já existirem
108
185
  - Usa skills e documentos sob demanda para evitar reabrir discovery desnecessária
186
+ - em brownfield, pode gerar `discovery.md` diretamente a partir de `scan-index.md`, `scan-folders.md`, `scan-<pasta>.md` e `scan-aioson.md`, mesmo sem API configurada no `aioson`
109
187
 
110
188
  **Como ativar:**
111
189
  ```
@@ -174,6 +252,7 @@ O AIOSON tem agentes oficiais de projeto e também pode criar agentes de squad.
174
252
  - Define padrões de código para o time
175
253
  - Usa `design-doc.md` como documento de decisão do escopo atual
176
254
  - Respeita `readiness.md`; se a prontidão ainda estiver baixa, devolve bloqueios em vez de fingir certeza
255
+ - só deve arquitetar em cima de `discovery.md`; se houver apenas artefatos brutos de scan, o passo correto ainda é `@analyst` antes
177
256
 
178
257
  **Como ativar:**
179
258
  ```
@@ -200,7 +279,7 @@ tests/
200
279
 
201
280
  ---
202
281
 
203
- ## @ux-ui
282
+ ## UI/UX (`@ux-ui`)
204
283
 
205
284
  **Quando usar:** Quando o projeto tem interfaces (web apps, landing pages com formulários). SMALL e MEDIUM.
206
285
 
@@ -213,19 +292,36 @@ tests/
213
292
  - Decide dark/light e direção visual de forma autônoma quando o contexto já for suficiente
214
293
  - Só pergunta preferência estética quando a ambiguidade realmente mudar a solução
215
294
  - Carrega `premium-command-center-ui` apenas quando houver pedido explícito de interface operacional premium ou quando essa skill já estiver registrada no PRD
295
+ - em brownfield, usa `discovery.md` como memória comprimida do sistema; se esse arquivo ainda não existir e o trabalho depender do comportamento atual da aplicação, o próximo passo correto é `@analyst`
216
296
 
217
- **Como ativar:**
297
+ **Como ativar o agente UI/UX:**
218
298
  ```
219
299
  /ux-ui
220
300
  ```
221
301
 
222
- **Entrega:** Arquivo `.aioson/context/ui-spec.md` com:
302
+ **Submodos disponíveis:**
303
+ ```
304
+ /ux-ui research → pesquisa visual e hipóteses de direção
305
+ /ux-ui audit → auditoria com inventário, achados por severidade e plano de consolidação
306
+ /ux-ui tokens → contrato formal de design tokens (primitivos, semânticos, escalas)
307
+ /ux-ui component-map → mapeamento de componentes (Atomic Design), gap analysis
308
+ /ux-ui a11y → auditoria WCAG focada, integração com @qa
309
+ ```
310
+
311
+ **Entrega principal:** Arquivo `.aioson/context/ui-spec.md` com:
223
312
  - Sistema de design (tokens, cores, tipografia)
224
313
  - Componentes principais e estados
225
314
  - Fluxos de navegação
226
315
  - Checklist de acessibilidade
227
316
  - Enriquecimento da seção `Identidade visual` do PRD, sem reescrever visão, problema ou usuários
228
317
 
318
+ **Entregas dos submodos** (opcionais, em `.aioson/context/`):
319
+ - `ui-research.md` — benchmarking visual e direções
320
+ - `ui-audit.md` — inventário + achados + plano de consolidação
321
+ - `ui-tokens.md` — contrato de tokens com posse (`:root` vs `[data-theme]`)
322
+ - `ui-component-map.md` — catálogo de componentes com variantes e estados
323
+ - `ui-a11y.md` — relatório WCAG com checks automatizados e manuais
324
+
229
325
  > Se o usuário disser para o agente seguir sozinho, o comportamento esperado é decidir a direção visual com base no contexto do produto e continuar sem abrir questionário de estilo.
230
326
 
231
327
  ---
@@ -239,6 +335,7 @@ tests/
239
335
  - Define ordem de entrega sem apagar a intenção original de produto
240
336
  - Adiciona critérios de aceite compactos quando isso trouxer clareza para execução e QA
241
337
  - Preserva identidade visual, visão, problema, usuários e demais seções já existentes
338
+ - usa `discovery.md` e `architecture.md` como base; não deve priorizar diretamente a partir de mapas brutos de scan
242
339
 
243
340
  **Como ativar:**
244
341
  ```
@@ -323,32 +420,32 @@ npx @jaimevalasek/aioson parallel:status
323
420
  - Metadata do squad
324
421
  - Estrutura de output, logs, mídia e sessão
325
422
 
326
- > Guia completo: [Squad e Genoma](./squad-genoma.md)
423
+ > Guia completo: [Squad e Genome](./squad-genome.md)
327
424
 
328
425
  ---
329
426
 
330
- ## @genoma
427
+ ## @genome
331
428
 
332
429
  **Quando usar:** Quando você quer criar uma base de conhecimento de domínio reutilizável e aplicá-la a squads ou agentes específicos.
333
430
 
334
431
  **O que faz:**
335
432
  - Gera `O que saber`, `Mentes` e `Skills`
336
- - Pode salvar em `.aioson/genomas/`
433
+ - Pode salvar em `.aioson/genomes/`
337
434
  - Pode ser aplicado depois a um squad já existente
338
435
  - Atua como camada cognitiva do sistema, não como executor
339
436
 
340
437
  **Como ativar:**
341
438
  ```
342
- @genoma
439
+ @genome
343
440
  ```
344
441
 
345
442
  **Entrega:**
346
- - Genoma estruturado
443
+ - Genome estruturado
347
444
  - Opcionalmente, vínculo persistente com um squad
348
445
 
349
446
  **Não confundir:**
350
447
  - `skill` = capacidade operacional
351
- - `genoma` = forma de pensar, lentes e repertório
448
+ - `genome` = forma de pensar, lentes e repertório
352
449
  - `executor` = quem faz o trabalho
353
450
  - `subagente` = investigação temporária
354
451
 
@@ -357,7 +454,7 @@ Quando uma skill vier do catálogo online ou de outro pacote, ela deve ser salva
357
454
 
358
455
  Depois disso, ela passa a ser parte real do pacote local da squad e deve ser considerada pelos agentes sob demanda.
359
456
 
360
- > Guia completo: [Squad e Genoma](./squad-genoma.md)
457
+ > Guia completo: [Squad e Genome](./squad-genome.md)
361
458
 
362
459
  ---
363
460
 
@@ -411,6 +508,7 @@ Depois disso, ela passa a ser parte real do pacote local da squad e deve ser con
411
508
  - Escreve testes unitários e de integração
412
509
  - Identifica casos de borda não cobertos
413
510
  - Valida se os critérios de aceite foram atendidos
511
+ - usa `discovery.md` como fonte de regras e relacionamentos; se só existirem artefatos de scan, o fluxo correto ainda passa por `@analyst`
414
512
 
415
513
  **Como ativar:**
416
514
  ```
@@ -0,0 +1,407 @@
1
+ # Automação de Squads — LLM-to-Script
2
+
3
+ > Como transformar processos de squad em scripts executáveis que rodam sem LLM.
4
+
5
+ ---
6
+
7
+ ## Conceito
8
+
9
+ Toda vez que uma squad executa uma tarefa, custa tokens de LLM. Mas muitos processos seguem padrões repetíveis — mesma entrada, mesma transformação, mesma estrutura de saída. Quando isso acontece, o trabalho pode virar um **script que roda sozinho**: local, em CI/CD, cron, serverless ou qualquer ambiente.
10
+
11
+ O fluxo:
12
+
13
+ ```
14
+ Squad produz output com LLM
15
+
16
+ Orquestrador analisa: "isso pode virar script?"
17
+
18
+ Cria script plan em script-plans/
19
+
20
+ Usuário revisa e aprova
21
+
22
+ LLM gera o script em scripts/
23
+
24
+ Script roda sem LLM — custo zero por execução
25
+ ```
26
+
27
+ ---
28
+
29
+ ## Quando funciona bem
30
+
31
+ A automação faz sentido quando o processo é **determinístico** — mesma entrada sempre produz a mesma saída.
32
+
33
+ **Bons candidatos:**
34
+ - Formatação de dados (CSV → JSON, Markdown → HTML)
35
+ - Preenchimento de templates (relatórios semanais, newsletters)
36
+ - Extração de informações de documentos estruturados
37
+ - Validação contra regras fixas (checklists, conformidade)
38
+ - Transformações de texto com padrões claros (slugify, normalizar, limpar)
39
+ - Geração de relatórios a partir de dados tabulares
40
+ - Pipeline de preparação de conteúdo (metadata, tags, categorização por regra)
41
+
42
+ **Não automatize:**
43
+ - Trabalho criativo (escrever copy original, brainstorming)
44
+ - Tarefas que precisam de pesquisa web ou dados em tempo real
45
+ - Processos onde o julgamento da LLM é o valor principal (code review, análise estratégica)
46
+ - Tarefas únicas que nunca vão se repetir
47
+
48
+ ---
49
+
50
+ ## Como usar
51
+
52
+ ### Opção 1: O orquestrador oferece
53
+
54
+ Depois de uma sessão produtiva, o orquestrador da squad automaticamente avalia se o processo pode ser automatizado. Se a viabilidade for média ou alta, ele oferece:
55
+
56
+ > "Esse processo parece automatizável. Quer que eu analise se pode virar um script standalone que roda sem LLM?"
57
+
58
+ Se você aceitar, ele cria o script plan. Se recusar, segue em frente.
59
+
60
+ ### Opção 2: Você pede explicitamente
61
+
62
+ ```
63
+ @squad automate youtube-creator
64
+ ```
65
+
66
+ Isso analisa as sessões recentes da squad e propõe automações para os processos mais repetitivos.
67
+
68
+ ---
69
+
70
+ ## Fase 1: Script plan
71
+
72
+ O script plan é um documento de análise que avalia **o que** pode ser automatizado e **como**.
73
+
74
+ Fica em: `.aioson/squads/{slug}/script-plans/{plan-slug}.md`
75
+
76
+ ### Exemplo real: formatador de roteiros
77
+
78
+ Imagine uma squad de YouTube onde o roteirista sempre recebe um briefing e produz um roteiro no mesmo formato: hook, desenvolvimento, CTA, descrição do vídeo.
79
+
80
+ O script plan seria:
81
+
82
+ ```markdown
83
+ # Script Plan: format-youtube-script
84
+
85
+ **Status:** proposed
86
+ **Squad:** youtube-creator
87
+ **Session:** 2026-03-20-roteiro-ingles
88
+ **Language:** python
89
+ **Feasibility:** high
90
+
91
+ ## What the LLM did
92
+ Recebeu um briefing com tema, público-alvo e estilo.
93
+ Produziu um roteiro com estrutura fixa: hook (3 opções),
94
+ desenvolvimento (3 blocos), CTA, descrição e tags.
95
+
96
+ ## Automation feasibility analysis
97
+
98
+ ### Can be automated
99
+ - Leitura do briefing a partir de template JSON
100
+ - Estruturação das seções (hook, blocos, CTA)
101
+ - Geração da descrição a partir de template com variáveis
102
+ - Formatação final em Markdown com frontmatter
103
+
104
+ ### Cannot be automated
105
+ - Escrita criativa do conteúdo dos hooks
106
+ - Escolha da narrativa nos blocos de desenvolvimento
107
+ - Adaptação do tom ao público-alvo
108
+
109
+ ### Feasibility verdict
110
+ Medium — a estrutura e formatação podem ser automatizadas,
111
+ mas o conteúdo criativo ainda precisa de LLM.
112
+ O script pode gerar o scaffold e pré-preencher seções fixas,
113
+ economizando ~40% do trabalho do agente.
114
+
115
+ ## Script design
116
+
117
+ ### Inputs
118
+ | Name | Type | Source | Example |
119
+ |------|------|--------|---------|
120
+ | briefing | JSON | arquivo local | {"tema":"inglês","publico":"25-40","estilo":"direto"} |
121
+ | template | Markdown | squad templates | roteiro-tmpl.md |
122
+
123
+ ### Process
124
+ 1. Ler briefing JSON
125
+ 2. Carregar template de roteiro
126
+ 3. Preencher variáveis fixas (tema, público, data)
127
+ 4. Gerar estrutura das seções com placeholders
128
+ 5. Adicionar frontmatter com metadata
129
+ 6. Escrever arquivo Markdown de saída
130
+
131
+ ### Outputs
132
+ | Name | Format | Location |
133
+ |------|--------|----------|
134
+ | roteiro-scaffold | Markdown | output/youtube-creator/ |
135
+
136
+ ### Dependencies
137
+ - Nenhuma (stdlib Python)
138
+
139
+ ### Limitations
140
+ - Não gera conteúdo criativo — apenas o scaffold
141
+ - Não substitui o agente para roteiros que fogem do template padrão
142
+
143
+ ## Estimated effort
144
+ Small (< 100 lines)
145
+ ```
146
+
147
+ ### Status do script plan
148
+
149
+ | Status | Significado |
150
+ |--------|-------------|
151
+ | `proposed` | Análise feita, aguardando aprovação |
152
+ | `approved` | Usuário aprovou, pronto para gerar script |
153
+ | `implemented` | Script gerado e funcional |
154
+ | `rejected` | Usuário considerou inviável ou desnecessário |
155
+
156
+ ---
157
+
158
+ ## Fase 2: Geração do script
159
+
160
+ Quando você revisa o plan e diz "ok" / "pode gerar" / "implementa":
161
+
162
+ 1. O status do plan muda para `approved`
163
+ 2. A LLM gera o script em `.aioson/squads/{slug}/scripts/{script-slug}.py` (ou `.js`)
164
+ 3. O status muda para `implemented`
165
+ 4. O manifesto da squad é atualizado com a automação
166
+
167
+ ### Requisitos do script gerado
168
+
169
+ Todo script deve ser **self-contained e executável**:
170
+
171
+ ```bash
172
+ # Python
173
+ python .aioson/squads/youtube-creator/scripts/format-youtube-script.py --help
174
+ python .aioson/squads/youtube-creator/scripts/format-youtube-script.py --input=briefing.json --output=output/
175
+
176
+ # Node.js
177
+ node .aioson/squads/data-pipeline/scripts/csv-to-dashboard.js --input=report.csv --output=dashboard.json
178
+ ```
179
+
180
+ **Obrigatório em todo script:**
181
+ - Header com nome, origem (plan), e usage
182
+ - Parse de argumentos CLI (`--input`, `--output`, `--help`, `--dry-run`)
183
+ - Leitura de input via arquivo ou stdin
184
+ - Escrita de output via arquivo ou stdout
185
+ - Tratamento de erros com mensagens claras
186
+ - Zero paths hardcoded — tudo via argumentos
187
+ - Se precisar de pacotes externos, listar no header com instrução de install
188
+
189
+ ### Exemplo de script gerado
190
+
191
+ ```python
192
+ #!/usr/bin/env python3
193
+ """
194
+ format-youtube-script — generated from squad:youtube-creator
195
+ Plan: script-plans/format-youtube-script.md
196
+
197
+ Gera scaffold de roteiro de YouTube a partir de briefing JSON.
198
+
199
+ Usage:
200
+ python format-youtube-script.py --input=briefing.json [--output=roteiro.md] [--template=tmpl.md]
201
+ python format-youtube-script.py --help
202
+ echo '{"tema":"..."}' | python format-youtube-script.py
203
+ """
204
+
205
+ import argparse
206
+ import json
207
+ import sys
208
+ from datetime import date
209
+ from pathlib import Path
210
+
211
+
212
+ def load_input(input_path):
213
+ if input_path == '-' or input_path is None:
214
+ return json.load(sys.stdin)
215
+ return json.loads(Path(input_path).read_text())
216
+
217
+
218
+ def generate_scaffold(briefing, template_path=None):
219
+ tema = briefing.get('tema', 'Sem tema')
220
+ publico = briefing.get('publico', 'Geral')
221
+ estilo = briefing.get('estilo', 'neutro')
222
+ today = date.today().isoformat()
223
+
224
+ sections = [
225
+ f'---',
226
+ f'tema: {tema}',
227
+ f'publico: {publico}',
228
+ f'estilo: {estilo}',
229
+ f'data: {today}',
230
+ f'status: scaffold',
231
+ f'---',
232
+ f'',
233
+ f'# Roteiro: {tema}',
234
+ f'',
235
+ f'## Hook (escolher 1 de 3)',
236
+ f'1. [Hook opção A]',
237
+ f'2. [Hook opção B]',
238
+ f'3. [Hook opção C]',
239
+ f'',
240
+ f'## Desenvolvimento',
241
+ f'',
242
+ f'### Bloco 1',
243
+ f'[Conteúdo do primeiro bloco]',
244
+ f'',
245
+ f'### Bloco 2',
246
+ f'[Conteúdo do segundo bloco]',
247
+ f'',
248
+ f'### Bloco 3',
249
+ f'[Conteúdo do terceiro bloco]',
250
+ f'',
251
+ f'## CTA',
252
+ f'[Call to action]',
253
+ f'',
254
+ f'## Descrição do vídeo',
255
+ f'[Descrição para o YouTube]',
256
+ f'',
257
+ f'## Tags',
258
+ f'[Lista de tags]',
259
+ ]
260
+ return '\n'.join(sections)
261
+
262
+
263
+ def main():
264
+ parser = argparse.ArgumentParser(description='Generate YouTube script scaffold from briefing')
265
+ parser.add_argument('--input', '-i', help='Path to briefing JSON (or - for stdin)')
266
+ parser.add_argument('--output', '-o', help='Output path (default: stdout)')
267
+ parser.add_argument('--template', '-t', help='Optional template file')
268
+ parser.add_argument('--dry-run', action='store_true', help='Show what would be generated')
269
+ args = parser.parse_args()
270
+
271
+ briefing = load_input(args.input)
272
+ result = generate_scaffold(briefing, args.template)
273
+
274
+ if args.dry_run:
275
+ print(f'[dry-run] Would generate {len(result)} chars')
276
+ print(f'[dry-run] Tema: {briefing.get("tema")}')
277
+ return
278
+
279
+ if args.output:
280
+ Path(args.output).write_text(result)
281
+ print(f'Scaffold saved to {args.output}')
282
+ else:
283
+ print(result)
284
+
285
+
286
+ if __name__ == '__main__':
287
+ main()
288
+ ```
289
+
290
+ ---
291
+
292
+ ## Fase 3: Iteração
293
+
294
+ Se o script não funciona perfeitamente na primeira vez:
295
+
296
+ 1. Reporte o problema: "O script não trata briefings sem campo 'estilo'"
297
+ 2. A LLM corrige o script no mesmo arquivo
298
+ 3. O plan ganha uma seção `## Iterations` documentando as mudanças
299
+
300
+ ---
301
+
302
+ ## Registro no manifesto
303
+
304
+ Quando um script é implementado, ele aparece no `squad.manifest.json`:
305
+
306
+ ```json
307
+ {
308
+ "automations": [
309
+ {
310
+ "slug": "format-youtube-script",
311
+ "plan": "script-plans/format-youtube-script.md",
312
+ "script": "scripts/format-youtube-script.py",
313
+ "language": "python",
314
+ "status": "implemented",
315
+ "createdFrom": "2026-03-20-roteiro-ingles",
316
+ "inputs": ["briefing JSON com tema, público e estilo"],
317
+ "outputs": ["scaffold de roteiro em Markdown"]
318
+ }
319
+ ]
320
+ }
321
+ ```
322
+
323
+ ---
324
+
325
+ ## Estrutura de pastas
326
+
327
+ ```
328
+ .aioson/squads/{squad-slug}/
329
+ script-plans/
330
+ format-youtube-script.md ← análise de viabilidade
331
+ validate-seo-checklist.md ← outro plan
332
+ scripts/
333
+ format-youtube-script.py ← script aprovado e implementado
334
+ validate-seo-checklist.js ← outro script
335
+ ```
336
+
337
+ ---
338
+
339
+ ## Exemplos de automação por tipo de squad
340
+
341
+ ### Squad de conteúdo
342
+
343
+ | Processo | Viabilidade | Tipo de script |
344
+ |----------|-------------|----------------|
345
+ | Formatar roteiro a partir de briefing | Alta | Python — template filling |
346
+ | Gerar metadata de vídeo (tags, descrição) | Média | Python — regras + template |
347
+ | Converter roteiro Markdown → teleprompter HTML | Alta | Node.js — parser + template |
348
+ | Analisar retenção de vídeo | Baixa | Precisa de API do YouTube |
349
+
350
+ ### Squad de dados/relatórios
351
+
352
+ | Processo | Viabilidade | Tipo de script |
353
+ |----------|-------------|----------------|
354
+ | CSV → JSON normalizado | Alta | Python — pandas ou csv stdlib |
355
+ | Gerar relatório semanal a partir de dados | Alta | Python — template + dados |
356
+ | Validar conformidade de dataset | Alta | Python — regras fixas |
357
+ | Dashboard estático a partir de métricas | Alta | Node.js — chart.js + template |
358
+
359
+ ### Squad de desenvolvimento
360
+
361
+ | Processo | Viabilidade | Tipo de script |
362
+ |----------|-------------|----------------|
363
+ | Gerar migration a partir de spec | Média | Node.js — parser de spec |
364
+ | Scaffold de CRUD completo | Alta | Node.js — templates de código |
365
+ | Validar PR contra checklist | Alta | Python — regex + regras |
366
+ | Gerar changelog a partir de commits | Alta | Python — git log parser |
367
+
368
+ ### Squad jurídico
369
+
370
+ | Processo | Viabilidade | Tipo de script |
371
+ |----------|-------------|----------------|
372
+ | Formatar contrato a partir de template | Alta | Python — docx/md template |
373
+ | Extrair cláusulas de documento | Média | Python — regex patterns |
374
+ | Gerar checklist de compliance | Alta | Python — regras fixas |
375
+ | Analisar risco de contrato | Baixa | Julgamento humano/LLM |
376
+
377
+ ---
378
+
379
+ ## Boas práticas
380
+
381
+ 1. **Comece pelo plan.** Não peça script direto — o plan força a análise de viabilidade antes de investir esforço na implementação.
382
+
383
+ 2. **Seja honesto com a viabilidade.** "Medium" é uma resposta válida. Um script que faz 60% do trabalho e deixa os 40% criativos para o LLM já economiza muito.
384
+
385
+ 3. **Prefira Python ou Node.js com zero dependências.** Um script que precisa de `pip install` com 10 pacotes é mais difícil de rodar em qualquer ambiente.
386
+
387
+ 4. **Use `--dry-run` em tudo.** O script deve poder mostrar o que faria sem fazer de fato.
388
+
389
+ 5. **Não force automação em trabalho criativo.** Se o valor da squad é a criatividade dos agentes, automação não é o caminho — e tudo bem.
390
+
391
+ 6. **Itere.** O primeiro script raramente é perfeito. A vantagem é que a LLM que gerou o script também pode corrigi-lo.
392
+
393
+ ---
394
+
395
+ ## Relação com workers
396
+
397
+ A squad já tem o conceito de `worker` (tipo de executor determinístico em `workers/`). A diferença:
398
+
399
+ | | Worker | Automation script |
400
+ |---|---|---|
401
+ | **Criado quando** | Na montagem da squad | Depois de uma sessão produtiva |
402
+ | **Origem** | Planejado previamente | Extraído de um processo real |
403
+ | **Localização** | `workers/` | `scripts/` |
404
+ | **Tem plan** | Não | Sim (em `script-plans/`) |
405
+ | **Evolução** | Editado manualmente | Iterado com ajuda da LLM |
406
+
407
+ Workers são definidos na criação da squad para tarefas que **já se sabe** serem determinísticas. Scripts de automação nascem da observação de que um processo executado por agentes LLM **pode** ser replicado sem LLM.
@@ -354,7 +354,7 @@ Plano de execução:
354
354
  1. /product → PRD base vivo
355
355
  2. /analyst → discovery e modelagem de domínio
356
356
  3. /architect → estrutura de pastas Next.js MEDIUM + decisões técnicas
357
- 4. /ux-ui → sistema de design e componentes
357
+ 4. /ux-ui → UI/UX, sistema de design e componentes
358
358
  5. /pm → priorização e critérios de aceite no PRD vivo
359
359
  6. /orchestrator → lanes de desenvolvimento paralelo
360
360
  7. /dev → implementação por lane
@@ -408,7 +408,7 @@ src/
408
408
  types/
409
409
  ```
410
410
 
411
- ### Passo 6: @ux-ui
411
+ ### Passo 6: UI/UX (`@ux-ui`)
412
412
 
413
413
  ```
414
414
  /ux-ui
@@ -420,7 +420,7 @@ Precisamos de:
420
420
  - Página de configurações de billing
421
421
  ```
422
422
 
423
- **O @ux-ui entrega** `.aioson/context/ui-spec.md`:
423
+ **O agente UI/UX (`@ux-ui`) entrega** `.aioson/context/ui-spec.md`:
424
424
  - Tokens: primary=#6366F1, gray scale, radius-md=8px
425
425
  - Componentes: ProjectCard, TaskCard, KanbanBoard, Sidebar, BillingModal
426
426
  - Estados: loading skeleton, empty state, error state para cada componente