@eximia-ventures/claude-code-toolkit 5.0.0 → 5.1.1
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 +225 -16
- package/assets/skill/aios-integrate.md +22 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
11
|
<strong>Setup completo para Claude Code em um comando.</strong><br/>
|
|
12
|
-
Statusline customizada, session continuity, usage monitor e
|
|
12
|
+
Statusline customizada, session continuity, usage monitor, AIOS integration e Squad Forge.
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
@@ -28,6 +28,7 @@ O `claude-code-toolkit` transforma sua experiência com o Claude Code instalando
|
|
|
28
28
|
| **Session Handoff** | Continuidade de sessão entre `/clear` (7 slash commands, 2 hooks) |
|
|
29
29
|
| **eximia-meter** | Monitor de consumo de tokens no menu bar do macOS |
|
|
30
30
|
| **AIOS Framework** | 7 slash commands com wizards interativos: story, epic, QA, publish, bootstrap, help, integrate (opt-in) |
|
|
31
|
+
| **Squad Forge** | Arsenal de squads especializados — transforma agents em plataformas visuais interativas |
|
|
31
32
|
|
|
32
33
|
---
|
|
33
34
|
|
|
@@ -83,7 +84,7 @@ O wizard guia você pelas opções:
|
|
|
83
84
|
|
|
84
85
|
```
|
|
85
86
|
╔══════════════════════════════════════╗
|
|
86
|
-
║ claude-code-toolkit v5.
|
|
87
|
+
║ claude-code-toolkit v5.1.0 ║
|
|
87
88
|
║ Setup completo para Claude Code ║
|
|
88
89
|
╚══════════════════════════════════════╝
|
|
89
90
|
|
|
@@ -195,7 +196,7 @@ npx @eximia-ventures/claude-code-toolkit doctor
|
|
|
195
196
|
```
|
|
196
197
|
─── Diagnóstico ───
|
|
197
198
|
|
|
198
|
-
✓ Manifest encontrado (v5.
|
|
199
|
+
✓ Manifest encontrado (v5.1.0)
|
|
199
200
|
✓ Diretório ~/.claude/ existe
|
|
200
201
|
✓ settings.json contém statusLine
|
|
201
202
|
✓ statusline.sh existe e é executável
|
|
@@ -227,7 +228,7 @@ npx @eximia-ventures/claude-code-toolkit update meter
|
|
|
227
228
|
```
|
|
228
229
|
─── Atualização ───
|
|
229
230
|
|
|
230
|
-
ℹ Instalação encontrada (v5.
|
|
231
|
+
ℹ Instalação encontrada (v5.1.0, 4 módulos)
|
|
231
232
|
|
|
232
233
|
─── Statusline ───
|
|
233
234
|
|
|
@@ -338,6 +339,170 @@ flowchart LR
|
|
|
338
339
|
|
|
339
340
|
---
|
|
340
341
|
|
|
342
|
+
## Squad Arsenal
|
|
343
|
+
|
|
344
|
+
O toolkit inclui um Arsenal de squads especializados que estendem o AIOS com capacidades focadas. Squads são integrados via `/aios-integrate` e ficam disponíveis como slash commands prontos para uso.
|
|
345
|
+
|
|
346
|
+
### Squad Forge 🔥
|
|
347
|
+
|
|
348
|
+
> **"Making the invisible visible"** — transforma qualquer squad, agent ou clone em uma plataforma visual interativa.
|
|
349
|
+
|
|
350
|
+
O **Platform Forge** é um squad que materializa agents em produtos reais. Em vez de interagir via CLI, os usuários finais ganham uma interface web polida.
|
|
351
|
+
|
|
352
|
+
#### Agents
|
|
353
|
+
|
|
354
|
+
| Agent | Persona | Papel |
|
|
355
|
+
|-------|---------|-------|
|
|
356
|
+
| `@bret-victor` 🔥 | Bret Victor (Inventing on Principle) | **Orquestrador** — detecta padrão de UI, dirige o pipeline completo |
|
|
357
|
+
| `@kinneret` ✍️ | Kinneret Yifrah + Torrey Podmajersky | **Voice Architect** — microcopy, Voice Chart, narrativa da plataforma |
|
|
358
|
+
| `@wes-bush` 🚀 | Wes Bush + Tod Golding + Sangeet Paul Choudary | **Growth Architect** — PLG, onboarding, multi-tenant, platform strategy |
|
|
359
|
+
|
|
360
|
+
#### Padrões de UI detectáveis
|
|
361
|
+
|
|
362
|
+
O Forge classifica automaticamente o squad em um dos 4 padrões visuais:
|
|
363
|
+
|
|
364
|
+
| Padrão | Ideal para | Stack |
|
|
365
|
+
|--------|-----------|-------|
|
|
366
|
+
| **Chat** | Squads onde usuários *falam com* agents | Next.js + Vercel AI SDK + Shadcn Chat |
|
|
367
|
+
| **Canvas** | Squads onde usuários *constroem* passo a passo | Next.js + React DnD/Konva + Shadcn |
|
|
368
|
+
| **Wizard** | Squads com assessments, diagnósticos, scoring | Next.js + React Hook Form + Zod + Shadcn |
|
|
369
|
+
| **Dashboard** | Squads com métricas, analytics, monitoring | Next.js + Tremor/Recharts + TanStack Table + Shadcn |
|
|
370
|
+
|
|
371
|
+
#### Pipeline wf-forge (9 fases)
|
|
372
|
+
|
|
373
|
+
```mermaid
|
|
374
|
+
flowchart TD
|
|
375
|
+
START(["@bret-victor *forge {squad}"]) --> P0
|
|
376
|
+
|
|
377
|
+
P0["Phase 0\nQuick Wizard\n@bret-victor"]
|
|
378
|
+
P0 --> P1
|
|
379
|
+
|
|
380
|
+
P1["Phase 1\nAnalysis\n@bret-victor"]
|
|
381
|
+
P1 --> PAT{Padrão\ndetectado}
|
|
382
|
+
PAT --> CHAT["Chat\nVercel AI SDK"]
|
|
383
|
+
PAT --> CANVAS["Canvas\nReact DnD"]
|
|
384
|
+
PAT --> WIZARD["Wizard\nRHF + Zod"]
|
|
385
|
+
PAT --> DASH["Dashboard\nTremor"]
|
|
386
|
+
|
|
387
|
+
CHAT & CANVAS & WIZARD & DASH --> P2
|
|
388
|
+
|
|
389
|
+
P2["Phase 2\nStrategy\n@wes-bush"]
|
|
390
|
+
P2 --> P3["Phase 3\nDesign System\n@design-system"]
|
|
391
|
+
P3 --> P4["Phase 4\nUX Writing\n@kinneret"]
|
|
392
|
+
P4 --> P5["Phase 5\nSpec\n@pm + @architect"]
|
|
393
|
+
P5 --> P6["Phase 6\nBuild\n@dev"]
|
|
394
|
+
P6 --> P7["Phase 7\nQA\n@qa"]
|
|
395
|
+
P7 --> P8["Phase 8\nDeploy\n@devops"]
|
|
396
|
+
P8 --> END(["✓ Plataforma publicada"])
|
|
397
|
+
|
|
398
|
+
style START fill:#F56000,color:#fff,stroke:none
|
|
399
|
+
style END fill:#22c55e,color:#fff,stroke:none
|
|
400
|
+
style P0 fill:#F56000,color:#fff,stroke:none
|
|
401
|
+
style P1 fill:#F56000,color:#fff,stroke:none
|
|
402
|
+
style P2 fill:#3b82f6,color:#fff,stroke:none
|
|
403
|
+
style P3 fill:#8b5cf6,color:#fff,stroke:none
|
|
404
|
+
style P4 fill:#ec4899,color:#fff,stroke:none
|
|
405
|
+
style P5 fill:#5B4FE5,color:#fff,stroke:none
|
|
406
|
+
style P6 fill:#22c55e,color:#fff,stroke:none
|
|
407
|
+
style P7 fill:#f59e0b,color:#000,stroke:none
|
|
408
|
+
style P8 fill:#14b8a6,color:#fff,stroke:none
|
|
409
|
+
style PAT fill:#1e293b,color:#fff,stroke:none
|
|
410
|
+
style CHAT fill:#0ea5e9,color:#fff,stroke:none
|
|
411
|
+
style CANVAS fill:#a855f7,color:#fff,stroke:none
|
|
412
|
+
style WIZARD fill:#f97316,color:#fff,stroke:none
|
|
413
|
+
style DASH fill:#10b981,color:#fff,stroke:none
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
#### Slash commands
|
|
417
|
+
|
|
418
|
+
| Comando | Descrição |
|
|
419
|
+
|---------|-----------|
|
|
420
|
+
| `/forge {squad}` | Pipeline completo — Phases 0 a 8 |
|
|
421
|
+
| `/forge-diagnose {squad}` | Diagnóstico de padrão UI sem build (Phase 1) |
|
|
422
|
+
| `/forge-map-capabilities {squad}` | Mapeia capabilities do squad → features de produto |
|
|
423
|
+
| `/forge-diagnose-squad {squad}` | Executa task de diagnóstico diretamente |
|
|
424
|
+
|
|
425
|
+
#### Como usar
|
|
426
|
+
|
|
427
|
+
```bash
|
|
428
|
+
# Forjar um squad em plataforma visual completa
|
|
429
|
+
/forge aios-master
|
|
430
|
+
|
|
431
|
+
# Apenas diagnosticar o padrão de UI (sem build)
|
|
432
|
+
/forge-diagnose biblical
|
|
433
|
+
|
|
434
|
+
# Via agent diretamente
|
|
435
|
+
@bret-victor *forge {squad}
|
|
436
|
+
@bret-victor *diagnose {squad}
|
|
437
|
+
@bret-victor *patterns
|
|
438
|
+
@bret-victor *wizard {squad}
|
|
439
|
+
@bret-victor *spec {squad}
|
|
440
|
+
|
|
441
|
+
# Agents especializados
|
|
442
|
+
@kinneret *voice-chart {platform}
|
|
443
|
+
@kinneret *microcopy {platform}
|
|
444
|
+
@wes-bush *platform-canvas {squad}
|
|
445
|
+
@wes-bush *bowling-alley {squad}
|
|
446
|
+
@wes-bush *tenant-model {squad}
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
#### Output gerado
|
|
450
|
+
|
|
451
|
+
```
|
|
452
|
+
forge/{target}/
|
|
453
|
+
├── wizard-config.yaml # Phase 0 — personalização
|
|
454
|
+
├── analysis.md # Phase 1 — padrão + capability map
|
|
455
|
+
├── strategy.md # Phase 2 — PLG + onboarding + tenant model
|
|
456
|
+
├── design/
|
|
457
|
+
│ ├── tokens.yaml # Phase 3 — design tokens
|
|
458
|
+
│ └── component-inventory.md
|
|
459
|
+
├── microcopy.md # Phase 4 — voice chart + todos os textos
|
|
460
|
+
├── spec/
|
|
461
|
+
│ ├── prd.md # Phase 5 — product requirements
|
|
462
|
+
│ ├── tech-spec.md # Phase 5 — arquitetura técnica
|
|
463
|
+
│ └── api-design.md # Phase 5 — contratos de API
|
|
464
|
+
├── qa-report.md # Phase 7 — relatório de QA
|
|
465
|
+
└── deployment.md # Phase 8 — guia de deploy
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
#### Integrar novos squads via inbox
|
|
469
|
+
|
|
470
|
+
Squads externos podem ser integrados via `/aios-integrate` ou pelo sistema de inbox:
|
|
471
|
+
|
|
472
|
+
```bash
|
|
473
|
+
# Coloque o squad em:
|
|
474
|
+
.aios-core/inbox/{squad-name}/
|
|
475
|
+
├── squad.yaml # Manifest AIOS obrigatório
|
|
476
|
+
├── agents/ # Definições de agents
|
|
477
|
+
├── tasks/ # Tasks executáveis
|
|
478
|
+
└── workflows/ # Workflows
|
|
479
|
+
|
|
480
|
+
# Depois execute /aios-integrate — o inbox é detectado automaticamente
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
```mermaid
|
|
484
|
+
flowchart LR
|
|
485
|
+
ZIP["squad-export.zip"] --> INBOX[".aios-core/inbox/{squad}/"]
|
|
486
|
+
INBOX --> DETECT{"/aios-integrate\ndetecta inbox"}
|
|
487
|
+
DETECT --> VAL["Validação\nschema + IDs"]
|
|
488
|
+
VAL -->|PASS| COPY["squads/{name}/\n+ .codex/agents/\n+ .antigravity/\n+ .agent/workflows/"]
|
|
489
|
+
VAL -->|FAIL| ERR["Erro reportado\n+ sugestão de fix"]
|
|
490
|
+
COPY --> CSV[".aios-core/manifests/agents.csv\natualizado"]
|
|
491
|
+
COPY --> CMD[".claude/commands/\n{prefix}-*.md criados"]
|
|
492
|
+
COPY --> PROC[".aios-core/inbox/.processed/\nartefato arquivado"]
|
|
493
|
+
|
|
494
|
+
style ZIP fill:#f59e0b,color:#000,stroke:none
|
|
495
|
+
style DETECT fill:#5B4FE5,color:#fff,stroke:none
|
|
496
|
+
style VAL fill:#1e293b,color:#fff,stroke:none
|
|
497
|
+
style COPY fill:#22c55e,color:#fff,stroke:none
|
|
498
|
+
style ERR fill:#ef4444,color:#fff,stroke:none
|
|
499
|
+
style CSV fill:#3b82f6,color:#fff,stroke:none
|
|
500
|
+
style CMD fill:#8b5cf6,color:#fff,stroke:none
|
|
501
|
+
style PROC fill:#64748b,color:#fff,stroke:none
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
341
506
|
## Arquitetura
|
|
342
507
|
|
|
343
508
|
```
|
|
@@ -353,7 +518,7 @@ claude-code-toolkit/
|
|
|
353
518
|
│ │ ├── statusline.js # ~/.claude/statusline.sh + settings.json
|
|
354
519
|
│ │ ├── handoff.js # npx claude-code-handoff
|
|
355
520
|
│ │ ├── meter.js # npx eximia-meter
|
|
356
|
-
│ │ └── aios.js # npx aios-core +
|
|
521
|
+
│ │ └── aios.js # npx aios-core + skills
|
|
357
522
|
│ ├── commands/
|
|
358
523
|
│ │ ├── uninstall.js # Remoção via manifest
|
|
359
524
|
│ │ ├── update.js # Atualização sem wizard
|
|
@@ -362,17 +527,41 @@ claude-code-toolkit/
|
|
|
362
527
|
│ ├── settings-merger.js # Deep-merge seguro (com backup)
|
|
363
528
|
│ ├── file-installer.js # Cópia com hash comparison
|
|
364
529
|
│ └── logger.js # Output estilizado (Chalk)
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
530
|
+
├── assets/
|
|
531
|
+
│ ├── statusline/
|
|
532
|
+
│ │ └── statusline.sh # Script bash (jq + ANSI)
|
|
533
|
+
│ └── skill/
|
|
534
|
+
│ ├── aios-integrate.md # Gerenciar artefatos (agents/squads)
|
|
535
|
+
│ ├── aios-story.md # Operações de story
|
|
536
|
+
│ ├── aios-epic.md # Gestão de epics
|
|
537
|
+
│ ├── aios-qa.md # QA toolkit
|
|
538
|
+
│ ├── aios-publish.md # Release management
|
|
539
|
+
│ ├── aios-bootstrap.md # Setup de projeto
|
|
540
|
+
│ └── aios-help.md # Guia de comandos AIOS
|
|
541
|
+
└── squads/
|
|
542
|
+
└── forge/ # Squad Forge (Platform Materializer)
|
|
543
|
+
├── squad.yaml # Manifest AIOS
|
|
544
|
+
├── agents/
|
|
545
|
+
│ ├── bret-victor.md # Forge Orchestrator
|
|
546
|
+
│ ├── kinneret.md # Platform Voice Architect
|
|
547
|
+
│ └── wes-bush.md # Platform Growth Architect
|
|
548
|
+
├── tasks/
|
|
549
|
+
│ ├── diagnose-squad.md # Detecta padrão de UI
|
|
550
|
+
│ └── map-capabilities.md # Capability → Feature mapping
|
|
551
|
+
├── workflows/
|
|
552
|
+
│ └── wf-forge.yaml # Pipeline completo (9 fases)
|
|
553
|
+
├── checklists/
|
|
554
|
+
│ ├── forge-readiness-checklist.md
|
|
555
|
+
│ └── productization-checklist.md
|
|
556
|
+
├── templates/
|
|
557
|
+
│ ├── platform-chat-tmpl.yaml
|
|
558
|
+
│ ├── platform-canvas-tmpl.yaml
|
|
559
|
+
│ ├── platform-wizard-tmpl.yaml
|
|
560
|
+
│ ├── platform-dashboard-tmpl.yaml
|
|
561
|
+
│ └── wizard-config-tmpl.yaml
|
|
562
|
+
└── data/
|
|
563
|
+
├── pattern-signatures.yaml # Sinais de detecção de padrão
|
|
564
|
+
└── stack-recommendations.yaml
|
|
376
565
|
```
|
|
377
566
|
|
|
378
567
|
---
|
|
@@ -475,6 +664,26 @@ npx @eximia-ventures/claude-code-toolkit uninstall
|
|
|
475
664
|
Isso lê o manifest e remove apenas o que foi instalado pelo toolkit.
|
|
476
665
|
</details>
|
|
477
666
|
|
|
667
|
+
<details>
|
|
668
|
+
<summary><strong>Como integrar um squad externo?</strong></summary>
|
|
669
|
+
|
|
670
|
+
Use o sistema de inbox do AIOS:
|
|
671
|
+
|
|
672
|
+
1. Coloque o squad em `.aios-core/inbox/{squad-name}/` com um `squad.yaml`
|
|
673
|
+
2. Execute `/aios-integrate` — o inbox é detectado automaticamente
|
|
674
|
+
3. Confirme a integração — o squad vai para `squads/{squad-name}/` e os slash commands são criados
|
|
675
|
+
|
|
676
|
+
Alternativamente, use `/aios-integrate` → opção 1 (Integrar artefato externo) e informe o caminho.
|
|
677
|
+
</details>
|
|
678
|
+
|
|
679
|
+
<details>
|
|
680
|
+
<summary><strong>O que é o Squad Forge e quando usar?</strong></summary>
|
|
681
|
+
|
|
682
|
+
O **Squad Forge** transforma qualquer squad ou agent em uma plataforma web interativa. Use quando quiser que usuários finais sem acesso ao Claude Code possam interagir com seus agents via interface visual.
|
|
683
|
+
|
|
684
|
+
Exemplo: `/forge aios-master` → gera um app completo onde usuários gerenciam stories e epics via UI.
|
|
685
|
+
</details>
|
|
686
|
+
|
|
478
687
|
---
|
|
479
688
|
|
|
480
689
|
## Dependencias
|
|
@@ -597,15 +597,30 @@ Quando o usuario escolher exportar:
|
|
|
597
597
|
```
|
|
598
598
|
Incluir este arquivo dentro do pacote exportado.
|
|
599
599
|
|
|
600
|
-
4. **
|
|
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."
|
|
600
|
+
4. **Perguntar o formato de saida (wizard obrigatorio):**
|
|
603
601
|
|
|
604
|
-
|
|
602
|
+
Exibir sempre, independente de quais ferramentas estao disponiveis:
|
|
603
|
+
|
|
604
|
+
```
|
|
605
|
+
Formato de exportacao:
|
|
606
|
+
1. .zip — Compativel com /aios-integrate (recomendado)
|
|
607
|
+
2. .tar.gz — Alternativa Unix
|
|
608
|
+
3. Pasta — Diretorio descompactado (sem empacotamento)
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
- Se o usuario escolher `.zip` mas `zip` nao estiver disponivel (`which zip` falhar) → exibir: "Comando `zip` nao encontrado. Deseja usar `.tar.gz` como alternativa? (s/n)"
|
|
612
|
+
- Se o usuario escolher `.tar.gz` mas `tar` nao estiver disponivel → exibir erro e sugerir "Pasta" como alternativa
|
|
613
|
+
- **Default:** opcao 1 (`.zip`) — highlight no menu
|
|
614
|
+
|
|
615
|
+
5. **Empacotar** conforme escolha:
|
|
616
|
+
- `.zip` → `zip -r {artifact-name}-export.zip {files}`
|
|
617
|
+
- `.tar.gz` → `tar -czf {artifact-name}-export.tar.gz {files}`
|
|
618
|
+
- `Pasta` → copiar arquivos para `./{artifact-name}-export/` sem compressao
|
|
605
619
|
|
|
606
620
|
6. **Relatorio:**
|
|
607
621
|
```
|
|
608
|
-
✓ Exportado: ./{artifact-name}-export.
|
|
622
|
+
✓ Exportado: ./{artifact-name}-export.{ext}
|
|
623
|
+
Formato: {zip | tar.gz | pasta}
|
|
609
624
|
Conteudo: N arquivos, M KB
|
|
610
625
|
Inclui: _manifest-entry.csv (para re-importacao)
|
|
611
626
|
Arquivos:
|
|
@@ -613,10 +628,10 @@ Quando o usuario escolher exportar:
|
|
|
613
628
|
- commands/{id}-cmd1.md
|
|
614
629
|
- commands/{id}-cmd2.md
|
|
615
630
|
- _manifest-entry.csv
|
|
616
|
-
Para importar em outro projeto: /aios-integrate → Integrar → caminho do
|
|
631
|
+
Para importar em outro projeto: /aios-integrate → Integrar → caminho do arquivo
|
|
617
632
|
```
|
|
618
633
|
|
|
619
|
-
**Na importacao (Integrar):** Detectar e aceitar
|
|
634
|
+
**Na importacao (Integrar):** Detectar e aceitar `.zip`, `.tar.gz` e pastas descompactadas. Extrair/ler 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
635
|
|
|
621
636
|
---
|
|
622
637
|
|