@jaimevalasek/aioson 1.5.1 → 1.6.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 (131) hide show
  1. package/README.md +6 -0
  2. package/docs/design-previews/aurora-command-ui-website.html +884 -0
  3. package/docs/design-previews/aurora-command-ui.html +682 -0
  4. package/docs/design-previews/bold-editorial-ui-website.html +658 -0
  5. package/docs/design-previews/bold-editorial-ui.html +717 -0
  6. package/docs/design-previews/clean-saas-ui-website.html +1202 -0
  7. package/docs/design-previews/clean-saas-ui.html +549 -0
  8. package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
  9. package/docs/design-previews/cognitive-core-ui.html +463 -0
  10. package/docs/design-previews/glassmorphism-ui-website.html +572 -0
  11. package/docs/design-previews/glassmorphism-ui.html +886 -0
  12. package/docs/design-previews/index.html +699 -0
  13. package/docs/design-previews/interface-design-website.html +1187 -0
  14. package/docs/design-previews/interface-design.html +513 -0
  15. package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
  16. package/docs/design-previews/neo-brutalist-ui.html +797 -0
  17. package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
  18. package/docs/design-previews/premium-command-center-ui.html +552 -0
  19. package/docs/design-previews/warm-craft-ui-website.html +684 -0
  20. package/docs/design-previews/warm-craft-ui.html +739 -0
  21. package/docs/en/cli-reference.md +20 -9
  22. package/docs/pt/README.md +7 -0
  23. package/docs/pt/agent-sharding.md +132 -0
  24. package/docs/pt/agentes.md +8 -2
  25. package/docs/pt/busca-de-contexto.md +129 -0
  26. package/docs/pt/cache-de-contexto.md +156 -0
  27. package/docs/pt/comandos-cli.md +28 -0
  28. package/docs/pt/design-hybrid-forge.md +107 -0
  29. package/docs/pt/inicio-rapido.md +54 -3
  30. package/docs/pt/inteligencia-adaptativa.md +324 -0
  31. package/docs/pt/monitor-de-contexto.md +104 -0
  32. package/docs/pt/recuperacao-de-sessao.md +125 -0
  33. package/docs/pt/sandbox.md +125 -0
  34. package/docs/pt/skills.md +98 -6
  35. package/package.json +1 -1
  36. package/src/agent-loader.js +280 -0
  37. package/src/cli.js +94 -0
  38. package/src/commands/agent-loader.js +85 -0
  39. package/src/commands/context-cache.js +90 -0
  40. package/src/commands/context-monitor.js +92 -0
  41. package/src/commands/context-search.js +66 -0
  42. package/src/commands/design-hybrid-options.js +385 -0
  43. package/src/commands/health.js +214 -0
  44. package/src/commands/init.js +54 -13
  45. package/src/commands/install.js +52 -13
  46. package/src/commands/learning-evolve.js +355 -0
  47. package/src/commands/live.js +34 -0
  48. package/src/commands/recovery.js +43 -0
  49. package/src/commands/sandbox.js +37 -0
  50. package/src/commands/setup-context.js +22 -2
  51. package/src/commands/setup.js +178 -0
  52. package/src/commands/skill.js +79 -32
  53. package/src/commands/tool-registry-cmd.js +232 -0
  54. package/src/commands/update.js +7 -0
  55. package/src/constants.js +9 -0
  56. package/src/context-cache.js +159 -0
  57. package/src/context-search.js +326 -0
  58. package/src/design-variation-catalog.js +503 -0
  59. package/src/i18n/messages/en.js +32 -2
  60. package/src/i18n/messages/es.js +30 -2
  61. package/src/i18n/messages/fr.js +30 -2
  62. package/src/i18n/messages/pt-BR.js +32 -2
  63. package/src/install-animation.js +260 -0
  64. package/src/install-profile.js +143 -0
  65. package/src/install-wizard.js +474 -0
  66. package/src/installer.js +38 -10
  67. package/src/parser.js +7 -1
  68. package/src/recovery-context-session.js +154 -0
  69. package/src/runtime-store.js +97 -1
  70. package/src/sandbox.js +177 -0
  71. package/src/tool-executor.js +94 -0
  72. package/src/updater.js +11 -3
  73. package/template/.aioson/agents/analyst.md +58 -3
  74. package/template/.aioson/agents/architect.md +38 -0
  75. package/template/.aioson/agents/design-hybrid-forge.md +127 -0
  76. package/template/.aioson/agents/dev.md +103 -0
  77. package/template/.aioson/agents/deyvin.md +57 -0
  78. package/template/.aioson/agents/pm.md +58 -0
  79. package/template/.aioson/agents/product.md +28 -0
  80. package/template/.aioson/agents/qa.md +79 -0
  81. package/template/.aioson/agents/setup.md +65 -3
  82. package/template/.aioson/agents/sheldon.md +107 -6
  83. package/template/.aioson/agents/tester.md +156 -0
  84. package/template/.aioson/config.md +15 -0
  85. package/template/.aioson/context/forensics/.gitkeep +0 -0
  86. package/template/.aioson/context/seeds/seed-example.md +27 -0
  87. package/template/.aioson/context/user-profile.md +42 -0
  88. package/template/.aioson/locales/en/agents/setup.md +33 -1
  89. package/template/.aioson/locales/es/agents/setup.md +33 -1
  90. package/template/.aioson/locales/fr/agents/setup.md +33 -1
  91. package/template/.aioson/locales/pt-BR/agents/setup.md +33 -1
  92. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
  93. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
  94. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
  95. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
  96. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
  97. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
  98. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
  99. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
  100. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
  101. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
  102. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
  103. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
  104. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
  105. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
  106. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
  107. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
  108. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
  109. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
  110. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
  111. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
  112. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
  113. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
  114. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
  115. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
  116. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +45 -0
  117. package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
  118. package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
  119. package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
  120. package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
  121. package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +66 -0
  122. package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
  123. package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +144 -0
  124. package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
  125. package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
  126. package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +291 -0
  127. package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +117 -0
  128. package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +188 -0
  129. package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
  130. package/template/AGENTS.md +23 -1
  131. package/template/CLAUDE.md +1 -0
@@ -0,0 +1,107 @@
1
+ # `design-hybrid-forge`
2
+
3
+ Página canônica do fluxo de criação de skills híbridas de design do AIOSON.
4
+
5
+ Esse fluxo existe para transformar 2 skills de design já existentes em uma nova skill local do projeto, com suporte opcional a um preset visual temporário gerado por `design-hybrid:options`.
6
+
7
+ ## O que ele faz
8
+
9
+ - cria uma nova skill em `.aioson/installed-skills/{slug}/`
10
+ - exige 2 skills primárias
11
+ - aceita 0 a 2 modificadores por padrão
12
+ - aceita 0 a 3 modificadores no modo avançado
13
+ - pode aplicar um overlay visual mais extravagante, clássico, animado ou CSS-forward
14
+ - registra autor, modelo e origem quando esses dados estiverem disponíveis
15
+ - preserva histórico da geração em `.aioson/context/history/design-variation-presets/`
16
+
17
+ ## Fluxo recomendado
18
+
19
+ 1. Escolha ou confirme as 2 skills primárias.
20
+ 2. Se quiser uma direção visual mais marcada, rode `aioson design-hybrid:options`.
21
+ 3. O comando monta um preset em `.aioson/context/design-variation-preset.md`.
22
+ 4. O agente `@design-hybrid-forge` lê esse preset e conduz a síntese.
23
+ 5. A skill final nasce em `.aioson/installed-skills/{slug}/`.
24
+ 6. Depois da geração, o preset ativo deve sair do contexto e ficar só o histórico.
25
+
26
+ ## Locale
27
+
28
+ O seletor usa `conversation_language` do `project.context.md` quando existir.
29
+
30
+ Se você quiser forçar a interface, use:
31
+
32
+ ```bash
33
+ aioson design-hybrid:options . --locale=pt-BR
34
+ ```
35
+
36
+ Use `--locale` como override, não como regra principal.
37
+
38
+ ## Modificadores
39
+
40
+ Por padrão, o sistema trabalha com até 2 modificadores. Eles servem para lanes pequenas:
41
+
42
+ - motion
43
+ - textura
44
+ - tipografia
45
+ - navegação secundária
46
+ - detalhes de componentes
47
+
48
+ No modo avançado, `aioson design-hybrid:options --advanced` libera um 3º modificador. Mesmo assim, ele continua sem poder assumir substrato ou estrutura.
49
+
50
+ ## Preset temporário
51
+
52
+ O arquivo `.aioson/context/design-variation-preset.md` não é configuração permanente do projeto.
53
+
54
+ Ele deve ser tratado como:
55
+
56
+ - input temporário para a próxima geração
57
+ - referência de execução para a skill híbrida
58
+ - artefato descartável após a geração
59
+
60
+ A cópia em `.aioson/context/history/design-variation-presets/` é a trilha de auditoria e pode ficar arquivada.
61
+
62
+ ## Onde a skill nasce
63
+
64
+ O destino padrão é sempre:
65
+
66
+ ```text
67
+ .aioson/installed-skills/{slug}/
68
+ ```
69
+
70
+ Esse é o local que o AIOSON usa para skills instaladas ou geradas localmente no projeto. Se houver promoção para o core ou marketplace, isso é uma segunda etapa separada.
71
+
72
+ ## Quando usar
73
+
74
+ Use esse fluxo quando você quiser:
75
+
76
+ - criar uma skill de design nova a partir de duas já existentes
77
+ - evitar resultado genérico ou “mais do mesmo”
78
+ - combinar estrutura de uma skill com a expressão visual de outra
79
+ - gerar uma skill local versionada no projeto
80
+
81
+ Não use esse fluxo para aplicar uma skill em um produto já existente. Nesse caso, use a skill final gerada em seu próprio `SKILL.md`.
82
+
83
+ ## Exemplos
84
+
85
+ Criar preset visual:
86
+
87
+ ```bash
88
+ aioson design-hybrid:options .
89
+ ```
90
+
91
+ Forçar PT-BR e modo avançado:
92
+
93
+ ```bash
94
+ aioson design-hybrid:options . --locale=pt-BR --advanced
95
+ ```
96
+
97
+ Depois, ativar a skill híbrida gerada:
98
+
99
+ ```text
100
+ @nome-da-skill
101
+ ```
102
+
103
+ ou, em clientes com slash commands:
104
+
105
+ ```text
106
+ /nome-da-skill
107
+ ```
@@ -12,11 +12,20 @@
12
12
 
13
13
  ## 1. Instalação
14
14
 
15
+ Ao rodar o `init` ou `install`, um **wizard interativo** aparece para você escolher:
16
+
17
+ 1. **Quais ferramentas AI** usar (Claude Code, Codex, Gemini, OpenCode)
18
+ 2. **Qual modo** (Development ou Development + Squads)
19
+ 3. **Design system** (opcional) — Clean SaaS UI, Aurora Command UI, Cognitive Core UI, etc.
20
+ 4. **Idioma dos agentes** — English, Português, Español, Français
21
+
22
+ Só os arquivos relevantes são copiados. Nenhuma dependência extra é instalada.
23
+
15
24
  ### Novo projeto (recomendado)
16
25
 
17
26
  ```bash
18
- mkdir meu-projeto && cd meu-projeto
19
- npx @jaimevalasek/aioson init
27
+ npx @jaimevalasek/aioson init meu-projeto
28
+ cd meu-projeto
20
29
  ```
21
30
 
22
31
  ### Projeto existente
@@ -26,7 +35,49 @@ cd meu-projeto
26
35
  npx @jaimevalasek/aioson install
27
36
  ```
28
37
 
29
- Isso cria a pasta `.aioson/` com todos os arquivos de configuração, agentes e contexto.
38
+ ### Instalar tudo de uma vez (`--all`)
39
+
40
+ Use `--all` para pular o wizard e instalar imediatamente com todas as ferramentas e squads ativados:
41
+
42
+ ```bash
43
+ # Cria projeto e instala tudo (sem wizard)
44
+ npx @jaimevalasek/aioson init meu-projeto --all
45
+
46
+ # Instala em projeto existente (todas as ferramentas + squads)
47
+ npx @jaimevalasek/aioson install --all
48
+ ```
49
+
50
+ **O que o `--all` instala:**
51
+ - Ferramentas: Claude Code, Codex, Gemini, OpenCode
52
+ - Modo: Development + Squads
53
+ - Design: nenhum
54
+ - Idioma: English
55
+
56
+ ### Re-configurar depois (adicionar ferramentas/modos)
57
+
58
+ Se precisar adicionar uma ferramenta ou ativar Squads depois:
59
+
60
+ ```bash
61
+ npx @jaimevalasek/aioson install --reconfigure
62
+ ```
63
+
64
+ Isso roda o wizard novamente — só os arquivos relevantes ao novo perfil são atualizados.
65
+
66
+ ### CI / automação (sem wizard)
67
+
68
+ ```bash
69
+ npx @jaimevalasek/aioson install --no-interactive
70
+ ```
71
+
72
+ Instala todos os arquivos sem perguntar (comportamento padrão antes do wizard).
73
+
74
+ ### Atualizar para nova versão
75
+
76
+ ```bash
77
+ npx @jaimevalasek/aioson update
78
+ ```
79
+
80
+ O update respeita o perfil salvo — só atualiza os arquivos que foram instalados originalmente.
30
81
 
31
82
  Se o projeto já for brownfield e você quiser gerar um panorama inicial da base, rode depois:
32
83
 
@@ -0,0 +1,324 @@
1
+ # Inteligência Adaptativa
2
+
3
+ O AIOSON aprende com o trabalho dos agentes e evolui com o projeto. Este documento explica os três sistemas que formam a camada de inteligência adaptativa: o **Evolution Pipeline**, o **Tool Registry** e o **Ambient Intelligence Layer**.
4
+
5
+ ---
6
+
7
+ ## Visão Geral
8
+
9
+ Sem inteligência adaptativa, o AIOSON funciona como uma ferramenta estática: os agentes trabalham, cometem os mesmos erros, repetem os mesmos comandos — e cada sessão começa do zero.
10
+
11
+ Com inteligência adaptativa:
12
+
13
+ - Correções que você dá aos agentes viram **regras permanentes no contexto do projeto**
14
+ - Ferramentas criadas por um agente ficam disponíveis em **todas as sessões futuras**
15
+ - O framework **avisa proativamente** quando há itens que precisam de atenção
16
+
17
+ ---
18
+
19
+ ## 1. Evolution Pipeline
20
+
21
+ ### O que é
22
+
23
+ Um pipeline que transforma learnings acumulados em arquivos de configuração do projeto. Em vez de depender de você lembrar de promover learnings manualmente, o AIOSON analisa os padrões e propõe — ou aplica — as mudanças automaticamente.
24
+
25
+ ### Como funciona
26
+
27
+ Durante as sessões, os agentes registram learnings no banco de dados com tipo, título, frequência e evidências. Quando você roda `aioson learning:evolve`, o pipeline:
28
+
29
+ 1. Filtra learnings com frequência ≥ 2 (ocorreram ao menos duas vezes)
30
+ 2. Agrupa por tipo (preferência, processo, domínio, qualidade)
31
+ 3. Gera deltas — mudanças propostas para arquivos de contexto e regras
32
+ 4. Roda dois gates de validação antes de aprovar cada delta
33
+ 5. Aplica os aprovados ou salva uma proposta para revisão
34
+
35
+ **Gate 1 — Constitucional:** nenhum delta pode tocar arquivos em `.aioson/agents/`. Esses arquivos são imutáveis — são a identidade dos agentes, não configuração de projeto.
36
+
37
+ **Gate 2 — Tamanho:** arquivos alvo não podem ultrapassar 300 linhas após o append. Evita que o contexto cresça sem controle.
38
+
39
+ ### Mapeamento de tipos para arquivos
40
+
41
+ | Tipo de learning | Arquivo alvo |
42
+ |---|---|
43
+ | `preference` | `.aioson/context/project.context.md` → seção Preferências |
44
+ | `domain` | `.aioson/context/project.context.md` → seção Conhecimento de Domínio |
45
+ | `quality` | `.aioson/context/project.context.md` → seção Padrões de Qualidade |
46
+ | `process` | `.aioson/rules/<squad>-process.md` (ou `project-process.md`) |
47
+
48
+ ### Comandos
49
+
50
+ ```bash
51
+ # Ver o que seria evoluído (sem aplicar)
52
+ aioson learning:evolve .
53
+ aioson learning:evolve . --dry-run
54
+
55
+ # Aplicar automaticamente sem perguntar
56
+ aioson learning:evolve . --auto-apply
57
+
58
+ # Filtrar por squad específico
59
+ aioson learning:evolve . --squad=backend --dry-run
60
+
61
+ # Aplicar um arquivo de proposta salvo
62
+ aioson learning:apply . --file=.aioson/evolution/pending-2026-03-30T12-00-00.json
63
+ ```
64
+
65
+ ### Exemplos práticos
66
+
67
+ **Cenário:** durante 3 sessões com o agente `/dev`, você corrigiu o mesmo erro — o agente tentava criar arquivos `.ts` num projeto que usa apenas `.js`.
68
+
69
+ O agente registrou um learning `correction` a cada sessão. Com frequência 3:
70
+
71
+ ```bash
72
+ aioson learning:evolve . --dry-run
73
+ ```
74
+
75
+ Saída:
76
+ ```
77
+ Analisando 3 learnings elegíveis...
78
+
79
+ Deltas propostos: 1 aprovado, 0 rejeitados
80
+
81
+ [1] APPEND → .aioson/context/project.context.md
82
+ Seção: ## Preferências dos Agentes
83
+ Learnings: 3 (preference)
84
+ - Este projeto usa CommonJS (.js). Nunca criar arquivos .ts. (alta confiança)
85
+ > Corrigido 3 vezes em sessões de /dev
86
+ ```
87
+
88
+ ```bash
89
+ aioson learning:evolve . --auto-apply
90
+ # ✓ Aplicado: .aioson/context/project.context.md (+3 learnings)
91
+ # 1 delta(s) aplicado(s) com sucesso.
92
+ ```
93
+
94
+ Na próxima sessão, o agente lê o contexto atualizado e não comete mais o erro.
95
+
96
+ **Cenário:** equipe tem padrões de processo que emergem das sessões.
97
+
98
+ ```bash
99
+ aioson learning:evolve . --squad=backend
100
+ # Gera .aioson/rules/backend-process.md com os padrões consolidados
101
+ ```
102
+
103
+ ---
104
+
105
+ ## 2. Dynamic Tool Registry
106
+
107
+ ### O que é
108
+
109
+ Um registro persistente de ferramentas criadas pelos próprios agentes durante o trabalho. Uma ferramenta registrada hoje fica disponível em todas as sessões futuras do projeto — sem que você precise configurar nada.
110
+
111
+ ### Como funciona
112
+
113
+ As tools são armazenadas no banco SQLite do projeto (`dynamic_tools`). Cada tool tem:
114
+ - Nome único por projeto
115
+ - Descrição
116
+ - Tipo: `shell` (comando bash inline) ou `script` (arquivo Node.js)
117
+ - Squad opcional (se omitido, disponível para todos os agentes)
118
+
119
+ A execução acontece via subprocess isolado com ambiente restrito — variáveis como `ANTHROPIC_API_KEY` nunca são passadas para as tools.
120
+
121
+ ### Comandos
122
+
123
+ ```bash
124
+ # Registrar uma tool do tipo shell
125
+ aioson tool:register . \
126
+ --name=run_tests \
127
+ --description="Roda os testes do projeto" \
128
+ --type=shell \
129
+ --cmd="npm test"
130
+
131
+ # Registrar com filtro de squad
132
+ aioson tool:register . \
133
+ --name=seed_db \
134
+ --description="Popula o banco de desenvolvimento" \
135
+ --type=shell \
136
+ --cmd="npm run db:seed" \
137
+ --squad=backend
138
+
139
+ # Registrar um script Node.js
140
+ aioson tool:register . \
141
+ --name=check_coverage \
142
+ --description="Verifica cobertura de testes" \
143
+ --type=script \
144
+ --path=.aioson/tools/check-coverage.js
145
+
146
+ # Listar todas as tools
147
+ aioson tool:list .
148
+
149
+ # Listar tools de um squad
150
+ aioson tool:list . --squad=backend
151
+
152
+ # Chamar uma tool
153
+ aioson tool:call . --name=run_tests --input='{}'
154
+
155
+ # Chamar com input
156
+ aioson tool:call . --name=run_tests --input='{"filter":"auth"}'
157
+
158
+ # Ver detalhes de uma tool
159
+ aioson tool:show . --name=run_tests
160
+
161
+ # Remover uma tool
162
+ aioson tool:unregister . --name=run_tests
163
+ ```
164
+
165
+ ### Exemplos práticos
166
+
167
+ **Cenário:** agente `/qa` precisa checar se o servidor local está no ar antes de rodar testes. Em vez de escrever o curl toda vez:
168
+
169
+ ```bash
170
+ aioson tool:register . \
171
+ --name=check_health \
172
+ --description="Verifica se o servidor local está respondendo" \
173
+ --type=shell \
174
+ --cmd='curl -sf http://localhost:3000/health && echo "OK" || echo "DOWN"'
175
+ ```
176
+
177
+ Agora qualquer agente pode usar:
178
+ ```bash
179
+ aioson tool:call . --name=check_health --input='{}'
180
+ # OK
181
+ ```
182
+
183
+ **Cenário:** agente `/dev` cria um script mais complexo para validar migrações:
184
+
185
+ ```bash
186
+ # Agente cria o arquivo
187
+ # .aioson/tools/validate-migrations.js
188
+
189
+ # Depois registra
190
+ aioson tool:register . \
191
+ --name=validate_migrations \
192
+ --description="Verifica se há migrações pendentes no banco" \
193
+ --type=script \
194
+ --path=.aioson/tools/validate-migrations.js \
195
+ --squad=backend \
196
+ --by=dev
197
+ ```
198
+
199
+ **Segurança:** o subprocess recebe apenas `PATH`, `HOME`, `LANG`, `TERM`, `USER` e `TOOL_INPUT` (o JSON de input). Nenhuma variável de ambiente com credenciais é passada.
200
+
201
+ **Listar tudo:**
202
+ ```bash
203
+ aioson tool:list .
204
+ # Tools registradas (3):
205
+ #
206
+ # run_tests
207
+ # Roda os testes do projeto
208
+ # tipo: shell | registrada: 2026-03-30
209
+ #
210
+ # check_health
211
+ # Verifica se o servidor local está respondendo
212
+ # tipo: shell | registrada: 2026-03-30
213
+ #
214
+ # validate_migrations [squad:backend]
215
+ # Verifica se há migrações pendentes no banco
216
+ # tipo: script | registrada: 2026-03-30
217
+ ```
218
+
219
+ ---
220
+
221
+ ## 3. Ambient Intelligence Layer
222
+
223
+ ### O que é
224
+
225
+ Um sistema que monitora o estado do projeto e avisa proativamente quando há itens que precisam de atenção — sem que você precise lembrar de rodar comandos.
226
+
227
+ ### Como funciona
228
+
229
+ O AIOSON injeta verificações automáticas em pontos-chave do fluxo:
230
+
231
+ - **Ao iniciar uma sessão** (`live:start`): exibe um digest se há itens pendentes
232
+ - **Ao fechar uma sessão** (`live:close`): mostra o que foi acumulado durante o trabalho
233
+ - **Sob demanda** (`aioson health`): relatório completo do estado do projeto
234
+
235
+ ### Comando health
236
+
237
+ ```bash
238
+ aioson health .
239
+ ```
240
+
241
+ Saída de exemplo:
242
+ ```
243
+ AIOSON Health — itens que precisam de atenção:
244
+
245
+ ● 8 learning(s) prontos para evoluir
246
+ → aioson learning:evolve .
247
+ ○ Squad "frontend" inativo há 14 dia(s)
248
+ ✗ 1 tool(s) com handler inválido: validate_migrations
249
+ → aioson tool:unregister . --name=validate_migrations
250
+
251
+ ```
252
+
253
+ ### Digest automático no live:start
254
+
255
+ Ao iniciar qualquer sessão com um agente:
256
+
257
+ ```bash
258
+ aioson live:start . --agent=dev --tool=claude
259
+ # Sessão iniciada: @dev | claude | session-dev-...
260
+ #
261
+ # AIOSON Health — itens pendentes:
262
+ # ● 5 learning(s) prontos para evoluir
263
+ # → aioson health . para detalhes
264
+ ```
265
+
266
+ ### Digest automático no live:close
267
+
268
+ ```bash
269
+ aioson live:close . --agent=dev --summary="Implementou feature de auth"
270
+ # Sessão encerrada: @dev | session-dev-... | .aioson/runtime/aios.sqlite
271
+ #
272
+ # AIOSON Health — itens após sessão:
273
+ # ● 3 learning(s) prontos para evoluir
274
+ # → aioson health . para detalhes e ações
275
+ ```
276
+
277
+ Para suprimir o digest (modo CI ou scripts):
278
+ ```bash
279
+ aioson live:start . --agent=dev --tool=claude --no-health
280
+ aioson live:close . --agent=dev --no-health
281
+ ```
282
+
283
+ ### O que o health verifica
284
+
285
+ | Item | Nível | Ação sugerida |
286
+ |---|---|---|
287
+ | Learnings com freq ≥ 2 prontos para evoluir | info | `aioson learning:evolve .` |
288
+ | Squads sem atividade há 14+ dias | warn | Revisar contexto do squad |
289
+ | Tools com handler de script inexistente | error | `aioson tool:unregister . --name=<nome>` |
290
+ | Propostas de evolução pendentes em `.aioson/evolution/` | info | `aioson learning:apply . --file=...` |
291
+
292
+ ---
293
+
294
+ ## Fluxo completo integrado
295
+
296
+ ```
297
+ Sessão de trabalho com /dev
298
+
299
+ ├─ live:start
300
+ │ └─ Health digest: "5 learnings prontos para evoluir"
301
+
302
+ ├─ Agente trabalha...
303
+ │ ├─ Você corrige erros → agente registra learnings
304
+ │ └─ Agente cria tools via tool:register
305
+
306
+ └─ live:close
307
+ ├─ Health digest: "8 learnings prontos para evoluir"
308
+ └─ Sugestão: aioson learning:evolve .
309
+
310
+ └─ learning:evolve --auto-apply
311
+ ├─ Gate constitucional: ✓
312
+ ├─ Gate de tamanho: ✓
313
+ └─ Aplica → .aioson/context/project.context.md atualizado
314
+
315
+ Próxima sessão: agente já sabe o que não fazer.
316
+ ```
317
+
318
+ ---
319
+
320
+ ## Referências
321
+
322
+ - [Comandos CLI](./comandos-cli.md) — referência completa de todos os comandos
323
+ - [Memória e Contexto](./memoria-contexto.md) — como o contexto do projeto é gerenciado
324
+ - [Squads](./automacao-squads.md) — squads e seus learnings
@@ -0,0 +1,104 @@
1
+ # Monitor de Contexto
2
+
3
+ > Visualiza em tempo real o uso de janela de contexto por agente, com alertas automáticos de warning e critical.
4
+
5
+ O `context:monitor` lê o arquivo `context-monitor.json` de uma squad e exibe barras de progresso ASCII com o percentual de contexto utilizado por cada agente. Útil para acompanhar sessões longas e antecipar quando um agente está próximo de compactar.
6
+
7
+ ---
8
+
9
+ ## Comando
10
+
11
+ ### `context:monitor`
12
+
13
+ ```bash
14
+ aioson context:monitor [path] [opções]
15
+ ```
16
+
17
+ **Opções:**
18
+
19
+ | Opção | Descrição |
20
+ |---|---|
21
+ | `--squad=<slug>` | Squad a monitorar (obrigatório) |
22
+ | `--agent=<id>` | Filtrar por agente específico (opcional) |
23
+ | `--json` | Retorna dados estruturados em JSON |
24
+
25
+ **Exemplos:**
26
+
27
+ ```bash
28
+ # Monitorar todos os agentes de uma squad
29
+ aioson context:monitor . --squad=meu-squad
30
+
31
+ # Monitorar apenas um agente
32
+ aioson context:monitor . --squad=meu-squad --agent=dev
33
+
34
+ # Output JSON para dashboards ou scripts
35
+ aioson context:monitor . --squad=meu-squad --json
36
+ ```
37
+
38
+ ---
39
+
40
+ ## Saída
41
+
42
+ ```
43
+ Context Monitor — meu-squad
44
+
45
+ ✓ dev [████████░░░░░░░░░░░░] 42% 42000/100000
46
+ ⚠ qa [█████████████████░░░] 85% 85000/100000
47
+ ! analyst [████████████████████] 97% 97000/100000
48
+
49
+ Thresholds: warning=85% critical=95%
50
+ Updated: 2026-03-30T14:23:00.000Z
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Níveis de alerta
56
+
57
+ | Ícone | Nível | Limiar | Situação |
58
+ |---|---|---|---|
59
+ | ✓ | normal | < 85% | Contexto confortável |
60
+ | ⚠ | warning | 85–94% | Prepare recovery, evite carregar novos arquivos grandes |
61
+ | ! | critical | 95–99% | Recovery deve ser gerado agora |
62
+ | X | overflow | ≥ 100% | Compactação iminente ou já ocorreu |
63
+
64
+ ---
65
+
66
+ ## Quando usar
67
+
68
+ - Antes de iniciar uma tarefa longa em um agente que já está com contexto parcialmente cheio
69
+ - Para saber qual agente da squad está mais próximo de compactar
70
+ - Para integrar alertas em scripts de monitoramento via `--json`
71
+
72
+ ---
73
+
74
+ ## JSON output
75
+
76
+ Com `--json`, retorna objeto com os agentes e seus níveis:
77
+
78
+ ```json
79
+ {
80
+ "ok": true,
81
+ "squadSlug": "meu-squad",
82
+ "agents": {
83
+ "dev": {
84
+ "totalUsed": 42000,
85
+ "windowSize": 100000,
86
+ "warningLevel": "normal"
87
+ },
88
+ "qa": {
89
+ "totalUsed": 85000,
90
+ "windowSize": 100000,
91
+ "warningLevel": "warning"
92
+ }
93
+ },
94
+ "updatedAt": "2026-03-30T14:23:00.000Z"
95
+ }
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Relação com recovery automático
101
+
102
+ Em squads, o monitor detecta automaticamente quando o uso de contexto de um agente cai mais de 30% entre duas medições (sinal de compactação) e injeta um arquivo de recovery. Esse comportamento é coordenado por `checkAndInjectRecovery()` dentro do Squad Dashboard.
103
+
104
+ Para sessões diretas (sem squad), use [`recovery:generate`](./recuperacao-de-sessao.md).