@jaimevalasek/aioson 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/CHANGELOG.md +456 -0
  2. package/CODE_OF_CONDUCT.md +12 -0
  3. package/CONTRIBUTING.md +13 -0
  4. package/LICENSE +21 -0
  5. package/README.md +254 -0
  6. package/bin/aioson.js +4 -0
  7. package/docs/en/cli-reference.md +398 -0
  8. package/docs/en/i18n.md +52 -0
  9. package/docs/en/json-schemas.md +41 -0
  10. package/docs/en/mcp.md +56 -0
  11. package/docs/en/parallel.md +82 -0
  12. package/docs/en/qa-browser.md +339 -0
  13. package/docs/en/release-flow.md +22 -0
  14. package/docs/en/release-notes-template.md +41 -0
  15. package/docs/en/release.md +28 -0
  16. package/docs/en/schemas/agent-prompt.schema.json +17 -0
  17. package/docs/en/schemas/agents.schema.json +32 -0
  18. package/docs/en/schemas/context-validate.schema.json +36 -0
  19. package/docs/en/schemas/doctor.schema.json +89 -0
  20. package/docs/en/schemas/error.schema.json +24 -0
  21. package/docs/en/schemas/i18n-add.schema.json +15 -0
  22. package/docs/en/schemas/index.json +116 -0
  23. package/docs/en/schemas/info.schema.json +39 -0
  24. package/docs/en/schemas/init.schema.json +48 -0
  25. package/docs/en/schemas/install.schema.json +60 -0
  26. package/docs/en/schemas/locale-apply.schema.json +30 -0
  27. package/docs/en/schemas/mcp-doctor.schema.json +95 -0
  28. package/docs/en/schemas/mcp-init.schema.json +122 -0
  29. package/docs/en/schemas/package-test.schema.json +24 -0
  30. package/docs/en/schemas/parallel-assign.schema.json +57 -0
  31. package/docs/en/schemas/parallel-doctor.schema.json +86 -0
  32. package/docs/en/schemas/parallel-init.schema.json +53 -0
  33. package/docs/en/schemas/parallel-status.schema.json +94 -0
  34. package/docs/en/schemas/setup-context.schema.json +39 -0
  35. package/docs/en/schemas/smoke.schema.json +23 -0
  36. package/docs/en/schemas/update.schema.json +48 -0
  37. package/docs/en/schemas/workflow-plan.schema.json +30 -0
  38. package/docs/en/web3.md +54 -0
  39. package/docs/pt/README.md +46 -0
  40. package/docs/pt/advisor-spec.md +335 -0
  41. package/docs/pt/agentes.md +453 -0
  42. package/docs/pt/cenarios.md +1230 -0
  43. package/docs/pt/clientes-ai.md +224 -0
  44. package/docs/pt/comandos-cli.md +511 -0
  45. package/docs/pt/genome-3.0-spec.md +296 -0
  46. package/docs/pt/guia-engineer.md +226 -0
  47. package/docs/pt/inicio-rapido.md +138 -0
  48. package/docs/pt/profiler-system.md +214 -0
  49. package/docs/pt/runtime-observability.md +72 -0
  50. package/docs/pt/squad-genoma.md +777 -0
  51. package/docs/pt/web3.md +797 -0
  52. package/docs/testing/genome-2.0-manual-regression.md +23 -0
  53. package/docs/testing/genome-2.0-matrix.md +36 -0
  54. package/docs/testing/genome-2.0-rollout.md +184 -0
  55. package/package.json +50 -0
  56. package/src/agents.js +56 -0
  57. package/src/cli.js +497 -0
  58. package/src/commands/agents.js +142 -0
  59. package/src/commands/cloud.js +1767 -0
  60. package/src/commands/config.js +90 -0
  61. package/src/commands/context-validate.js +91 -0
  62. package/src/commands/doctor.js +123 -0
  63. package/src/commands/genome-doctor.js +41 -0
  64. package/src/commands/genome-migrate.js +49 -0
  65. package/src/commands/i18n-add.js +56 -0
  66. package/src/commands/info.js +41 -0
  67. package/src/commands/init.js +75 -0
  68. package/src/commands/install.js +68 -0
  69. package/src/commands/locale-apply.js +51 -0
  70. package/src/commands/locale-diff.js +126 -0
  71. package/src/commands/mcp-doctor.js +406 -0
  72. package/src/commands/mcp-init.js +379 -0
  73. package/src/commands/package-e2e.js +273 -0
  74. package/src/commands/parallel-assign.js +403 -0
  75. package/src/commands/parallel-doctor.js +437 -0
  76. package/src/commands/parallel-init.js +249 -0
  77. package/src/commands/parallel-status.js +290 -0
  78. package/src/commands/qa-doctor.js +185 -0
  79. package/src/commands/qa-init.js +161 -0
  80. package/src/commands/qa-report.js +58 -0
  81. package/src/commands/qa-run.js +873 -0
  82. package/src/commands/qa-scan.js +337 -0
  83. package/src/commands/runtime.js +948 -0
  84. package/src/commands/scan-project.js +1107 -0
  85. package/src/commands/setup-context.js +650 -0
  86. package/src/commands/smoke.js +426 -0
  87. package/src/commands/squad-doctor.js +358 -0
  88. package/src/commands/squad-export.js +46 -0
  89. package/src/commands/squad-pipeline.js +97 -0
  90. package/src/commands/squad-repair-genomes.js +39 -0
  91. package/src/commands/squad-status.js +424 -0
  92. package/src/commands/squad-validate.js +230 -0
  93. package/src/commands/test-agents.js +194 -0
  94. package/src/commands/update.js +55 -0
  95. package/src/commands/workflow-next.js +594 -0
  96. package/src/commands/workflow-plan.js +108 -0
  97. package/src/constants.js +314 -0
  98. package/src/context-parse-reason.js +22 -0
  99. package/src/context-writer.js +150 -0
  100. package/src/context.js +217 -0
  101. package/src/detector.js +261 -0
  102. package/src/doctor.js +289 -0
  103. package/src/execution-gateway.js +461 -0
  104. package/src/genome-files.js +198 -0
  105. package/src/genome-format.js +442 -0
  106. package/src/genome-schema.js +215 -0
  107. package/src/genomes/bindings.js +281 -0
  108. package/src/genomes.js +467 -0
  109. package/src/i18n/index.js +103 -0
  110. package/src/i18n/messages/en.js +784 -0
  111. package/src/i18n/messages/es.js +718 -0
  112. package/src/i18n/messages/fr.js +725 -0
  113. package/src/i18n/messages/pt-BR.js +818 -0
  114. package/src/i18n/scaffold.js +64 -0
  115. package/src/installer.js +232 -0
  116. package/src/lib/genomes/compat.js +206 -0
  117. package/src/lib/genomes/migrate.js +90 -0
  118. package/src/lib/squads/genome-repair.js +49 -0
  119. package/src/locales.js +84 -0
  120. package/src/onboarding.js +305 -0
  121. package/src/parser.js +53 -0
  122. package/src/prompt-tool.js +20 -0
  123. package/src/qa-html-report.js +472 -0
  124. package/src/runtime-store.js +1527 -0
  125. package/src/squads/apply-genome.js +21 -0
  126. package/src/squads/genome-binding-service.js +154 -0
  127. package/src/updater.js +32 -0
  128. package/src/utils.js +46 -0
  129. package/src/version.js +50 -0
  130. package/template/.aioson/advisors/.gitkeep +1 -0
  131. package/template/.aioson/agents/analyst.md +225 -0
  132. package/template/.aioson/agents/architect.md +221 -0
  133. package/template/.aioson/agents/dev.md +201 -0
  134. package/template/.aioson/agents/discovery-design-doc.md +196 -0
  135. package/template/.aioson/agents/genoma.md +300 -0
  136. package/template/.aioson/agents/orchestrator.md +107 -0
  137. package/template/.aioson/agents/pm.md +89 -0
  138. package/template/.aioson/agents/product.md +361 -0
  139. package/template/.aioson/agents/profiler-enricher.md +266 -0
  140. package/template/.aioson/agents/profiler-forge.md +188 -0
  141. package/template/.aioson/agents/profiler-researcher.md +245 -0
  142. package/template/.aioson/agents/qa.md +344 -0
  143. package/template/.aioson/agents/setup.md +381 -0
  144. package/template/.aioson/agents/squad.md +837 -0
  145. package/template/.aioson/agents/ux-ui.md +416 -0
  146. package/template/.aioson/config.md +56 -0
  147. package/template/.aioson/context/.gitkeep +0 -0
  148. package/template/.aioson/context/parallel/.gitkeep +0 -0
  149. package/template/.aioson/context/spec.md.template +37 -0
  150. package/template/.aioson/genomas/.gitkeep +0 -0
  151. package/template/.aioson/locales/en/agents/analyst.md +214 -0
  152. package/template/.aioson/locales/en/agents/architect.md +210 -0
  153. package/template/.aioson/locales/en/agents/dev.md +187 -0
  154. package/template/.aioson/locales/en/agents/discovery-design-doc.md +27 -0
  155. package/template/.aioson/locales/en/agents/genoma.md +212 -0
  156. package/template/.aioson/locales/en/agents/orchestrator.md +105 -0
  157. package/template/.aioson/locales/en/agents/pm.md +77 -0
  158. package/template/.aioson/locales/en/agents/product.md +310 -0
  159. package/template/.aioson/locales/en/agents/profiler-enricher.md +5 -0
  160. package/template/.aioson/locales/en/agents/profiler-forge.md +5 -0
  161. package/template/.aioson/locales/en/agents/profiler-researcher.md +5 -0
  162. package/template/.aioson/locales/en/agents/qa.md +214 -0
  163. package/template/.aioson/locales/en/agents/setup.md +342 -0
  164. package/template/.aioson/locales/en/agents/squad.md +247 -0
  165. package/template/.aioson/locales/en/agents/ux-ui.md +320 -0
  166. package/template/.aioson/locales/es/agents/analyst.md +203 -0
  167. package/template/.aioson/locales/es/agents/architect.md +208 -0
  168. package/template/.aioson/locales/es/agents/dev.md +183 -0
  169. package/template/.aioson/locales/es/agents/discovery-design-doc.md +19 -0
  170. package/template/.aioson/locales/es/agents/genoma.md +102 -0
  171. package/template/.aioson/locales/es/agents/orchestrator.md +108 -0
  172. package/template/.aioson/locales/es/agents/pm.md +81 -0
  173. package/template/.aioson/locales/es/agents/product.md +310 -0
  174. package/template/.aioson/locales/es/agents/profiler-enricher.md +5 -0
  175. package/template/.aioson/locales/es/agents/profiler-forge.md +5 -0
  176. package/template/.aioson/locales/es/agents/profiler-researcher.md +5 -0
  177. package/template/.aioson/locales/es/agents/qa.md +163 -0
  178. package/template/.aioson/locales/es/agents/setup.md +347 -0
  179. package/template/.aioson/locales/es/agents/squad.md +247 -0
  180. package/template/.aioson/locales/es/agents/ux-ui.md +201 -0
  181. package/template/.aioson/locales/fr/agents/analyst.md +203 -0
  182. package/template/.aioson/locales/fr/agents/architect.md +208 -0
  183. package/template/.aioson/locales/fr/agents/dev.md +183 -0
  184. package/template/.aioson/locales/fr/agents/discovery-design-doc.md +19 -0
  185. package/template/.aioson/locales/fr/agents/genoma.md +102 -0
  186. package/template/.aioson/locales/fr/agents/orchestrator.md +108 -0
  187. package/template/.aioson/locales/fr/agents/pm.md +81 -0
  188. package/template/.aioson/locales/fr/agents/product.md +310 -0
  189. package/template/.aioson/locales/fr/agents/profiler-enricher.md +5 -0
  190. package/template/.aioson/locales/fr/agents/profiler-forge.md +5 -0
  191. package/template/.aioson/locales/fr/agents/profiler-researcher.md +5 -0
  192. package/template/.aioson/locales/fr/agents/qa.md +163 -0
  193. package/template/.aioson/locales/fr/agents/setup.md +347 -0
  194. package/template/.aioson/locales/fr/agents/squad.md +247 -0
  195. package/template/.aioson/locales/fr/agents/ux-ui.md +201 -0
  196. package/template/.aioson/locales/pt-BR/agents/analyst.md +217 -0
  197. package/template/.aioson/locales/pt-BR/agents/architect.md +213 -0
  198. package/template/.aioson/locales/pt-BR/agents/dev.md +198 -0
  199. package/template/.aioson/locales/pt-BR/agents/discovery-design-doc.md +198 -0
  200. package/template/.aioson/locales/pt-BR/agents/genoma.md +297 -0
  201. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +108 -0
  202. package/template/.aioson/locales/pt-BR/agents/pm.md +81 -0
  203. package/template/.aioson/locales/pt-BR/agents/product.md +316 -0
  204. package/template/.aioson/locales/pt-BR/agents/profiler-enricher.md +5 -0
  205. package/template/.aioson/locales/pt-BR/agents/profiler-forge.md +5 -0
  206. package/template/.aioson/locales/pt-BR/agents/profiler-researcher.md +5 -0
  207. package/template/.aioson/locales/pt-BR/agents/qa.md +217 -0
  208. package/template/.aioson/locales/pt-BR/agents/setup.md +371 -0
  209. package/template/.aioson/locales/pt-BR/agents/squad.md +772 -0
  210. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +322 -0
  211. package/template/.aioson/mcp/servers.md +24 -0
  212. package/template/.aioson/profiler-reports/.gitkeep +1 -0
  213. package/template/.aioson/schemas/content-blueprint.schema.json +30 -0
  214. package/template/.aioson/schemas/genome-meta.schema.json +150 -0
  215. package/template/.aioson/schemas/genome.schema.json +115 -0
  216. package/template/.aioson/schemas/readiness.schema.json +27 -0
  217. package/template/.aioson/schemas/squad-blueprint.schema.json +172 -0
  218. package/template/.aioson/schemas/squad-manifest.schema.json +276 -0
  219. package/template/.aioson/skills/dynamic/README.md +30 -0
  220. package/template/.aioson/skills/dynamic/cardano-docs.md +16 -0
  221. package/template/.aioson/skills/dynamic/ethereum-docs.md +17 -0
  222. package/template/.aioson/skills/dynamic/flux-ui-docs.md +13 -0
  223. package/template/.aioson/skills/dynamic/laravel-docs.md +41 -0
  224. package/template/.aioson/skills/dynamic/npm-packages.md +16 -0
  225. package/template/.aioson/skills/dynamic/solana-docs.md +16 -0
  226. package/template/.aioson/skills/references/premium-command-center-ui/master-application-prompt.md +79 -0
  227. package/template/.aioson/skills/references/premium-command-center-ui/operational-ux-playbook.md +253 -0
  228. package/template/.aioson/skills/references/premium-command-center-ui/quality-validation-checklist.md +82 -0
  229. package/template/.aioson/skills/references/premium-command-center-ui/visual-system-and-component-patterns.md +270 -0
  230. package/template/.aioson/skills/static/django-patterns.md +342 -0
  231. package/template/.aioson/skills/static/fastapi-patterns.md +344 -0
  232. package/template/.aioson/skills/static/filament-patterns.md +267 -0
  233. package/template/.aioson/skills/static/flux-ui-components.md +262 -0
  234. package/template/.aioson/skills/static/git-conventions.md +227 -0
  235. package/template/.aioson/skills/static/interface-design.md +372 -0
  236. package/template/.aioson/skills/static/jetstream-setup.md +200 -0
  237. package/template/.aioson/skills/static/laravel-conventions.md +491 -0
  238. package/template/.aioson/skills/static/nextjs-patterns.md +321 -0
  239. package/template/.aioson/skills/static/node-express-patterns.md +317 -0
  240. package/template/.aioson/skills/static/node-typescript-patterns.md +282 -0
  241. package/template/.aioson/skills/static/premium-command-center-ui.md +190 -0
  242. package/template/.aioson/skills/static/rails-conventions.md +307 -0
  243. package/template/.aioson/skills/static/react-motion-patterns.md +577 -0
  244. package/template/.aioson/skills/static/static-html-patterns.md +1935 -0
  245. package/template/.aioson/skills/static/tall-stack-patterns.md +286 -0
  246. package/template/.aioson/skills/static/ui-ux-modern.md +75 -0
  247. package/template/.aioson/skills/static/web3-cardano-patterns.md +337 -0
  248. package/template/.aioson/skills/static/web3-ethereum-patterns.md +310 -0
  249. package/template/.aioson/skills/static/web3-security-checklist.md +284 -0
  250. package/template/.aioson/skills/static/web3-solana-patterns.md +324 -0
  251. package/template/.aioson/squads/.artisan/.gitkeep +0 -0
  252. package/template/.aioson/squads/.gitkeep +0 -0
  253. package/template/.aioson/squads/memory.md +5 -0
  254. package/template/.aioson/tasks/squad-analyze.md +83 -0
  255. package/template/.aioson/tasks/squad-create.md +99 -0
  256. package/template/.aioson/tasks/squad-design.md +100 -0
  257. package/template/.aioson/tasks/squad-export.md +20 -0
  258. package/template/.aioson/tasks/squad-extend.md +68 -0
  259. package/template/.aioson/tasks/squad-pipeline.md +122 -0
  260. package/template/.aioson/tasks/squad-repair.md +85 -0
  261. package/template/.aioson/tasks/squad-validate.md +58 -0
  262. package/template/.aioson/templates/squads/content-basic/template.json +21 -0
  263. package/template/.aioson/templates/squads/media-channel/template.json +24 -0
  264. package/template/.aioson/templates/squads/research-analysis/template.json +22 -0
  265. package/template/.aioson/templates/squads/software-delivery/template.json +21 -0
  266. package/template/.claude/commands/aioson/analyst.md +5 -0
  267. package/template/.claude/commands/aioson/architect.md +5 -0
  268. package/template/.claude/commands/aioson/dev.md +5 -0
  269. package/template/.claude/commands/aioson/orchestrator.md +5 -0
  270. package/template/.claude/commands/aioson/pm.md +5 -0
  271. package/template/.claude/commands/aioson/qa.md +5 -0
  272. package/template/.claude/commands/aioson/setup.md +5 -0
  273. package/template/.claude/commands/aioson/ux-ui.md +5 -0
  274. package/template/.gemini/GEMINI.md +10 -0
  275. package/template/.gemini/commands/aios-analyst.toml +4 -0
  276. package/template/.gemini/commands/aios-architect.toml +7 -0
  277. package/template/.gemini/commands/aios-dev.toml +8 -0
  278. package/template/.gemini/commands/aios-discovery-design-doc.toml +4 -0
  279. package/template/.gemini/commands/aios-orchestrator.toml +8 -0
  280. package/template/.gemini/commands/aios-pm.toml +8 -0
  281. package/template/.gemini/commands/aios-product.toml +4 -0
  282. package/template/.gemini/commands/aios-qa.toml +6 -0
  283. package/template/.gemini/commands/aios-setup.toml +3 -0
  284. package/template/.gemini/commands/aios-ux-ui.toml +8 -0
  285. package/template/AGENTS.md +67 -0
  286. package/template/CLAUDE.md +31 -0
  287. package/template/OPENCODE.md +24 -0
  288. package/template/aioson-models.json +40 -0
@@ -0,0 +1,68 @@
1
+ # Task: Squad Extend
2
+
3
+ > Adiciona componentes a um squad existente sem reescrever o pacote.
4
+
5
+ ## Quando usar
6
+ - `@squad extend <slug>` — modo interativo
7
+ - `@squad extend <slug> --add executor --name <name>` — modo direto
8
+ - Após `@squad analyze` recomendar adições
9
+
10
+ ## Entrada
11
+ - slug do squad existente
12
+ - tipo do componente: executor | skill | template | blueprint | genome | mcp
13
+ - detalhes do componente (nome, role, etc.)
14
+
15
+ ## Processo
16
+
17
+ ### Passo 1 — Ler estado atual
18
+ Leia squad.manifest.json e inventarie o que já existe.
19
+
20
+ ### Passo 2 — Se modo interativo, perguntar o que adicionar
21
+ ```
22
+ O que deseja adicionar ao squad "<slug>"?
23
+ 1. Executor — Novo agente especialista
24
+ 2. Skill — Nova capacidade reutilizável
25
+ 3. Content Blueprint — Novo tipo de deliverable
26
+ 4. Genome — Aplicar genome existente
27
+ 5. MCP — Nova integração externa
28
+ ```
29
+
30
+ ### Passo 3 — Coletar detalhes do componente
31
+ Dependendo do tipo:
32
+ - **Executor:** slug, title, role, focus areas, skills. Gerar o arquivo .md.
33
+ - **Skill:** slug, title, description. Criar em squads/<slug>/skills/
34
+ - **Content Blueprint:** slug, contentType, layoutType, sections.
35
+ - **Genome:** slug do genome, scope (squad ou executor específico).
36
+ - **MCP:** slug, required, purpose.
37
+
38
+ ### Passo 4 — Mostrar diff antes de persistir
39
+ Antes de salvar, mostre exatamente o que será alterado:
40
+ ```
41
+ Changes to apply:
42
+
43
+ NEW FILE: .aioson/squads/<slug>/agents/<executor>.md
44
+ UPDATED: .aioson/squads/<slug>/squad.manifest.json
45
+ + executors[]: { slug: "<executor>", role: "...", file: "..." }
46
+ UPDATED: .aioson/squads/<slug>/agents/agents.md
47
+ + @<executor> — <role>
48
+ UPDATED: CLAUDE.md
49
+ + /<executor> -> .aioson/squads/<slug>/agents/<executor>.md
50
+ UPDATED: AGENTS.md
51
+ + @<executor> -> .aioson/squads/<slug>/agents/<executor>.md
52
+
53
+ Proceed? [Y/n]
54
+ ```
55
+
56
+ ### Passo 5 — Persistir alterações
57
+ - Criar arquivo(s) novo(s)
58
+ - Atualizar squad.manifest.json
59
+ - Atualizar agents.md
60
+ - Atualizar CLAUDE.md e AGENTS.md (se executor)
61
+
62
+ ### Passo 6 — Validar
63
+ Rodar mentalmente a task squad-validate para confirmar que o pacote está consistente.
64
+
65
+ ## Regras
66
+ - SEMPRE mostrar diff antes de persistir
67
+ - NUNCA deletar componentes existentes — extend é somente aditivo
68
+ - Para remoção, oriente o usuário a editar manualmente ou usar repair (Fase 4)
@@ -0,0 +1,122 @@
1
+ # Task: Squad Pipeline
2
+
3
+ > Gerenciamento de pipelines inter-squad. Conecta squads em fluxos de produção autônomos via DAG.
4
+
5
+ ## Quando usar
6
+ - `@squad pipeline create <nome>` — cria um novo pipeline
7
+ - `@squad pipeline connect <pipeline> <source-squad>:<port> → <target-squad>:<port>` — conecta squads
8
+ - `@squad pipeline show <pipeline>` — exibe o DAG com nós, arestas e status
9
+ - `@squad pipeline run <pipeline>` — executa o pipeline (aciona handoffs)
10
+
11
+ ## Conceito
12
+
13
+ Um **pipeline** é um grafo dirigido acíclico (DAG) de squads conectados por ports.
14
+ Cada squad declara `ports.inputs` e `ports.outputs` no `squad.manifest.json`.
15
+ Uma aresta conecta um output de um squad ao input de outro.
16
+
17
+ Quando um squad produz um output, cria um **handoff** (tabela `squad_handoffs`) com o payload.
18
+ O squad downstream lê os handoffs `pending` com `to_squad = seu slug` e os consome.
19
+
20
+ ## Pré-requisitos
21
+
22
+ Antes de criar um pipeline, verifique:
23
+ 1. Os squads participantes existem em `.aioson/squads/`
24
+ 2. Cada squad tem `squad.manifest.json` com a seção `ports` declarada
25
+ 3. Os ports de input/output são compatíveis em `dataType`
26
+
27
+ Se um squad não tem ports declarados, oriente o usuário a:
28
+ - Editar `squad.manifest.json` adicionando a seção `ports`
29
+ - Ou use `@squad extend <slug>` para adicionar ports interativamente
30
+
31
+ ## Passo 1 — Criar o pipeline
32
+
33
+ ```json
34
+ {
35
+ "slug": "<pipeline-slug>",
36
+ "name": "<nome legível>",
37
+ "description": "<descrição opcional>",
38
+ "status": "draft",
39
+ "triggerMode": "manual"
40
+ }
41
+ ```
42
+
43
+ Registre via `aioson runtime` ou diretamente no SQLite (`squad_pipelines`).
44
+
45
+ ## Passo 2 — Adicionar nós ao pipeline
46
+
47
+ Para cada squad participante, registre em `pipeline_nodes`:
48
+ - `pipelineSlug` — slug do pipeline
49
+ - `squadSlug` — slug do squad
50
+ - `positionX`, `positionY` — posição no canvas visual (opcional, padrão 0,0)
51
+
52
+ ## Passo 3 — Conectar squads (criar arestas)
53
+
54
+ Para cada conexão `source:port → target:port`, registre em `pipeline_edges`:
55
+ - `pipelineSlug` — slug do pipeline
56
+ - `sourceSquad`, `sourcePort` — squad origem e port de output
57
+ - `targetSquad`, `targetPort` — squad destino e port de input
58
+ - `transform` — transformação de dados opcional (JSON)
59
+
60
+ Valide:
61
+ - Nenhum ciclo no DAG (use ordenação topológica de Kahn)
62
+ - Ports existem nos manifests
63
+ - DataTypes compatíveis (ou `any`)
64
+
65
+ ## Passo 4 — Exibir o pipeline
66
+
67
+ Ao mostrar `@squad pipeline show <pipeline>`, exiba:
68
+
69
+ ```
70
+ Pipeline: <nome>
71
+ Status: draft | active | paused
72
+ Trigger: manual | on_output | scheduled
73
+
74
+ Fluxo:
75
+ [squad-a] --output-key--> [squad-b] --outro-key--> [squad-c]
76
+
77
+ Ordem topológica: squad-a → squad-b → squad-c
78
+
79
+ Handoffs pendentes: 0
80
+ ```
81
+
82
+ Se detectar ciclo: "⚠️ Ciclo detectado — pipeline inválido. Verifique as conexões."
83
+
84
+ ## Passo 5 — Executar o pipeline (handoff)
85
+
86
+ Ao executar `@squad pipeline run <pipeline>`:
87
+ 1. Calcule a ordem topológica
88
+ 2. Para cada squad na ordem:
89
+ - Leia handoffs `pending` com `to_squad = squad_slug`
90
+ - Crie o contexto de execução com o payload dos handoffs
91
+ - Notifique o usuário: "Ativando @<squad> com input de @<source>"
92
+ 3. Após cada squad processar seu output:
93
+ - Crie handoffs `pending` para os squads downstream conectados
94
+ - Marque handoffs consumidos como `consumed`
95
+
96
+ ## Formato de handoff
97
+
98
+ ```json
99
+ {
100
+ "id": "<uuid>",
101
+ "pipelineSlug": "<pipeline>",
102
+ "fromSquad": "<source>",
103
+ "fromPort": "<output-key>",
104
+ "toSquad": "<target>",
105
+ "toPort": "<input-key>",
106
+ "payload": { "contentKey": "...", "filePath": "..." },
107
+ "status": "pending"
108
+ }
109
+ ```
110
+
111
+ ## Output contract
112
+
113
+ - Pipeline registrado em SQLite (`squad_pipelines`, `pipeline_nodes`, `pipeline_edges`)
114
+ - Handoffs em `squad_handoffs`
115
+ - Relatório visual disponível em `/pipelines/<slug>` no dashboard
116
+
117
+ ## Hard constraints
118
+
119
+ - Nunca criar um pipeline com ciclo — rejeite e explique o problema
120
+ - Validar compatibilidade de dataType antes de conectar
121
+ - Handoffs são imutáveis após criados — crie novos em vez de editar
122
+ - Pipeline em status `active` não pode ter nós removidos sem voltar para `draft`
@@ -0,0 +1,85 @@
1
+ # Task: Squad Repair
2
+
3
+ > Reconcilia o manifesto com a estrutura real do filesystem. Corrige inconsistências.
4
+
5
+ ## Quando usar
6
+ - `@squad repair <slug>` — invocação direta
7
+ - Quando validate reporta erros de estrutura
8
+ - Quando o usuário editou arquivos manualmente e quebrou a consistência
9
+
10
+ ## Processo
11
+
12
+ ### Passo 0 — Detecção de squad legado
13
+
14
+ Se o slug existe como diretório em `.aioson/squads/<slug>/` mas NÃO tem `squad.manifest.json`:
15
+
16
+ 1. Ler `squad.md` (metadata textual) se existir
17
+ 2. Ler `agents/agents.md` se existir
18
+ 3. Listar arquivos em `agents/` para descobrir executores
19
+ 4. Inferir mode, mission, goal do texto encontrado
20
+ 5. Gerar `squad.manifest.json` a partir do que foi descoberto (schemaVersion: "1.0.0")
21
+ 6. Apresentar o manifesto gerado para aprovação:
22
+ ```
23
+ Squad legado detectado: "<slug>"
24
+ Manifesto inferido:
25
+ mode: content (inferido)
26
+ mission: "..." (inferido de squad.md)
27
+ executors: writer, editor (encontrados em agents/)
28
+ confidence: LOW — revisar antes de confirmar
29
+
30
+ Criar squad.manifest.json com estes dados? [Y/n]
31
+ ```
32
+ 7. Se aprovado, salvar e rodar validate
33
+ 8. Marcar readiness contextReady e blueprintReady como "partial"
34
+
35
+ ### Passo 1 — Detectar inconsistências
36
+
37
+ Compare manifest vs filesystem:
38
+
39
+ **Cenário A — Arquivo no manifesto mas não no filesystem:**
40
+ - Executor referenciado mas arquivo não existe
41
+ - Skill declarada mas diretório/arquivo faltando
42
+ - Ação: oferecer REGENERAR o arquivo ou REMOVER do manifesto
43
+
44
+ **Cenário B — Arquivo no filesystem mas não no manifesto:**
45
+ - Novo executor .md em agents/ não declarado no manifesto
46
+ - Skill instalada em skills/ não declarada
47
+ - Ação: oferecer REGISTRAR no manifesto ou INFORMAR que é órfão
48
+
49
+ **Cenário C — Dados inconsistentes:**
50
+ - Slug do manifesto != nome do diretório
51
+ - Executor com file path errado
52
+ - CLAUDE.md/AGENTS.md desatualizado
53
+ - Ação: oferecer CORRIGIR
54
+
55
+ ### Passo 2 — Mostrar diff completo
56
+
57
+ Antes de qualquer correção, mostre exatamente o que será feito:
58
+ ```
59
+ Repair plan for "<slug>":
60
+
61
+ FIX: Executor "analyst" — file missing → regenerate agents/analyst.md
62
+ FIX: Executor "ghost" — in manifest but no file → remove from manifest
63
+ ADD: File "agents/reviewer.md" found → register in manifest
64
+ FIX: CLAUDE.md — squad section outdated → update
65
+ SKIP: readiness.md — missing but not critical
66
+
67
+ Apply repairs? [Y/n/select specific]
68
+ ```
69
+
70
+ ### Passo 3 — Aplicar correções selecionadas
71
+
72
+ - Regenerar arquivos de executor usando o role/skills do manifesto como input (seguir Step 2 de squad-create.md)
73
+ - Atualizar manifesto com novos arquivos encontrados
74
+ - Corrigir paths e slugs
75
+ - Atualizar CLAUDE.md e AGENTS.md
76
+
77
+ ### Passo 4 — Revalidar
78
+
79
+ Ler e executar mentalmente `.aioson/tasks/squad-validate.md` após todas as correções para confirmar que o pacote está consistente.
80
+
81
+ ## Regras
82
+ - NUNCA aplicar correções sem aprovação do usuário
83
+ - SEMPRE mostrar diff antes
84
+ - Para executores regenerados: gerar com as instruções de squad-create.md (Step 2 — Passo 5)
85
+ - Se o squad não tem manifest formal (squad antigo): executar Passo 0 primeiro
@@ -0,0 +1,58 @@
1
+ # Task: Squad Validate
2
+
3
+ > Fase de validação do lifecycle. Verifica consistência do pacote.
4
+
5
+ ## Quando usar
6
+ - `@squad validate <slug>` — invocação direta
7
+ - Automaticamente após `@squad create`
8
+ - Quando o CLI `aioson squad:validate <slug>` é executado
9
+
10
+ ## Entrada
11
+ - slug do squad (deve existir em `.aioson/squads/<slug>/`)
12
+
13
+ ## Processo
14
+
15
+ ### Camada 1 — Validação de schema
16
+ 1. Leia `.aioson/squads/<slug>/squad.manifest.json`
17
+ 2. Valide contra `.aioson/schemas/squad-manifest.schema.json`
18
+ 3. Campos obrigatórios: schemaVersion, slug, name, mode, mission, goal
19
+ 4. Se falhar: ERRO com campo faltante e sugestão
20
+
21
+ ### Camada 2 — Validação estrutural
22
+ Verifique que existem:
23
+ - `.aioson/squads/<slug>/squad.manifest.json` (obrigatório)
24
+ - `.aioson/squads/<slug>/agents/agents.md` (obrigatório)
25
+ - `.aioson/squads/<slug>/agents/orquestrador.md` (obrigatório)
26
+ - Para cada executor em manifest.executors: o arquivo referenciado existe
27
+ - Diretórios: `output/<slug>/`, `aios-logs/<slug>/`
28
+
29
+ ### Camada 3 — Validação semântica (básica nesta fase, aprofundada na Fase 2)
30
+ - Slug do manifesto bate com o nome do diretório
31
+ - Executores no manifesto têm arquivo correspondente
32
+ - Não há executores duplicados
33
+
34
+ ### Relatório
35
+ Classifique cada check como:
36
+ - ✅ PASS
37
+ - ⚠️ WARNING (não bloqueia, mas recomenda correção)
38
+ - ❌ ERROR (bloqueia — squad inválido)
39
+
40
+ Formato de output:
41
+ ```
42
+ ═══ Squad Validation: <slug> ═══
43
+
44
+ Schema: ✅ PASS
45
+ Structure: ✅ PASS (7/7 files found)
46
+ Semantics: ⚠️ 1 warning
47
+ - executor "analyst" has no skills declared
48
+
49
+ Result: VALID (1 warning)
50
+ ```
51
+
52
+ ## Saída
53
+ - Relatório de validação (console)
54
+ - Status: VALID | VALID_WITH_WARNINGS | INVALID
55
+
56
+ ## Regras
57
+ - NÃO corrija problemas automaticamente — apenas reporte
58
+ - SUGIRA o comando de correção quando possível (ex: "run @squad extend to add skills")
@@ -0,0 +1,21 @@
1
+ {
2
+ "slug": "content-basic",
3
+ "name": "Content Basic",
4
+ "description": "Squad genérico de conteúdo: artigos, scripts, copy, estratégia",
5
+ "mode": "content",
6
+ "suggestedExecutors": [
7
+ { "slug": "writer", "role": "Creates written content, articles, scripts" },
8
+ { "slug": "strategist", "role": "Defines content strategy, angles, positioning" },
9
+ { "slug": "editor", "role": "Reviews, improves clarity, fact-checks" }
10
+ ],
11
+ "defaultContentBlueprint": {
12
+ "slug": "content-piece",
13
+ "contentType": "article",
14
+ "layoutType": "document",
15
+ "sections": [
16
+ { "key": "main-content", "label": "Content", "blockTypes": ["rich-text"] },
17
+ { "key": "summary", "label": "Summary", "blockTypes": ["rich-text"] },
18
+ { "key": "tags", "label": "Tags", "blockTypes": ["tags"] }
19
+ ]
20
+ }
21
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "slug": "media-channel",
3
+ "name": "Media Channel",
4
+ "description": "Squad para canal de mídia: YouTube, podcast, newsletter, social",
5
+ "mode": "content",
6
+ "suggestedExecutors": [
7
+ { "slug": "scriptwriter", "role": "Writes scripts, outlines, narratives" },
8
+ { "slug": "title-generator", "role": "Creates titles, hooks, angles" },
9
+ { "slug": "copywriter", "role": "Writes descriptions, CTAs, social copy" },
10
+ { "slug": "trend-analyst", "role": "Researches trends, competitors, opportunities" }
11
+ ],
12
+ "defaultContentBlueprint": {
13
+ "slug": "media-package",
14
+ "contentType": "media-package",
15
+ "layoutType": "tabs",
16
+ "sections": [
17
+ { "key": "script", "label": "Script/Outline", "blockTypes": ["rich-text"] },
18
+ { "key": "titles", "label": "Title Options", "blockTypes": ["bullet-list"] },
19
+ { "key": "description", "label": "Description", "blockTypes": ["rich-text"] },
20
+ { "key": "tags", "label": "Tags & Keywords", "blockTypes": ["tags"] },
21
+ { "key": "thumbnail", "label": "Thumbnail Brief", "blockTypes": ["rich-text"] }
22
+ ]
23
+ }
24
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "slug": "research-analysis",
3
+ "name": "Research & Analysis",
4
+ "description": "Squad de pesquisa, benchmarks, relatórios e comparações",
5
+ "mode": "research",
6
+ "suggestedExecutors": [
7
+ { "slug": "researcher", "role": "Gathers data, finds sources, maps landscape" },
8
+ { "slug": "analyst", "role": "Interprets data, finds patterns, draws conclusions" },
9
+ { "slug": "reviewer", "role": "Validates methodology, challenges assumptions" }
10
+ ],
11
+ "defaultContentBlueprint": {
12
+ "slug": "research-report",
13
+ "contentType": "report",
14
+ "layoutType": "accordion",
15
+ "sections": [
16
+ { "key": "findings", "label": "Key Findings", "blockTypes": ["rich-text", "bullet-list"] },
17
+ { "key": "methodology", "label": "Methodology", "blockTypes": ["rich-text"] },
18
+ { "key": "data", "label": "Data & Sources", "blockTypes": ["bullet-list", "tags"] },
19
+ { "key": "recommendations", "label": "Recommendations", "blockTypes": ["numbered-list"] }
20
+ ]
21
+ }
22
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "slug": "software-delivery",
3
+ "name": "Software Delivery",
4
+ "description": "Squad de desenvolvimento: features, arquitetura, QA",
5
+ "mode": "software",
6
+ "suggestedExecutors": [
7
+ { "slug": "developer", "role": "Implements features, writes code" },
8
+ { "slug": "architect", "role": "Designs system structure, makes technical decisions" },
9
+ { "slug": "qa-engineer", "role": "Tests, validates, finds edge cases" }
10
+ ],
11
+ "defaultContentBlueprint": {
12
+ "slug": "feature-delivery",
13
+ "contentType": "feature",
14
+ "layoutType": "tabs",
15
+ "sections": [
16
+ { "key": "spec", "label": "Specification", "blockTypes": ["rich-text"] },
17
+ { "key": "implementation", "label": "Implementation", "blockTypes": ["rich-text", "copy-block"] },
18
+ { "key": "tests", "label": "Test Plan", "blockTypes": ["bullet-list"] }
19
+ ]
20
+ }
21
+ }
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: "AIOSON — Domain discovery and entity mapping (SMALL/MEDIUM)"
3
+ ---
4
+
5
+ Read `.aioson/agents/analyst.md` and follow all instructions. $ARGUMENTS
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: "AIOSON — Project structure and technical decisions (SMALL/MEDIUM)"
3
+ ---
4
+
5
+ Read `.aioson/agents/architect.md` and follow all instructions. $ARGUMENTS
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: "AIOSON — Feature implementation (any stack)"
3
+ ---
4
+
5
+ Read `.aioson/agents/dev.md` and follow all instructions. $ARGUMENTS
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: "AIOSON — Session protocol and parallel execution (MEDIUM)"
3
+ ---
4
+
5
+ Read `.aioson/agents/orchestrator.md` and follow all instructions. $ARGUMENTS
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: "AIOSON — Backlog and user stories (MEDIUM only)"
3
+ ---
4
+
5
+ Read `.aioson/agents/pm.md` and follow all instructions. $ARGUMENTS
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: "AIOSON — Risk-first review and test generation (SMALL/MEDIUM)"
3
+ ---
4
+
5
+ Read `.aioson/agents/qa.md` and follow all instructions. $ARGUMENTS
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: "AIOSON — Project onboarding and context setup"
3
+ ---
4
+
5
+ Read `.aioson/agents/setup.md` and follow all instructions. $ARGUMENTS
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: "AIOSON — UI/UX design system and component spec (SMALL/MEDIUM)"
3
+ ---
4
+
5
+ Read `.aioson/agents/ux-ui.md` and follow all instructions. $ARGUMENTS
@@ -0,0 +1,10 @@
1
+ # AIOSON - Gemini CLI
2
+
3
+ ## Initialization
4
+ - Read `.aioson/config.md`
5
+ - Check `.aioson/context/project.context.md`
6
+ - If missing, run `aios-setup`
7
+
8
+ ## Commands
9
+ Use command files in `.gemini/commands/` that point to the same agents in `.aioson/agents/`.
10
+ - Include `aios-ux-ui` for frontend design specification when UI quality is critical.
@@ -0,0 +1,4 @@
1
+ name = "aios-analyst"
2
+ description = "Requirements analysis"
3
+ instruction_file = ".aioson/agents/analyst.md"
4
+ requires_context = [".aioson/context/project.context.md"]
@@ -0,0 +1,7 @@
1
+ name = "aios-architect"
2
+ description = "Project architecture"
3
+ instruction_file = ".aioson/agents/architect.md"
4
+ requires_context = [
5
+ ".aioson/context/project.context.md",
6
+ ".aioson/context/discovery.md"
7
+ ]
@@ -0,0 +1,8 @@
1
+ name = "aios-dev"
2
+ description = "Development"
3
+ instruction_file = ".aioson/agents/dev.md"
4
+ requires_context = [
5
+ ".aioson/context/project.context.md",
6
+ ".aioson/context/discovery.md",
7
+ ".aioson/context/architecture.md"
8
+ ]
@@ -0,0 +1,4 @@
1
+ name = "aios-discovery-design-doc"
2
+ description = "Discovery and living design doc"
3
+ instruction_file = ".aioson/agents/discovery-design-doc.md"
4
+ requires_context = [".aioson/context/project.context.md"]
@@ -0,0 +1,8 @@
1
+ name = "aios-orchestrator"
2
+ description = "Multi-agent orchestration"
3
+ instruction_file = ".aioson/agents/orchestrator.md"
4
+ requires_context = [
5
+ ".aioson/context/discovery.md",
6
+ ".aioson/context/architecture.md",
7
+ ".aioson/context/prd.md"
8
+ ]
@@ -0,0 +1,8 @@
1
+ name = "aios-pm"
2
+ description = "Lightweight PRD"
3
+ instruction_file = ".aioson/agents/pm.md"
4
+ requires_context = [
5
+ ".aioson/context/project.context.md",
6
+ ".aioson/context/discovery.md",
7
+ ".aioson/context/architecture.md"
8
+ ]
@@ -0,0 +1,4 @@
1
+ name = "aios-product"
2
+ description = "Conversational product wizard — prd.md"
3
+ instruction_file = ".aioson/agents/product.md"
4
+ requires_context = []
@@ -0,0 +1,6 @@
1
+ name = "aios-qa"
2
+ description = "Quality review"
3
+ instruction_file = ".aioson/agents/qa.md"
4
+ requires_context = [
5
+ ".aioson/context/discovery.md"
6
+ ]
@@ -0,0 +1,3 @@
1
+ name = "aios-setup"
2
+ description = "Project onboarding"
3
+ instruction_file = ".aioson/agents/setup.md"
@@ -0,0 +1,8 @@
1
+ name = "aios-ux-ui"
2
+ description = "Frontend design and UX specification"
3
+ instruction_file = ".aioson/agents/ux-ui.md"
4
+ requires_context = [
5
+ ".aioson/context/project.context.md",
6
+ ".aioson/context/discovery.md",
7
+ ".aioson/context/architecture.md"
8
+ ]
@@ -0,0 +1,67 @@
1
+ # AIOSON
2
+
3
+ You operate as AIOSON — an AI development squad with specialized agents.
4
+
5
+ ## Mandatory first action
6
+ 1. Read `.aioson/config.md`
7
+ 2. Check whether `.aioson/context/project.context.md` exists
8
+ - If missing: activate @setup agent immediately
9
+ - If present: read it before any action
10
+ 3. Check `.aioson/rules/` — if any `.md` files exist, inform the user:
11
+ > "Project rules active: {n} rule(s) found in `.aioson/rules/`. Each agent will load applicable rules automatically."
12
+
13
+ ## How to invoke agents
14
+
15
+ **Option 1 — @ file include (Codex v0.110+):**
16
+ Type `@agent-name` in the prompt. Codex will find the agent file and include its content.
17
+ The agent activates automatically — begin executing its instructions immediately.
18
+ Do not treat the included file as something to quote, summarize, or display back to the user unless the user explicitly asked to inspect the file itself.
19
+
20
+ Examples: `@setup`, `@dev`, `@squad`, `@genoma`, `@profiler-researcher`
21
+
22
+ **Option 2 — Natural language:**
23
+ Describe your intent. The agent system will match and execute.
24
+
25
+ | Agent | Natural language examples |
26
+ |-------|--------------------------|
27
+ | @setup | "start the project setup", "use the setup agent", "iniciar o setup" |
28
+ | @discovery-design-doc | "prepare the discovery and design doc", "use the discovery design doc agent" |
29
+ | @analyst | "analyze the requirements", "use the analyst agent" |
30
+ | @architect | "design the architecture", "use the architect agent" |
31
+ | @ux-ui | "design the UI", "use the ux-ui agent" |
32
+ | @product | "define the product vision", "use the product agent", "start the product wizard" |
33
+ | @pm | "create the user stories", "use the pm agent" |
34
+ | @dev | "implement the feature", "use the dev agent" |
35
+ | @qa | "write the tests", "use the qa agent" |
36
+ | @orchestrator | "coordinate this session", "use the orchestrator agent" |
37
+ | @squad | "assemble a squad", "use the squad agent", "montar squad" |
38
+ | @genoma | "generate a genome", "use the genoma agent", "gerar genoma" |
39
+ | @profiler-researcher | "start the profiler research", "profile this person", "pesquisar DNA mental" |
40
+ | @profiler-enricher | "enrich this profile", "analyze this person's cognition", "consolidar perfil cognitivo" |
41
+ | @profiler-forge | "generate the advisor", "forge the genome 3.0", "gerar advisor da persona" |
42
+
43
+ When an agent file is included via @ or described via natural language, read the corresponding file and execute its instructions immediately from the first step.
44
+ Do not answer with "I will open/read/show the file" unless the user explicitly asked to inspect that file.
45
+
46
+ ## Agent files
47
+ - @setup → `.aioson/agents/setup.md`
48
+ - @discovery-design-doc → `.aioson/agents/discovery-design-doc.md`
49
+ - @analyst → `.aioson/agents/analyst.md`
50
+ - @architect → `.aioson/agents/architect.md`
51
+ - @ux-ui → `.aioson/agents/ux-ui.md`
52
+ - @product → `.aioson/agents/product.md`
53
+ - @pm → `.aioson/agents/pm.md`
54
+ - @dev → `.aioson/agents/dev.md`
55
+ - @qa → `.aioson/agents/qa.md`
56
+ - @orchestrator → `.aioson/agents/orchestrator.md`
57
+ - @squad → `.aioson/agents/squad.md`
58
+ - @genoma → `.aioson/agents/genoma.md`
59
+ - @profiler-researcher → `.aioson/agents/profiler-researcher.md`
60
+ - @profiler-enricher → `.aioson/agents/profiler-enricher.md`
61
+ - @profiler-forge → `.aioson/agents/profiler-forge.md`
62
+
63
+ ## Session protocol
64
+ If `.aioson/context/spec.md` exists, read it at session start and update it at session end.
65
+
66
+ ## Golden rule
67
+ Small project, small solution.