@eximia-ventures/claude-code-toolkit 3.2.1 → 4.0.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 CHANGED
@@ -83,7 +83,7 @@ O wizard guia você pelas opções:
83
83
 
84
84
  ```
85
85
  ╔══════════════════════════════════════╗
86
- ║ claude-code-toolkit v3.0.0 ║
86
+ ║ claude-code-toolkit v4.0.0 ║
87
87
  ║ Setup completo para Claude Code ║
88
88
  ╚══════════════════════════════════════╝
89
89
 
@@ -180,7 +180,7 @@ npx @eximia-ventures/claude-code-toolkit doctor
180
180
  ```
181
181
  ─── Diagnóstico ───
182
182
 
183
- ✓ Manifest encontrado (v3.0.0)
183
+ ✓ Manifest encontrado (v4.0.0)
184
184
  ✓ Diretório ~/.claude/ existe
185
185
  ✓ settings.json contém statusLine
186
186
  ✓ statusline.sh existe e é executável
@@ -212,7 +212,7 @@ npx @eximia-ventures/claude-code-toolkit update meter
212
212
  ```
213
213
  ─── Atualização ───
214
214
 
215
- ℹ Instalação encontrada (v3.2.0, 3 módulos)
215
+ ℹ Instalação encontrada (v4.0.0, 3 módulos)
216
216
 
217
217
  ─── Statusline ───
218
218
 
@@ -1,49 +1,247 @@
1
1
  # /aios-integrate — Gerenciador de Artefatos AIOS
2
2
 
3
- Você é um assistente especializado em integrar, listar e exportar artefatos AIOS (agents e squads).
3
+ Voce e um assistente especializado em integrar, atualizar, remover, listar, exportar e verificar artefatos AIOS (agents e squads).
4
4
 
5
- ## Instruções
5
+ ## Instrucoes
6
6
 
7
- Quando o usuário executar `/aios-integrate`, siga este fluxo:
7
+ Quando o usuario executar `/aios-integrate`, siga este fluxo:
8
8
 
9
- ### 1. Pergunte a ação desejada
9
+ ### 1. Pergunte a acao desejada
10
10
 
11
- Apresente as opções:
12
- 1. **Integrar artefato externo** — Importar um agent ou squad de um caminho/URL
13
- 2. **Listar artefatos instalados** — Mostrar agents e squads registrados
14
- 3. **Exportar artefatos** — Empacotar artefatos para compartilhamento
11
+ Apresente as opcoes:
12
+ 1. **Integrar artefato externo** — Importar um agent ou squad (suporta dry-run e batch)
13
+ 2. **Atualizar artefato instalado** — Atualizar agent/squad com nova versao
14
+ 3. **Remover artefato** — Desinstalar agent/squad com limpeza completa
15
+ 4. **Listar artefatos instalados** — Mostrar agents e squads com filtros
16
+ 5. **Exportar artefatos** — Empacotar artefatos em .zip para compartilhamento
17
+ 6. **Health check** — Verificar integridade de todos os artefatos instalados
15
18
 
16
19
  ---
17
20
 
18
- ### 2. Integrar Artefato Externo
21
+ ## Procedimentos Comuns
19
22
 
20
- Quando o usuário escolher integrar:
23
+ Rotinas compartilhadas por multiplas acoes. Referencie estas secoes quando indicado nos fluxos.
21
24
 
22
- 1. Peça o **caminho ou URL** do artefato (arquivo `.md`/`.yaml` para agent, ou pasta para squad)
23
- 2. Leia e analise o artefato para detectar o tipo:
24
- - Se contém `agent:` com campos `name`, `id`, `persona` → é um **Agent**
25
- - Se contém `name`, `version`, `components`, `slashPrefix` → é um **Squad**
25
+ ### Deteccao de Tipo de Artefato
26
26
 
27
- #### Para Agent:
27
+ Ao receber um arquivo/pasta, determine o tipo:
28
+ - Se contem `agent:` com campos `name`, `id`, `persona` → e um **Agent**
29
+ - Se contem `name`, `version`, `components`, `slashPrefix` → e um **Squad**
30
+ - Se nenhum match → rejeitar com erro: "Formato nao reconhecido. Esperado agent (.md com `agent:`) ou squad (pasta com squad.yaml)."
28
31
 
29
- Crie automaticamente todos os arquivos de integração:
32
+ ### Validacao por Schema
30
33
 
34
+ Valide artefatos usando os schemas reais em `.aios-core/schemas/`.
35
+
36
+ **Para Agent** (schema: `.aios-core/schemas/agent-v3-schema.json`):
37
+
38
+ 1. **Campos required** (ERRORS se ausentes):
39
+ - Top-level: `agent`, `persona`, `commands`
40
+ - Dentro de `agent`: `name`, `id`, `title`, `icon`
41
+ - Dentro de `persona`: `role`
42
+
43
+ 2. **Patterns** (ERRORS se invalidos):
44
+ - `agent.id` deve seguir `^[a-z][a-z0-9-]*$` (kebab-case, comeca com letra)
45
+
46
+ 3. **Enums** (WARNINGS se fora do set):
47
+ - `communication.tone` em `["pragmatic","conceptual","analytical","supportive","precise"]`
48
+ - `persona_profile.archetype` — verificar se e string nao vazia
49
+
50
+ 4. **Tipos** (ERRORS se tipo errado):
51
+ - `commands` deve ser array
52
+ - `agent.name`, `agent.id`, `agent.title` devem ser strings
53
+ - `agent.icon` deve ser string
54
+ - `dependencies` deve ser object (se presente)
55
+
56
+ 5. **Comandos** (WARNINGS):
57
+ - Cada command deve ter `name` e `description`
58
+ - `visibility` deve ser `full`, `quick` ou `key` (se presente)
59
+
60
+ **Para Squad** (schema: `.aios-core/schemas/squad-schema.json`):
61
+
62
+ 1. **Campos required** (ERRORS): `name`, `version`
63
+ 2. **Patterns** (ERRORS):
64
+ - `name` deve seguir `^[a-z0-9-]+$` (kebab-case)
65
+ - `version` deve seguir semver
66
+ 3. **Componentes** (WARNINGS):
67
+ - `components.agents` deve ser array (se presente)
68
+ - `components.tasks` deve ser array (se presente)
69
+ - `slashPrefix` deve ser kebab-case (se presente)
70
+
71
+ **Relatorio de validacao:**
72
+ ```
73
+ Validacao: {artifact-name}
74
+ ERRORS (bloqueiam integracao):
75
+ - [E001] Campo required ausente: agent.id
76
+ - [E002] Pattern invalido: agent.id "My Agent" (esperado: kebab-case)
77
+ WARNINGS (informativos):
78
+ - [W001] Campo opcional ausente: communication.tone
79
+ - [W002] Enum desconhecido: archetype "Unknown"
80
+ Resultado: N errors, M warnings
31
81
  ```
32
- .codex/agents/{id}.md — Cópia do agent para IDE discovery
82
+
83
+ Se ERRORS > 0: bloquear operacao e mostrar erros.
84
+ Se apenas WARNINGS: prosseguir com avisos.
85
+
86
+ **Fallback:** Se os arquivos de schema nao forem encontrados em `.aios-core/schemas/`, usar validacao minima (campos required apenas) e exibir aviso: "Schemas nao encontrados. Usando validacao minima."
87
+
88
+ ### Deteccao de Idioma
89
+
90
+ Para determinar o idioma de output (usado no Auto-Explain):
91
+
92
+ 1. Verificar campo `language` em `.aios-core/core-config.yaml` (se existir)
93
+ 2. Verificar campo `language` em `.claude/CLAUDE.md` (se existir)
94
+ 3. Inferir do conteudo predominante de `.claude/CLAUDE.md`:
95
+ - Se contem predominantemente palavras em portugues (de, para, quando, como, com) → PT
96
+ - Se contem predominantemente palavras em ingles (the, for, when, how, with) → EN
97
+ 4. Default: PT (portugues)
98
+
99
+ **Tabela de traducao para headers do Auto-Explain:**
100
+
101
+ | PT | EN |
102
+ |----|-----|
103
+ | O que e | What is it |
104
+ | Como ativar | How to activate |
105
+ | Comandos disponiveis | Available commands |
106
+ | Quando usar | When to use |
107
+ | Exemplo pratico | Practical example |
108
+ | Dependencias | Dependencies |
109
+ | Agents incluidos | Included agents |
110
+ | Workflow tipico | Typical workflow |
111
+ | Componentes | Components |
112
+
113
+ Dados extraidos do artefato (nomes de comandos, roles, IDs) permanecem sempre no idioma original — nao traduza identificadores tecnicos.
114
+
115
+ ### Operacoes CSV Padronizadas
116
+
117
+ O manifest `.aios-core/manifests/agents.csv` usa **8 colunas**:
118
+
119
+ ```csv
120
+ id,name,archetype,icon,version,status,file_path,when_to_use
121
+ ```
122
+
123
+ | Coluna | Descricao | Exemplo |
124
+ |--------|-----------|---------|
125
+ | `id` | ID unico kebab-case | `dev` |
126
+ | `name` | Nome da persona | `Dex` |
127
+ | `archetype` | Arquetipo da persona | `Builder` |
128
+ | `icon` | Emoji | `💻` |
129
+ | `version` | Versao semver | `2.1.0` |
130
+ | `status` | Status atual | `active` / `deprecated` / `experimental` |
131
+ | `file_path` | Caminho relativo do agent | `.aios-core/development/agents/dev.md` |
132
+ | `when_to_use` | Descricao de uso (pode ser multiline, quoted) | `"Use for code implementation..."` |
133
+
134
+ **Regras de parse:**
135
+ - Campos com virgulas ou newlines devem estar entre aspas duplas (`"..."`)
136
+ - `when_to_use` frequentemente contem multiline — parsear respeitando RFC 4180 (CSV com campos quoted)
137
+ - Primeira linha e sempre o header — nunca tratar como dado
138
+
139
+ **Adicionar entrada:**
140
+ ```csv
141
+ {id},{name},{archetype},{icon},{version},{status},{file_path},"{when_to_use}"
142
+ ```
143
+
144
+ **Remover entrada:** Deletar a linha inteira cujo campo `id` corresponde.
145
+
146
+ **Atualizar entrada:** Substituir a linha inteira cujo campo `id` corresponde pela nova versao.
147
+
148
+ ---
149
+
150
+ ## 2. Integrar Artefato Externo
151
+
152
+ Quando o usuario escolher integrar:
153
+
154
+ 1. Peca o **caminho ou URL** do artefato (arquivo `.md`/`.yaml` para agent, ou pasta para squad)
155
+ 2. Detecte o modo de integracao:
156
+ - **Arquivo unico** (`.md` com `agent:`) → integracao normal
157
+ - **Pasta com multiplos `.md` contendo `agent:`** → **batch mode** (Feature 9)
158
+ - **Arquivo `.json`/`.yaml` com campo `batch:` listando paths** → **batch mode**
159
+ - **Arquivo `.zip`** → extrair para temp, depois processar conteudo
160
+ - **Arquivo `.tar.gz`** → extrair para temp, depois processar conteudo
161
+ 3. Pergunte o modo de execucao:
162
+ - **Executar** (default) — integrar normalmente
163
+ - **Dry-run** — mostrar preview sem criar/modificar arquivos (Feature 8)
164
+ 4. Leia e analise o artefato usando **Deteccao de Tipo** (Procedimentos Comuns)
165
+ 5. Execute **Validacao por Schema** (Procedimentos Comuns)
166
+ 6. Se validacao OK (sem ERRORS), prossiga com a integracao
167
+
168
+ ### Modo Dry-Run (Feature 8)
169
+
170
+ Quando dry-run estiver ativo, mostre tudo que **seria** feito sem executar:
171
+
172
+ ```
173
+ 🔍 Dry-Run: {artifact-name}
174
+
175
+ [NEW] .codex/agents/{id}.md (estimado: ~N KB)
176
+ [NEW] .antigravity/agents/{id}.md (estimado: ~N KB)
177
+ [NEW] .agent/workflows/{id}.md (estimado: ~N KB)
178
+ [NEW] .claude/commands/{id}-{cmd}.md (x M arquivos)
179
+ [APPEND] .aios-core/manifests/agents.csv (+1 linha)
180
+
181
+ Validacao: 0 errors, N warnings
182
+ [CONFLICT] Nenhum / ID "{id}" ja existe no manifest
183
+
184
+ Nenhum arquivo foi criado ou modificado.
185
+ ```
186
+
187
+ Para batch dry-run, mostrar preview consolidado de todos os artefatos.
188
+
189
+ ### Modo Batch (Feature 9)
190
+
191
+ Quando batch detectado:
192
+
193
+ 1. Listar todos os artefatos encontrados:
194
+ ```
195
+ Artefatos detectados (batch):
196
+ 1. agent-a.md → Agent "dev-helper" (v1.0.0)
197
+ 2. agent-b.md → Agent "code-reviewer" (v1.0.0)
198
+ 3. invalid.md → [ERRO] Formato nao reconhecido
199
+ ```
200
+ 2. Pedir confirmacao para prosseguir
201
+ 3. Integrar sequencialmente; se um falhar validacao, **pular e continuar** com os demais
202
+ 4. Relatorio consolidado:
203
+ ```
204
+ Batch completo:
205
+ Sucesso: N artefatos integrados
206
+ Falha: M artefatos (listados abaixo)
207
+ - invalid.md: Formato nao reconhecido
208
+ Total: N+M processados
209
+ ```
210
+
211
+ **Edge cases batch:**
212
+ - IDs duplicados no batch → rejeitar a duplicata, integrar o primeiro encontrado
213
+ - Pasta vazia ou sem artefatos validos → "No valid artifacts found in {path}"
214
+ - Combinavel com dry-run (preview do batch completo sem executar)
215
+
216
+ ### Fluxo Agent
217
+
218
+ Crie automaticamente todos os arquivos de integracao:
219
+
220
+ ```
221
+ .codex/agents/{id}.md — Copia do agent para IDE discovery
33
222
  .antigravity/agents/{id}.md — Workflow activation file
34
223
  .agent/workflows/{id}.md — Workflow file
35
224
  ```
36
225
 
37
- Registre no manifest `.aios-core/manifests/agents.csv` adicionando uma linha:
226
+ Registre no manifest `.aios-core/manifests/agents.csv` adicionando uma linha com as 8 colunas:
38
227
  ```csv
39
- {id},{name},{title},{icon},{status}
228
+ {id},{name},{archetype},{icon},{version},{status},{file_path},"{when_to_use}"
40
229
  ```
41
230
 
42
- Para cada `command` definido no agent (na seção `commands`), crie um slash command em `.claude/commands/`:
231
+ Extraia os valores dos campos do artefato:
232
+ - `id` ← `agent.id`
233
+ - `name` ← `agent.name`
234
+ - `archetype` ← `persona_profile.archetype` (ou "Custom" se ausente)
235
+ - `icon` ← `agent.icon`
236
+ - `version` ← inferir de metadata ou usar "1.0.0" se ausente
237
+ - `status` ← "active"
238
+ - `file_path` ← caminho relativo onde o source foi copiado
239
+ - `when_to_use` ← `agent.whenToUse` (ou inferir de `persona.role`)
240
+
241
+ Para cada `command` definido no agent (na secao `commands`), crie um slash command em `.claude/commands/`:
43
242
  - Nome do arquivo: `{agent-id}-{command-name}.md`
44
- - Conteúdo: Instruções para ativar o agent e executar o comando específico
243
+ - Conteudo:
45
244
 
46
- Exemplo de slash command gerado:
47
245
  ```markdown
48
246
  # /{agent-id}-{command-name}
49
247
 
@@ -52,26 +250,26 @@ Ative o agent @{agent-name} e execute o comando `*{command-name}`.
52
250
  ## Contexto
53
251
  - Agent: {agent-name} ({agent-title})
54
252
  - Comando: *{command-name}
55
- - Descrição: {command-description}
253
+ - Descricao: {command-description}
56
254
 
57
- ## Instruções
255
+ ## Instrucoes
58
256
  1. Leia o agent definition em `.codex/agents/{id}.md`
59
257
  2. Assuma a persona do agent
60
258
  3. Execute o comando `*{command-name}` conforme definido no agent
61
259
  ```
62
260
 
63
- #### Para Squad:
261
+ ### Fluxo Squad
64
262
 
65
263
  1. Copie a pasta completa do squad para `./squads/{squad-name}/`
66
264
  2. Leia o `squad.yaml` para identificar os agents do squad
67
265
  3. Para cada agent listado em `components.agents`:
68
- - Registre no `.aios-core/manifests/agents.csv`
69
- - Crie os arquivos de integração (mesmos do fluxo agent acima)
266
+ - Registre no `.aios-core/manifests/agents.csv` (8 colunas)
267
+ - Crie os arquivos de integracao (mesmos do fluxo agent acima)
70
268
  4. Para cada task listada em `components.tasks`, crie slash commands baseados no `slashPrefix`:
71
269
  - Nome: `{slashPrefix}-{task-name}.md`
72
- - Conteúdo: Instruções para executar a task do squad
270
+ - Conteudo: Instrucoes para executar a task do squad
73
271
 
74
- Ao finalizar, mostre um relatório:
272
+ Ao finalizar, mostre um relatorio:
75
273
  ```
76
274
  ✓ Artefato integrado: {name}
77
275
  Tipo: Agent/Squad
@@ -80,88 +278,90 @@ Ao finalizar, mostre um relatório:
80
278
  - .antigravity/agents/{id}.md
81
279
  - .agent/workflows/{id}.md
82
280
  - .claude/commands/{command}.md (x N)
83
- Manifest atualizado: agents.csv
281
+ Manifest atualizado: agents.csv (+1 entrada, 8 colunas)
84
282
  ```
85
283
 
86
- #### Auto-Explain: Guia de Uso
284
+ ### Auto-Explain: Guia de Uso
87
285
 
88
- Imediatamente após exibir o relatório de integração, gere automaticamente um **Guia de Uso** educativo do artefato integrado. O guia é obrigatórionão pergunte ao usuário se deseja; sempre gere.
286
+ Imediatamente apos exibir o relatorio de integracao, gere automaticamente um **Guia de Uso** educativo do artefato integrado. O guia e obrigatorionao pergunte ao usuario se deseja; sempre gere.
287
+
288
+ **Deteccao de idioma:** Use a rotina **Deteccao de Idioma** (Procedimentos Comuns) para determinar se o guia deve ser em PT ou EN.
89
289
 
90
290
  **Regras gerais:**
91
- 1. Sempre em português
92
- 2. Tom educativo e acessível — como se estivesse ensinando alguém a usar pela primeira vez
93
- 3. Máximo ~40 linhas
94
- 4. Use APENAS dados reais extraídos do artefato — nunca invente comandos, campos ou comportamentos
95
- 5. Omita seções para as quais não dados disponíveis no artefato
291
+ 1. Use o idioma detectado para headers e texto explicativo
292
+ 2. Tom educativo e acessivel — como se estivesse ensinando alguem a usar pela primeira vez
293
+ 3. Maximo ~40 linhas
294
+ 4. Use APENAS dados reais extraidos do artefato — nunca invente comandos, campos ou comportamentos
295
+ 5. Omita secoes para as quais nao ha dados disponiveis no artefato
96
296
  6. Use tabelas markdown para comandos e agents
97
297
 
98
- **Para Agent** — gere as seguintes seções (quando os dados existirem):
298
+ **Para Agent** — gere as seguintes secoes (quando os dados existirem):
99
299
 
100
- | Seção | O que mostrar | Fonte dos dados |
300
+ | Secao | O que mostrar | Fonte dos dados |
101
301
  |-------|---------------|-----------------|
102
- | **O que é** | Descrição do papel do agent em 1-2 frases | `persona.role` + `agent.whenToUse` |
103
- | **Como ativar** | Sintaxe de ativação (`@{id}`) e tom de interação | `agent.id`, `persona_profile.archetype`, `communication.tone` |
104
- | **Comandos disponíveis** | Tabela com nome, descrição e exemplo de uso | `commands[]` filtrados por `visibility` = `quick` ou `key` |
105
- | **Quando usar** | Situações práticas em que o agent é útil | `agent.whenToUse` ou inferido de `persona.role` |
106
- | **Exemplo prático** | Um cenário realista de uso com saudação e primeiro comando | `greeting_levels.named` + primeiro comando disponível |
107
- | **Dependências** | Contagem por categoria (tasks, templates, checklists) | `dependencies` (se existir) |
108
-
109
- Formato de saída para Agent:
302
+ | **O que e / What is it** | Descricao do papel do agent em 1-2 frases | `persona.role` + `agent.whenToUse` |
303
+ | **Como ativar / How to activate** | Sintaxe de ativacao (`@{id}`) e tom de interacao | `agent.id`, `persona_profile.archetype`, `communication.tone` |
304
+ | **Comandos disponiveis / Available commands** | Tabela com nome, descricao e exemplo de uso | `commands[]` filtrados por `visibility` = `quick` ou `key` |
305
+ | **Quando usar / When to use** | Situacoes praticas em que o agent e util | `agent.whenToUse` ou inferido de `persona.role` |
306
+ | **Exemplo pratico / Practical example** | Um cenario realista de uso com saudacao e primeiro comando | `greeting_levels.named` + primeiro comando disponivel |
307
+ | **Dependencias / Dependencies** | Contagem por categoria (tasks, templates, checklists) | `dependencies` (se existir) |
308
+
309
+ Formato de saida para Agent (exemplo em PT — adaptar headers conforme idioma):
110
310
  ```markdown
111
311
  ## 📖 Guia de Uso: {agent-name}
112
312
 
113
- ### O que é
114
- {descrição baseada em persona.role e whenToUse}
313
+ ### O que e
314
+ {descricao baseada em persona.role e whenToUse}
115
315
 
116
316
  ### Como ativar
117
- Chame `@{id}` para ativar. {tom de interação baseado em archetype/tone}
317
+ Chame `@{id}` para ativar. {tom de interacao baseado em archetype/tone}
118
318
 
119
- ### Comandos disponíveis
120
- | Comando | Descrição |
319
+ ### Comandos disponiveis
320
+ | Comando | Descricao |
121
321
  |---------|-----------|
122
- | `*{cmd}` | {descrição} |
322
+ | `*{cmd}` | {descricao} |
123
323
 
124
324
  ### Quando usar
125
- {situações práticas}
325
+ {situacoes praticas}
126
326
 
127
- ### Exemplo prático
128
- > Usuário: @{id} olá
129
- > Agent: {saudação named}
130
- > Usuário: *{primeiro-comando}
327
+ ### Exemplo pratico
328
+ > Usuario: @{id} ola
329
+ > Agent: {saudacao named}
330
+ > Usuario: *{primeiro-comando}
131
331
 
132
- ### Dependências
332
+ ### Dependencias
133
333
  {N} tasks, {N} templates, {N} checklists
134
334
  ```
135
335
 
136
- **Para Squad** — gere as seguintes seções (quando os dados existirem):
336
+ **Para Squad** — gere as seguintes secoes (quando os dados existirem):
137
337
 
138
- | Seção | O que mostrar | Fonte dos dados |
338
+ | Secao | O que mostrar | Fonte dos dados |
139
339
  |-------|---------------|-----------------|
140
- | **O que é** | Descrição do squad em 1-2 frases | `description` do squad |
141
- | **Agents incluídos** | Tabela com agent, papel e como ativar | `components.agents[]` |
142
- | **Comandos disponíveis** | Tabela com comandos usando o prefixo do squad | `components.tasks[]` com `slashPrefix` |
143
- | **Workflow típico** | Sequência de uso recomendada | Inferido de `components.workflows[]` ou composição dos agents |
144
- | **Componentes** | Resumo quantitativo | Contagem de agents, tasks, workflows, templates |
340
+ | **O que e / What is it** | Descricao do squad em 1-2 frases | `description` do squad |
341
+ | **Agents incluidos / Included agents** | Tabela com agent, papel e como ativar | `components.agents[]` |
342
+ | **Comandos disponiveis / Available commands** | Tabela com comandos usando o prefixo do squad | `components.tasks[]` com `slashPrefix` |
343
+ | **Workflow tipico / Typical workflow** | Sequencia de uso recomendada | Inferido de `components.workflows[]` ou composicao dos agents |
344
+ | **Componentes / Components** | Resumo quantitativo | Contagem de agents, tasks, workflows, templates |
145
345
 
146
- Formato de saída para Squad:
346
+ Formato de saida para Squad (exemplo em PT):
147
347
  ```markdown
148
348
  ## 📖 Guia de Uso: {squad-name}
149
349
 
150
- ### O que é
151
- {descrição do squad}
350
+ ### O que e
351
+ {descricao do squad}
152
352
 
153
- ### Agents incluídos
154
- | Agent | Papel | Ativação |
353
+ ### Agents incluidos
354
+ | Agent | Papel | Ativacao |
155
355
  |-------|-------|----------|
156
356
  | {name} | {role} | `@{id}` |
157
357
 
158
- ### Comandos disponíveis
159
- | Comando | Descrição |
358
+ ### Comandos disponiveis
359
+ | Comando | Descricao |
160
360
  |---------|-----------|
161
- | `/{prefix}-{task}` | {descrição} |
361
+ | `/{prefix}-{task}` | {descricao} |
162
362
 
163
- ### Workflow típico
164
- {sequência de uso recomendada}
363
+ ### Workflow tipico
364
+ {sequencia de uso recomendada}
165
365
 
166
366
  ### Componentes
167
367
  {N} agents, {N} tasks, {N} workflows, {N} templates
@@ -169,25 +369,167 @@ Formato de saída para Squad:
169
369
 
170
370
  ---
171
371
 
172
- ### 3. Listar Artefatos Instalados
372
+ ## 3. Atualizar Artefato Instalado
373
+
374
+ Quando o usuario escolher atualizar:
375
+
376
+ 1. **Listar artefatos instalados** — Leia `.aios-core/manifests/agents.csv` e mostre lista numerada:
377
+ ```
378
+ Artefatos instalados:
379
+ 1. 💻 dev (Dex) v2.1.0 — active
380
+ 2. ✅ qa (Quinn) v2.1.0 — active
381
+ 3. 🏛️ architect (Aria) v2.1.0 — active
382
+ ...
383
+ ```
384
+
385
+ 2. **Perguntar qual atualizar** — Por numero ou ID
386
+
387
+ 3. **Pedir caminho da nova versao** — Arquivo `.md` do agent atualizado
388
+
389
+ 4. **Validar nova versao** — Executar **Validacao por Schema** (Procedimentos Comuns)
390
+
391
+ 5. **Verificar compatibilidade:**
392
+ - Se `agent.id` mudou entre versoes → **REJEITAR**: "O ID do artefato mudou de '{old}' para '{new}'. Remova o antigo e integre o novo separadamente."
393
+ - Se versao nova < versao atual → **AVISAR**: "Downgrade detectado: {old_ver} → {new_ver}. Deseja continuar?" (permitir se confirmado)
394
+
395
+ 6. **Mostrar diff resumido:**
396
+ ```
397
+ Diff: {agent-name} ({old_ver} → {new_ver})
398
+
399
+ MODIFIED:
400
+ - persona.role: "old value" → "new value"
401
+ - commands: +2 adicionados, -1 removido, 3 inalterados
402
+ ADDED:
403
+ - dependencies.tools (novo campo)
404
+ REMOVED:
405
+ - autoClaude.legacy (campo removido)
406
+ UNCHANGED: 15 campos
407
+
408
+ Customizacoes preservadas:
409
+ - agent.customization (merge da versao local)
410
+ ```
411
+
412
+ 7. **Pedir confirmacao** para prosseguir
413
+
414
+ 8. **Executar atualizacao:**
415
+ - Preservar `agent.customization` da versao local (merge no novo arquivo)
416
+ - Sobrescrever os 3 arquivos:
417
+ - `.codex/agents/{id}.md`
418
+ - `.antigravity/agents/{id}.md`
419
+ - `.agent/workflows/{id}.md`
420
+ - Atualizar entrada no `agents.csv` (substituir linha inteira)
421
+ - Slash commands:
422
+ - Comandos novos → criar slash commands
423
+ - Comandos removidos → deletar slash commands `{id}-{cmd-removido}.md`
424
+ - Comandos inalterados → manter como estao
425
+
426
+ 9. **Para squads:**
427
+ - Agents adicionados na nova versao → executar integracao completa (fluxo Agent)
428
+ - Agents removidos na nova versao → executar remocao limpa (fluxo Remover)
429
+ - Agents mantidos → atualizar normalmente
430
+
431
+ 10. **Relatorio:**
432
+ ```
433
+ ✓ Artefato atualizado: {name} ({old_ver} → {new_ver})
434
+ Arquivos atualizados: 3
435
+ Slash commands: +N criados, -M removidos, K mantidos
436
+ Customizacoes preservadas: agent.customization
437
+ Manifest atualizado: agents.csv
438
+ ```
439
+
440
+ **Compativel com dry-run:** Se o usuario pedir dry-run, mostrar todo o diff e acoes planejadas sem executar.
441
+
442
+ ---
443
+
444
+ ## 4. Remover Artefato
445
+
446
+ Quando o usuario escolher remover:
447
+
448
+ 1. **Listar artefatos instalados** — Mesma lista numerada da secao Atualizar
449
+
450
+ 2. **Perguntar qual remover** — Por numero ou ID
173
451
 
174
- 1. Leia `.aios-core/manifests/agents.csv` e liste todos os agents registrados
175
- 2. Verifique a pasta `./squads/` e liste todos os squads instalados
176
- 3. Para cada artefato, mostre:
177
- - Nome e ID
178
- - Tipo (Agent standalone / Agent de Squad / Squad)
179
- - Status (ativo/desativado)
180
- - Comandos disponíveis
181
- - Versão (se disponível)
452
+ 3. **Preview obrigatorio** Antes de qualquer confirmacao, mostre exatamente o que sera deletado:
453
+ ```
454
+ Preview de remocao: {icon} {name} ({id})
455
+
456
+ Arquivos a deletar:
457
+ - .codex/agents/{id}.md
458
+ - .antigravity/agents/{id}.md
459
+ - .agent/workflows/{id}.md
460
+ - .claude/commands/{id}-cmd1.md
461
+ - .claude/commands/{id}-cmd2.md
462
+ (total: N arquivos)
463
+
464
+ Manifest:
465
+ - Remover linha do agents.csv (id: {id})
466
+
467
+ Dependencias:
468
+ - Nenhuma / {M} agents referenciam este artefato
469
+ ```
470
+
471
+ 4. **Verificar dependencias:**
472
+ - Se o agent faz parte de um squad → avisar: "Este agent pertence ao squad '{squad-name}'. Deseja remover o squad inteiro ou apenas este agent?"
473
+ - Se outros agents dependem deste (referenciam em `dependencies`) → avisar: "Os seguintes agents dependem de '{id}': {list}. A remocao pode quebrar essas dependencias."
474
+
475
+ 5. **Pedir confirmacao explicita** — "Confirma a remocao de {name} ({id})? (s/n)"
476
+
477
+ 6. **Executar remocao:**
478
+
479
+ **Para Agent:**
480
+ - Deletar os 3 arquivos do agent: `.codex/agents/{id}.md`, `.antigravity/agents/{id}.md`, `.agent/workflows/{id}.md`
481
+ - Deletar todos os slash commands `{id}-*.md` em `.claude/commands/`
482
+ - Remover linha do `agents.csv`
483
+
484
+ **Para Squad:**
485
+ - Deletar pasta `./squads/{squad-name}/`
486
+ - Para cada agent do squad: executar remocao completa (3 arquivos + slash commands + CSV)
487
+ - Deletar slash commands do squad: `{slashPrefix}-*.md` em `.claude/commands/`
488
+
489
+ 7. **Edge cases:**
490
+ - Arquivos ja parcialmente ausentes → pular sem erro, notar no relatorio ("arquivo nao encontrado, pulado")
491
+ - Agent parte de squad → oferecer opcao de remover squad inteiro
492
+
493
+ 8. **Relatorio pos-remocao:**
494
+ ```
495
+ ✓ Artefato removido: {name} ({id})
496
+ Arquivos deletados: N
497
+ Arquivos nao encontrados (pulados): M
498
+ Slash commands removidos: K
499
+ Manifest atualizado: agents.csv (-1 entrada)
500
+ ```
501
+
502
+ ---
503
+
504
+ ## 5. Listar Artefatos Instalados
505
+
506
+ Quando o usuario escolher listar:
507
+
508
+ 1. **Perguntar filtros opcionais:**
509
+ - **Tipo:** agent / squad / todos (default: todos)
510
+ - **Status:** active / deprecated / experimental / todos (default: todos)
511
+ - **Busca por nome:** texto livre (substring case-insensitive em `name`, `id`, `when_to_use`)
512
+ - Se o usuario disser apenas "listar" sem especificar filtros, usar defaults (todos)
513
+
514
+ 2. **Ler e parsear `.aios-core/manifests/agents.csv`** com as 8 colunas
515
+
516
+ 3. **Aplicar filtros** no resultado
517
+
518
+ 4. **Verificar squads** em `./squads/` para identificar agents que pertencem a squads
519
+
520
+ 5. **Formato de saida:**
182
521
 
183
- Formato de saída:
184
522
  ```
185
523
  📋 Artefatos AIOS Instalados
524
+ Filtros: {tipo}, {status}, busca: "{texto}" (ou "sem filtros")
186
525
 
187
526
  Agents:
188
- 🤖 dev (Dex) — Development Agent ativo
527
+ 💻 dev (Dex) v2.1.0 Builderactive
528
+ Uso: Use for code implementation, debugging, refactoring...
189
529
  Comandos: *develop, *implement, *fix
190
- 🤖 qa (Quinn) — QA Agent — ativo
530
+
531
+ ✅ qa (Quinn) v2.1.0 — Guardian — active
532
+ Uso: Use for comprehensive test architecture review...
191
533
  Comandos: *qa-gate, *review
192
534
 
193
535
  Squads:
@@ -195,59 +537,185 @@ Formato de saída:
195
537
  Agents: extractor, transformer, loader
196
538
  Prefix: /etl-*
197
539
 
198
- Total: N agents, M squads
540
+ Resumo:
541
+ Total: N agents (A ativos, D deprecated, E experimental), M squads
199
542
  ```
200
543
 
544
+ **Edge cases:**
545
+ - CSV vazio (sem agents) → "Nenhum artefato instalado."
546
+ - Filtro sem resultados → "Nenhum artefato encontrado com os filtros aplicados."
547
+ - `when_to_use` multiline → exibir apenas primeira linha/frase, truncar com "..."
548
+
549
+ ---
550
+
551
+ ## 6. Exportar Artefatos
552
+
553
+ Quando o usuario escolher exportar:
554
+
555
+ 1. **Listar artefatos disponiveis** e perguntar qual exportar
556
+
557
+ 2. **Coletar arquivos** do artefato selecionado:
558
+
559
+ **Para Agent:**
560
+ - Agent definition: `.codex/agents/{id}.md`
561
+ - Slash commands: `.claude/commands/{id}-*.md`
562
+ - Tasks referenciadas (se existirem em `dependencies.tasks`)
563
+ - Templates referenciados (se existirem em `dependencies.templates`)
564
+ - Checklists referenciados (se existirem em `dependencies.checklists`)
565
+
566
+ **Para Squad:**
567
+ - Pasta completa: `./squads/{squad-name}/`
568
+ - Slash commands do squad: `.claude/commands/{slashPrefix}-*.md`
569
+
570
+ 3. **Gerar `_manifest-entry.csv`** — Arquivo com a entrada do manifest para re-importacao:
571
+ ```csv
572
+ id,name,archetype,icon,version,status,file_path,when_to_use
573
+ {dados do agent}
574
+ ```
575
+ Incluir este arquivo dentro do pacote exportado.
576
+
577
+ 4. **Empacotar:**
578
+ - **Preferido:** `zip -r {artifact-name}-export.zip {files}`
579
+ - **Fallback:** Se `zip` nao disponivel (`which zip` falha), usar `tar -czf {artifact-name}-export.tar.gz {files}` com aviso: "Comando `zip` nao encontrado. Usando tar.gz como fallback."
580
+
581
+ 5. **Salvar** na pasta atual
582
+
583
+ 6. **Relatorio:**
584
+ ```
585
+ ✓ Exportado: ./{artifact-name}-export.zip
586
+ Conteudo: N arquivos, M KB
587
+ Inclui: _manifest-entry.csv (para re-importacao)
588
+ Arquivos:
589
+ - agents/{id}.md
590
+ - commands/{id}-cmd1.md
591
+ - commands/{id}-cmd2.md
592
+ - _manifest-entry.csv
593
+ Para importar em outro projeto: /aios-integrate → Integrar → caminho do .zip
594
+ ```
595
+
596
+ **Na importacao (Integrar):** Detectar e aceitar tanto `.zip` quanto `.tar.gz`. Extrair para pasta temporaria e processar o conteudo normalmente. Se `_manifest-entry.csv` existir no pacote, usar seus dados como base para o registro no manifest.
597
+
201
598
  ---
202
599
 
203
- ### 4. Exportar Artefatos
600
+ ## 7. Health Check
601
+
602
+ Quando o usuario escolher health check, executar **6 verificacoes** e gerar relatorio consolidado.
603
+
604
+ ### Verificacao 1: Manifest → Disco
605
+
606
+ Para cada entrada no `agents.csv`, verificar que os 3 arquivos de integracao existem:
607
+ - `.codex/agents/{id}.md`
608
+ - `.antigravity/agents/{id}.md`
609
+ - `.agent/workflows/{id}.md`
610
+
611
+ Resultado por agent: PASS / MISSING (listar arquivos ausentes)
612
+
613
+ ### Verificacao 2: Disco → Manifest (Orfaos)
614
+
615
+ Listar arquivos em `.codex/agents/` que **nao** tem entrada correspondente no `agents.csv`.
616
+ Orfaos indicam integracao incompleta ou remocao parcial.
617
+
618
+ ### Verificacao 3: Slash Commands
619
+
620
+ Para cada arquivo `.claude/commands/{agent-id}-*.md`:
621
+ - Extrair `{agent-id}` do nome do arquivo
622
+ - Verificar que existe um agent com esse ID no manifest
623
+ - Slash commands orfaos → MISSING
204
624
 
205
- 1. Liste todos os artefatos disponíveis e pergunte qual exportar
206
- 2. Para o artefato selecionado:
625
+ ### Verificacao 4: Dependencias
207
626
 
208
- #### Agent:
209
- - Colete todos os arquivos relacionados:
210
- - Agent definition (`.codex/agents/{id}.md`)
211
- - Tasks referenciadas
212
- - Templates referenciados
213
- - Checklists referenciados
214
- - Use `tar` para criar um bundle: `{agent-id}-export.tar.gz`
627
+ Para cada agent instalado que possui campo `dependencies`:
628
+ - Verificar que tasks referenciadas existem em `.aios-core/development/tasks/`
629
+ - Verificar que templates referenciados existem em `.aios-core/development/templates/`
630
+ - Verificar que checklists referenciados existem em `.aios-core/development/checklists/`
631
+ - Dependencias ausentes → MISSING
215
632
 
216
- #### Squad:
217
- - Empacote a pasta completa do squad: `./squads/{squad-name}/`
218
- - Use `tar` para criar: `{squad-name}-export.tar.gz`
633
+ ### Verificacao 5: Schema Compliance
634
+
635
+ Executar **Validacao por Schema** (Procedimentos Comuns) em cada agent instalado.
636
+ - Ler o agent source de `file_path` no CSV
637
+ - Validar contra o schema
638
+ - Reportar ERRORS e WARNINGS por agent
639
+
640
+ **Edge case:** Se schemas nao encontrados em `.aios-core/schemas/` → pular esta verificacao com aviso: "Schemas nao encontrados. Verificacao 5 pulada."
641
+
642
+ ### Verificacao 6: Squad Integrity
643
+
644
+ Para cada squad em `./squads/`:
645
+ - `squad.yaml` parsea corretamente → PASS / FAIL
646
+ - Agents listados em `components.agents` existem no manifest → PASS / MISSING
647
+ - Tasks tem slash commands correspondentes → PASS / MISSING
648
+
649
+ ### Relatorio Health Check
219
650
 
220
- Salve o export na pasta atual e informe o caminho:
221
651
  ```
222
- Exportado: ./{artifact-name}-export.tar.gz
223
- Conteúdo: N arquivos, M KB
224
- Para importar em outro projeto: /aios-integrate Integrar → caminho do arquivo
652
+ 🏥 Health Check — Artefatos AIOS
653
+
654
+ 1. ManifestDisco
655
+ ✓ dev — PASS
656
+ ✓ qa — PASS
657
+ ✗ custom-agent — MISSING: .antigravity/agents/custom-agent.md
658
+
659
+ 2. Orfaos (Disco → Manifest)
660
+ ✓ Nenhum orfao encontrado
661
+
662
+ 3. Slash Commands
663
+ ✓ Todos os slash commands tem agent valido
664
+
665
+ 4. Dependencias
666
+ ✓ dev — PASS (12 tasks, 3 templates, 2 checklists)
667
+ ⚠ custom-agent — MISSING: tasks/custom-task.md
668
+
669
+ 5. Schema Compliance
670
+ ✓ dev — 0 errors, 0 warnings
671
+ ⚠ custom-agent — 0 errors, 2 warnings
672
+
673
+ 6. Squad Integrity
674
+ (nenhum squad instalado)
675
+
676
+ Overall: 2 issues found (1 MISSING, 1 WARNING)
225
677
  ```
226
678
 
679
+ **Edge cases:**
680
+ - Sem agents (CSV vazio) → "No artifacts to check. O manifest esta vazio."
681
+ - Schema files ausentes → pular check 5 com aviso
682
+ - Sem squads → indicar "(nenhum squad instalado)" no check 6
683
+
227
684
  ---
228
685
 
229
- ## Validações
686
+ ## Validacoes
687
+
688
+ Resumo das validacoes aplicadas em cada operacao:
230
689
 
231
- Antes de integrar qualquer artefato, valide:
690
+ | Operacao | Validacoes |
691
+ |----------|-----------|
692
+ | Integrar | Schema compliance, ID duplicado no manifest, dependencias |
693
+ | Atualizar | Schema compliance, ID match entre versoes, compatibilidade de versao |
694
+ | Remover | Verificar dependencias quebradas, confirmar arquivos existentes |
695
+ | Health Check | Todas as 6 verificacoes |
232
696
 
233
- 1. **Estrutura do agent** deve conter pelo menos: `agent.name`, `agent.id`, `persona.role`
234
- 2. **Estrutura do squad** deve conter pelo menos: `name`, `version`, `components`
235
- 3. **IDs não duplicados** Verifique se o ID já existe no manifest antes de registrar
236
- 4. **Dependências** — Se o agent/squad referencia tasks ou templates, verifique se existem
697
+ **Regra de ID duplicado:** Antes de integrar, verificar se `agent.id` ja existe no manifest. Se sim, informar e perguntar:
698
+ - "O agent '{id}' ja esta instalado (v{version}). Deseja **atualizar** para a nova versao?"
699
+ - Se sim redirecionar para fluxo de Atualizar
700
+ - Se nao cancelar integracao
237
701
 
238
- Se a validação falhar, mostre o erro e pergunte se o usuário quer continuar mesmo assim.
702
+ **Validacao de dependencias:** Se o agent/squad referencia tasks ou templates em `dependencies`, verificar se existem nos paths esperados. Se nao existirem, exibir WARNING (nao bloquear).
239
703
 
240
704
  ---
241
705
 
242
- ## Paths de Referência
706
+ ## Paths de Referencia
243
707
 
244
708
  | Artefato | Path |
245
709
  |----------|------|
246
710
  | Agent definitions | `.codex/agents/` |
247
711
  | Agent workflows | `.agent/workflows/` |
248
712
  | Agent activation | `.antigravity/agents/` |
249
- | Agent manifest | `.aios-core/manifests/agents.csv` |
713
+ | Agent manifest (8 colunas) | `.aios-core/manifests/agents.csv` |
714
+ | Manifest schema | `.aios-core/manifests/schema/manifest-schema.json` |
250
715
  | Squad folders | `./squads/` |
251
716
  | Slash commands | `.claude/commands/` |
252
717
  | Agent schema | `.aios-core/schemas/agent-v3-schema.json` |
253
718
  | Squad schema | `.aios-core/schemas/squad-schema.json` |
719
+ | Tasks | `.aios-core/development/tasks/` |
720
+ | Templates | `.aios-core/development/templates/` |
721
+ | Checklists | `.aios-core/development/checklists/` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eximia-ventures/claude-code-toolkit",
3
- "version": "3.2.1",
3
+ "version": "4.0.0",
4
4
  "description": "Setup completo para Claude Code: statusline, session handoff, AIOS integration",
5
5
  "main": "src/index.js",
6
6
  "bin": {