@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.
- package/README.md +6 -0
- package/docs/design-previews/aurora-command-ui-website.html +884 -0
- package/docs/design-previews/aurora-command-ui.html +682 -0
- package/docs/design-previews/bold-editorial-ui-website.html +658 -0
- package/docs/design-previews/bold-editorial-ui.html +717 -0
- package/docs/design-previews/clean-saas-ui-website.html +1202 -0
- package/docs/design-previews/clean-saas-ui.html +549 -0
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
- package/docs/design-previews/cognitive-core-ui.html +463 -0
- package/docs/design-previews/glassmorphism-ui-website.html +572 -0
- package/docs/design-previews/glassmorphism-ui.html +886 -0
- package/docs/design-previews/index.html +699 -0
- package/docs/design-previews/interface-design-website.html +1187 -0
- package/docs/design-previews/interface-design.html +513 -0
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
- package/docs/design-previews/neo-brutalist-ui.html +797 -0
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
- package/docs/design-previews/premium-command-center-ui.html +552 -0
- package/docs/design-previews/warm-craft-ui-website.html +684 -0
- package/docs/design-previews/warm-craft-ui.html +739 -0
- package/docs/en/cli-reference.md +20 -9
- package/docs/pt/README.md +7 -0
- package/docs/pt/agent-sharding.md +132 -0
- package/docs/pt/agentes.md +8 -2
- package/docs/pt/busca-de-contexto.md +129 -0
- package/docs/pt/cache-de-contexto.md +156 -0
- package/docs/pt/comandos-cli.md +28 -0
- package/docs/pt/design-hybrid-forge.md +107 -0
- package/docs/pt/inicio-rapido.md +54 -3
- package/docs/pt/inteligencia-adaptativa.md +324 -0
- package/docs/pt/monitor-de-contexto.md +104 -0
- package/docs/pt/recuperacao-de-sessao.md +125 -0
- package/docs/pt/sandbox.md +125 -0
- package/docs/pt/skills.md +98 -6
- package/package.json +1 -1
- package/src/agent-loader.js +280 -0
- package/src/cli.js +94 -0
- package/src/commands/agent-loader.js +85 -0
- package/src/commands/context-cache.js +90 -0
- package/src/commands/context-monitor.js +92 -0
- package/src/commands/context-search.js +66 -0
- package/src/commands/design-hybrid-options.js +385 -0
- package/src/commands/health.js +214 -0
- package/src/commands/init.js +54 -13
- package/src/commands/install.js +52 -13
- package/src/commands/learning-evolve.js +355 -0
- package/src/commands/live.js +34 -0
- package/src/commands/recovery.js +43 -0
- package/src/commands/sandbox.js +37 -0
- package/src/commands/setup-context.js +22 -2
- package/src/commands/setup.js +178 -0
- package/src/commands/skill.js +79 -32
- package/src/commands/tool-registry-cmd.js +232 -0
- package/src/commands/update.js +7 -0
- package/src/constants.js +9 -0
- package/src/context-cache.js +159 -0
- package/src/context-search.js +326 -0
- package/src/design-variation-catalog.js +503 -0
- package/src/i18n/messages/en.js +32 -2
- package/src/i18n/messages/es.js +30 -2
- package/src/i18n/messages/fr.js +30 -2
- package/src/i18n/messages/pt-BR.js +32 -2
- package/src/install-animation.js +260 -0
- package/src/install-profile.js +143 -0
- package/src/install-wizard.js +474 -0
- package/src/installer.js +38 -10
- package/src/parser.js +7 -1
- package/src/recovery-context-session.js +154 -0
- package/src/runtime-store.js +97 -1
- package/src/sandbox.js +177 -0
- package/src/tool-executor.js +94 -0
- package/src/updater.js +11 -3
- package/template/.aioson/agents/analyst.md +58 -3
- package/template/.aioson/agents/architect.md +38 -0
- package/template/.aioson/agents/design-hybrid-forge.md +127 -0
- package/template/.aioson/agents/dev.md +103 -0
- package/template/.aioson/agents/deyvin.md +57 -0
- package/template/.aioson/agents/pm.md +58 -0
- package/template/.aioson/agents/product.md +28 -0
- package/template/.aioson/agents/qa.md +79 -0
- package/template/.aioson/agents/setup.md +65 -3
- package/template/.aioson/agents/sheldon.md +107 -6
- package/template/.aioson/agents/tester.md +156 -0
- package/template/.aioson/config.md +15 -0
- package/template/.aioson/context/forensics/.gitkeep +0 -0
- package/template/.aioson/context/seeds/seed-example.md +27 -0
- package/template/.aioson/context/user-profile.md +42 -0
- package/template/.aioson/locales/en/agents/setup.md +33 -1
- package/template/.aioson/locales/es/agents/setup.md +33 -1
- package/template/.aioson/locales/fr/agents/setup.md +33 -1
- package/template/.aioson/locales/pt-BR/agents/setup.md +33 -1
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +45 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +66 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +144 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +291 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +117 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +188 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
- package/template/AGENTS.md +23 -1
- 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
|
+
```
|
package/docs/pt/inicio-rapido.md
CHANGED
|
@@ -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
|
-
|
|
19
|
-
|
|
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
|
-
|
|
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).
|