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