@eximia-ventures/claude-code-toolkit 5.1.1 → 5.2.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
@@ -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, AIOS integration e Squad Forge.
12
+ Statusline customizada, session continuity, usage monitor, AIOS integration e Squad Arsenal.
13
13
  </p>
14
14
 
15
15
  <p align="center">
@@ -28,7 +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
+ | **Squad Arsenal** | Squads especializados — Forge (plataformas visuais), Design (Brad Frost, Atomic Design) |
32
32
 
33
33
  ---
34
34
 
@@ -465,6 +465,114 @@ forge/{target}/
465
465
  └── deployment.md # Phase 8 — guia de deploy
466
466
  ```
467
467
 
468
+ ---
469
+
470
+ ### Squad Design 🎨
471
+
472
+ > **Brad Frost** — Design System Architect & Pattern Consolidator
473
+
474
+ Squad 100% independente (sem banco de dados, sem APIs externas) para criar, auditar e migrar design systems usando a metodologia Atomic Design.
475
+
476
+ #### Agent
477
+
478
+ | Agent | Persona | Papel |
479
+ |-------|---------|-------|
480
+ | `@design-system` 🎨 | Brad Frost (Atomic Design) | **Único executor** — audit, tokens, componentes, acessibilidade, migração |
481
+
482
+ **Filosofia Brad Frost:** *"Show the horror, then fix it"* — relatórios com números que fazem stakeholders dizer "oh god, what have we done" (47 botões → 3 = 93.6% de redução).
483
+
484
+ #### 3 Workflows
485
+
486
+ | Workflow | Descrição | Quando usar |
487
+ |----------|-----------|-------------|
488
+ | `brownfield-complete` | Audita codebase existente, consolida padrões, extrai tokens, gera plano de migração | Projeto legado sem DS |
489
+ | `greenfield-new` | Cria DS do zero com tokens, Shadcn/Tailwind, componentes atômicos | Projeto novo |
490
+ | `audit-only` | Gera relatórios de auditoria para stakeholders sem tocar no código | Apresentação executiva |
491
+
492
+ #### 33 Tasks especializadas
493
+
494
+ Organizadas em categorias:
495
+
496
+ | Categoria | Tasks |
497
+ |-----------|-------|
498
+ | **Brownfield** | ds-audit-codebase, ds-consolidate-patterns, ds-extract-tokens, ds-generate-shock-report, ds-calculate-roi |
499
+ | **Greenfield** | ds-setup-design-system, ds-build-component, ds-compose-molecule, bootstrap-shadcn-library |
500
+ | **Acessibilidade** | a11y-audit, aria-audit, contrast-matrix, focus-order-audit, audit-reading-experience |
501
+ | **Refactoring** | atomic-refactor-plan, atomic-refactor-execute, dead-code-detection, tailwind-upgrade |
502
+ | **Documentação** | ds-generate-documentation, create-doc, validate-design-fidelity |
503
+ | **Análise** | token-usage-analytics, bundle-audit, ds-health-metrics, design-compare |
504
+
505
+ #### Slash commands
506
+
507
+ | Comando | Descrição |
508
+ |---------|-----------|
509
+ | `/design-brownfield` | Pipeline brownfield completo (audit → consolidar → tokens → migração) |
510
+ | `/design-greenfield` | Criar design system do zero (tokens → Shadcn → componentes) |
511
+ | `/design-audit` | Relatório de auditoria para stakeholders (sem modificar código) |
512
+ | `/design-a11y` | Audit de acessibilidade (WCAG 2.1, Aria, contraste, foco) |
513
+
514
+ #### Integração com Forge
515
+
516
+ O `@design-system` é o executor da **Phase 3** do Squad Forge. Quando `/forge {squad}` roda, Brad Frost gera tokens, define o inventário de componentes e configura o tema Shadcn/Tailwind em `forge/{target}/design/`.
517
+
518
+ Se o `@eximia-ventures/ds` estiver instalado e houver `design-systems/manifest.json`, a Phase 3 **reutiliza os tokens do DS instalado** em vez de gerar do zero.
519
+
520
+ ---
521
+
522
+ ### Design System Manager (`@eximia-ventures/ds`) 📦
523
+
524
+ Pacote npm complementar que gerencia design systems como artefatos instaláveis (formato `.dspack`).
525
+
526
+ ```bash
527
+ npm install @eximia-ventures/ds
528
+ ```
529
+
530
+ **Formato `.dspack`** — zip padronizado compatível com W3C DTCG:
531
+
532
+ ```
533
+ meu-ds.dspack
534
+ ├── manifest.json # nome, versão, inventário, formato DTCG
535
+ ├── tokens/
536
+ │ ├── tokens.json # W3C DTCG format
537
+ │ ├── tokens.css # CSS custom properties
538
+ │ └── tokens.tw.js # Tailwind config
539
+ └── components/
540
+ ├── atoms/
541
+ ├── molecules/
542
+ ├── organisms/
543
+ └── templates/
544
+ ```
545
+
546
+ **5 Skills instaladas com o AIOS:**
547
+
548
+ | Skill | Descrição |
549
+ |-------|-----------|
550
+ | `/ds` | Wizard central interativo — menu de operações |
551
+ | `/ds-pack` | Empacota um DS existente em `.dspack` |
552
+ | `/ds-install` | Instala um `.dspack` no projeto (`design-systems/`) |
553
+ | `/ds-list` | Lista DSs instalados e disponíveis |
554
+ | `/ds-apply` | Registra DS como ativo e gera `.ds-context.md` para Brad Frost e `@dev` |
555
+
556
+ **Fluxo com Forge:**
557
+
558
+ ```mermaid
559
+ flowchart LR
560
+ PACK["meu-ds.dspack"] --> INSTALL["/ds-install"]
561
+ INSTALL --> MANIFEST["design-systems/\nmanifest.json"]
562
+ MANIFEST --> FORGE["@bret-victor *forge {squad}\nPhase 0: detecta DS instalado"]
563
+ FORGE --> P3["Phase 3: Brad Frost\nreutiliza tokens do DS"]
564
+ P3 --> OUT["forge/{target}/design/\ntokens + components + tema"]
565
+
566
+ style PACK fill:#f59e0b,color:#000,stroke:none
567
+ style INSTALL fill:#5B4FE5,color:#fff,stroke:none
568
+ style MANIFEST fill:#1e293b,color:#fff,stroke:none
569
+ style FORGE fill:#F56000,color:#fff,stroke:none
570
+ style P3 fill:#8b5cf6,color:#fff,stroke:none
571
+ style OUT fill:#22c55e,color:#fff,stroke:none
572
+ ```
573
+
574
+ ---
575
+
468
576
  #### Integrar novos squads via inbox
469
577
 
470
578
  Squads externos podem ser integrados via `/aios-integrate` ou pelo sistema de inbox:
@@ -537,31 +645,41 @@ claude-code-toolkit/
537
645
  │ ├── aios-qa.md # QA toolkit
538
646
  │ ├── aios-publish.md # Release management
539
647
  │ ├── aios-bootstrap.md # Setup de projeto
540
- └── aios-help.md # Guia de comandos AIOS
648
+ ├── aios-help.md # Guia de comandos AIOS
649
+ │ ├── ds.md # Design System Manager — wizard central
650
+ │ ├── ds-pack.md # Empacotar DS em .dspack
651
+ │ ├── ds-install.md # Instalar .dspack no projeto
652
+ │ ├── ds-list.md # Listar DSs instalados
653
+ │ └── ds-apply.md # Registrar DS ativo + gerar contexto
541
654
  └── squads/
542
- └── forge/ # Squad Forge (Platform Materializer)
655
+ ├── forge/ # Squad Forge (Platform Materializer)
656
+ │ ├── squad.yaml # Manifest AIOS
657
+ │ ├── agents/
658
+ │ │ ├── bret-victor.md # Forge Orchestrator
659
+ │ │ ├── kinneret.md # Platform Voice Architect
660
+ │ │ └── wes-bush.md # Platform Growth Architect
661
+ │ ├── tasks/
662
+ │ │ ├── diagnose-squad.md # Detecta padrão de UI
663
+ │ │ └── map-capabilities.md # Capability → Feature mapping
664
+ │ ├── workflows/
665
+ │ │ └── wf-forge.yaml # Pipeline completo (9 fases)
666
+ │ ├── checklists/
667
+ │ ├── templates/
668
+ │ └── data/
669
+ │ ├── pattern-signatures.yaml
670
+ │ └── stack-recommendations.yaml
671
+ └── design/ # Squad Design (Brad Frost)
543
672
  ├── squad.yaml # Manifest AIOS
544
673
  ├── 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
674
+ └── design-system.md # Brad Frost — único agente
675
+ ├── tasks/ # 33 tasks (audit, tokens, a11y, refactor...)
551
676
  ├── 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
677
+ ├── brownfield-complete.yaml
678
+ ├── greenfield-new.yaml
679
+ └── audit-only.yaml
680
+ ├── checklists/ # 7 checklists
681
+ ├── templates/ # 10 templates
682
+ └── data/ # 9 knowledge base files
565
683
  ```
566
684
 
567
685
  ---
@@ -0,0 +1,118 @@
1
+ # ds-apply
2
+
3
+ Integra o design system instalado ao projeto — registra como ativo e prepara o contexto para o Brad Frost e o @dev implementarem.
4
+
5
+ **Este skill NÃO modifica código do projeto.**
6
+ A aplicação real (tokens no tailwind, componentes no src/) é responsabilidade do Brad Frost (`design:design-system`) e do @dev.
7
+
8
+ ## Ativação
9
+
10
+ Ativado via `/ds-apply` no Claude Code.
11
+
12
+ ## O que faz
13
+
14
+ 1. Define o DS como ativo em `design-systems/manifest.json`
15
+ 2. Valida a estrutura do DS (tokens, componentes, metodologia)
16
+ 3. Gera um resumo de contexto para o Brad Frost e o @dev
17
+ 4. Informa os próximos passos
18
+
19
+ ## Processo
20
+
21
+ ### 1. Identificar DS
22
+
23
+ Se o usuário passou argumento (`/ds-apply eximia-default`), usar esse.
24
+ Se não, ler `design-systems/manifest.json` e listar instalados:
25
+
26
+ ```
27
+ 🎨 ds:apply — Integrar Design System
28
+
29
+ DSs instalados:
30
+ 1. eximia-default v1.0.0 (ativo)
31
+ 2. meu-ds v2.1.0
32
+
33
+ Qual integrar? (Enter para usar o ativo)
34
+ ```
35
+
36
+ ### 2. Validar estrutura do DS
37
+
38
+ Verificar em `design-systems/{nome}/`:
39
+ - `manifest.json` existe e é válido
40
+ - Pasta `tokens/` ou arquivos de token presentes
41
+ - Estrutura Atomic Design presente (`atoms/`, `molecules/`, etc.) — se tiver componentes
42
+
43
+ Reportar o que foi encontrado:
44
+ ```
45
+ Validando eximia-default...
46
+ ✅ manifest.json — v1.0.0, Atomic Design
47
+ ✅ tokens/ — 3 arquivo(s): tokens.json, tokens.css, tokens.tw.js
48
+ ✅ atoms/ — 12 componente(s)
49
+ ✅ molecules/ — 8 componente(s)
50
+ ✅ organisms/ — 4 componente(s)
51
+ ⚠️ templates/ — vazio
52
+ ```
53
+
54
+ ### 3. Definir como ativo
55
+
56
+ Atualizar `design-systems/manifest.json`:
57
+ ```json
58
+ {
59
+ "active": "eximia-default"
60
+ }
61
+ ```
62
+
63
+ ### 4. Gerar contexto de handoff
64
+
65
+ Criar `design-systems/.ds-context.md` com as informações que o Brad Frost e o @dev precisam:
66
+
67
+ ```markdown
68
+ # DS Ativo: eximia-default v1.0.0
69
+
70
+ ## Localização
71
+ design-systems/eximia-default/
72
+
73
+ ## Tokens disponíveis
74
+ - tokens/tokens.json — W3C DTCG format
75
+ - tokens/tokens.css — CSS custom properties
76
+ - tokens/tokens.tw.js — Tailwind config
77
+
78
+ ## Componentes disponíveis
79
+ Atoms (12): Button, Input, Label, Badge, Icon, ...
80
+ Molecules (8): FormField, SearchBar, Card, ...
81
+ Organisms (4): Header, Sidebar, AuthForm, ...
82
+ Templates (0): —
83
+
84
+ ## Metodologia
85
+ Atomic Design (Brad Frost)
86
+
87
+ ## Para o Brad Frost (@design-system)
88
+ Use `design-systems/eximia-default/` como fonte de tokens e componentes.
89
+ Não gere tokens novos — reutilize os existentes.
90
+
91
+ ## Para o @dev
92
+ Importe componentes de `design-systems/eximia-default/components/`.
93
+ Tokens CSS disponíveis em `design-systems/eximia-default/tokens/tokens.css`.
94
+ ```
95
+
96
+ ### 5. Confirmar integração
97
+
98
+ ```
99
+ ✅ Design System integrado!
100
+
101
+ DS ativo: eximia-default v1.0.0
102
+ Local: design-systems/eximia-default/
103
+ Contexto: design-systems/.ds-context.md
104
+
105
+ Próximos passos:
106
+ → Brad Frost aplicará os tokens e componentes no projeto
107
+ → @dev implementará os componentes conforme o DS
108
+
109
+ Para iniciar: @brad-frost *setup ou *build {componente}
110
+ ```
111
+
112
+ ## Regras
113
+
114
+ - NÃO copiar arquivos para `src/` ou qualquer pasta do projeto
115
+ - NÃO modificar `tailwind.config.*`, `package.json` ou qualquer arquivo de configuração do projeto
116
+ - NÃO instalar dependências
117
+ - Apenas registrar, validar e preparar contexto
118
+ - O arquivo `.ds-context.md` é o único output gerado fora de `design-systems/`
@@ -0,0 +1,94 @@
1
+ # ds-install
2
+
3
+ Instala um arquivo `.dspack` no projeto atual, extraindo seu conteúdo em `design-systems/`.
4
+
5
+ ## Ativação
6
+
7
+ Ativado via `/ds-install {caminho}` no Claude Code.
8
+
9
+ ## Processo
10
+
11
+ ### 1. Identificar o arquivo
12
+
13
+ - **Com argumento**: `ds:install ./caminho/arquivo.dspack` — usar o caminho informado
14
+ - **Sem argumento**: listar arquivos `design-systems/*.dspack` e perguntar qual instalar
15
+
16
+ Se nenhum `.dspack` for encontrado, orientar o usuário a usar `ds:pack` ou obter um arquivo `.dspack`.
17
+
18
+ ### 2. Validar o .dspack
19
+
20
+ Antes de extrair, verifique:
21
+
22
+ ```bash
23
+ # Verificar se é um zip válido
24
+ unzip -t "{caminho-do-dspack}"
25
+ ```
26
+
27
+ Verificações:
28
+ - O arquivo existe no caminho informado
29
+ - É um zip válido (unzip -t não retorna erro)
30
+ - Contém `manifest.json` na raiz (`unzip -l` mostra o índice)
31
+ - O `manifest.json` tem `name` e `version`
32
+
33
+ Se qualquer verificação falhar, avise o usuário com a causa e interrompa.
34
+
35
+ ### 3. Verificar conflito
36
+
37
+ Leia `design-systems/manifest.json`. Se o DS já estiver na lista `installed`:
38
+
39
+ ```
40
+ ⚠️ {nome} v{versão-atual} já está instalado.
41
+ Substituir pela versão {versão-nova}? (s/n)
42
+ ```
43
+
44
+ Se não, prosseguir.
45
+
46
+ ### 4. Extrair
47
+
48
+ ```bash
49
+ # Extrair para design-systems/{nome}/ a partir do caminho absoluto do .dspack
50
+ unzip -o "{caminho-absoluto-do-dspack}" -d "design-systems/{nome}/"
51
+ ```
52
+
53
+ ### 5. Atualizar manifest.json do projeto
54
+
55
+ Leia `design-systems/manifest.json`, faça merge no array `installed` (não substitua), e salve:
56
+
57
+ ```json
58
+ {
59
+ "version": "1.0.0",
60
+ "installed": [
61
+ {
62
+ "name": "{nome}",
63
+ "version": "{versão}",
64
+ "path": "design-systems/{nome}/",
65
+ "installed_at": "{ISO date atual}"
66
+ }
67
+ ],
68
+ "active": "{nome}"
69
+ }
70
+ ```
71
+
72
+ > Se já havia outros DSs em `installed`, mantê-los. Apenas adicionar (ou atualizar) o novo.
73
+ > Definir `active` como o DS recém-instalado.
74
+
75
+ ### 6. Confirmar
76
+
77
+ ```
78
+ ✅ Design System instalado!
79
+
80
+ Nome: {nome}
81
+ Versão: {versão}
82
+ Local: design-systems/{nome}/
83
+ Status: ativo
84
+
85
+ Próximo passo:
86
+ /ds-apply → aplicar tokens e componentes no projeto
87
+ ```
88
+
89
+ ## Regras
90
+
91
+ - Sempre validar o zip antes de extrair
92
+ - Nunca sobrescrever instalação existente sem confirmação
93
+ - Fazer merge no array `installed`, nunca sobrescrever o manifest inteiro
94
+ - Definir o DS recém-instalado como `active` automaticamente
@@ -0,0 +1,62 @@
1
+ # ds-list
2
+
3
+ Lista os design systems instalados e disponíveis no projeto atual.
4
+
5
+ ## Ativação
6
+
7
+ Ativado via `/ds-list` no Claude Code.
8
+
9
+ ## Processo
10
+
11
+ ### 1. Verificar design-systems/
12
+
13
+ Se a pasta `design-systems/` não existir:
14
+ ```
15
+ ❌ design-systems/ não encontrado.
16
+ Execute: npm install @eximia-ventures/ds
17
+ ```
18
+ Interromper.
19
+
20
+ ### 2. Ler manifest.json
21
+
22
+ Leia `design-systems/manifest.json`.
23
+
24
+ Se não existir ou `installed` estiver vazio, pular para o passo 3.
25
+
26
+ ### 3. Escanear .dspack disponíveis
27
+
28
+ Listar arquivos `design-systems/*.dspack` — estes estão disponíveis mas não instalados.
29
+
30
+ ### 4. Exibir resultado
31
+
32
+ ```
33
+ 🎨 Design Systems — {nome-do-projeto}
34
+
35
+ Instalados:
36
+ ✅ eximia-default v1.0.0 (ativo)
37
+ ○ meu-ds v2.1.0
38
+
39
+ Disponíveis (não instalados):
40
+ 📦 outro-ds.dspack
41
+
42
+ ─────────────────────────────────
43
+ /ds-install {nome} → instalar
44
+ /ds-pack → empacotar um DS existente
45
+ /ds-apply → aplicar o DS ativo no projeto
46
+ ```
47
+
48
+ Se não houver nada instalado nem disponível:
49
+ ```
50
+ 🎨 Design Systems — {nome-do-projeto}
51
+
52
+ Nenhum DS encontrado.
53
+
54
+ /ds-pack → empacotar um design system existente
55
+ /ds-install → instalar um arquivo .dspack
56
+ ```
57
+
58
+ ## Regras
59
+
60
+ - Marcar o DS ativo com `(ativo)`
61
+ - Mostrar `.dspack` disponíveis separadamente dos instalados
62
+ - Nome do projeto vem do `package.json` (campo `name`) ou do nome do diretório atual
@@ -0,0 +1,92 @@
1
+ # ds-pack
2
+
3
+ Empacota um design system existente em um arquivo `.dspack` (zip renomeado).
4
+
5
+ ## Ativação
6
+
7
+ Ativado via `/ds-pack` no Claude Code.
8
+
9
+ ## Processo
10
+
11
+ ### 1. Coletar caminho
12
+
13
+ Pergunte ao usuário:
14
+ ```
15
+ 📦 ds:pack — Empacotar Design System
16
+
17
+ Informe o caminho do design system a empacotar:
18
+ (ex: ./src/design-system, ./tokens, ./ui)
19
+ ```
20
+
21
+ Se o caminho não existir, avise e interrompa.
22
+
23
+ ### 2. Escanear o diretório
24
+
25
+ Analise o diretório e identifique:
26
+ - **Tokens**: `tokens.json`, `tokens.yaml`, `*.css` com variáveis CSS, `tailwind.config.*`
27
+ - **Componentes**: `*.tsx`, `*.jsx`, `*.vue` dentro de `atoms/`, `molecules/`, `organisms/`, `templates/`
28
+ - **Documentação**: `README.md`, `CHANGELOG.md`, configs do Storybook
29
+
30
+ ### 3. Gerar manifest.json
31
+
32
+ Crie `{caminho}/manifest.json` com o inventário real do scan:
33
+
34
+ ```json
35
+ {
36
+ "name": "{nome-inferido-do-diretório}",
37
+ "version": "1.0.0",
38
+ "description": "",
39
+ "author": "",
40
+ "methodology": "atomic-design",
41
+ "tokens": {
42
+ "files": ["tokens/tokens.json"],
43
+ "format": "dtcg | css-variables | tailwind"
44
+ },
45
+ "components": {
46
+ "atoms": ["Button", "Input", "Label"],
47
+ "molecules": [],
48
+ "organisms": [],
49
+ "templates": []
50
+ },
51
+ "created_at": "{ISO date atual}"
52
+ }
53
+ ```
54
+
55
+ ### 4. Compactar
56
+
57
+ Use caminhos absolutos para evitar ambiguidade:
58
+
59
+ ```bash
60
+ zip -r "{caminho-absoluto-para-design-systems}/{nome}.dspack" "{caminho-absoluto-do-ds}/" \
61
+ -x "*/node_modules/*" \
62
+ -x "*/.git/*" \
63
+ -x "*/dist/*" \
64
+ -x "*/build/*" \
65
+ -x "*/.next/*"
66
+ ```
67
+
68
+ > **Windows (sem zip nativo):** use PowerShell:
69
+ > ```powershell
70
+ > Compress-Archive -Path "{caminho}" -DestinationPath "design-systems/{nome}.dspack"
71
+ > ```
72
+
73
+ ### 5. Confirmar
74
+
75
+ ```
76
+ ✅ Design system empacotado!
77
+
78
+ Arquivo: design-systems/{nome}.dspack
79
+ Tamanho: {tamanho}
80
+ Tokens: {N} arquivo(s)
81
+ Atoms: {N} | Molecules: {N} | Organisms: {N}
82
+
83
+ Para instalar em outro projeto:
84
+ /ds-install design-systems/{nome}.dspack
85
+ ```
86
+
87
+ ## Regras
88
+
89
+ - Nunca incluir `node_modules/`, `.git/`, `dist/`, `build/` no pacote
90
+ - Sempre gerar `manifest.json` antes de compactar
91
+ - Salvar o `.dspack` em `design-systems/` da raiz do projeto atual
92
+ - Se `design-systems/` não existir, criar antes de salvar
@@ -0,0 +1,248 @@
1
+ # ds
2
+
3
+ Assistente central do Design System Manager. Apresenta um menu interativo e guia o usuário pela operação desejada.
4
+
5
+ ## Ativação
6
+
7
+ Ativado via `/ds` no Claude Code.
8
+
9
+ ## Menu Principal
10
+
11
+ Ao ser ativado, sempre apresente:
12
+
13
+ ```
14
+ 🎨 Design System Manager
15
+
16
+ Projeto: {nome do package.json ou nome do diretório}
17
+ DS ativo: {nome do DS ativo em design-systems/manifest.json, ou "nenhum"}
18
+
19
+ O que deseja fazer?
20
+
21
+ 1. 📦 Empacotar — empacotar um DS existente em .dspack
22
+ 2. 📥 Instalar — instalar um .dspack neste projeto
23
+ 3. 📋 Listar — ver DSs instalados e disponíveis
24
+ 4. 🎨 Aplicar — aplicar o DS ativo no projeto
25
+ 5. ❓ Ajuda — ver dicas e comandos diretos
26
+
27
+ 0. Sair
28
+
29
+ Digite o número da opção:
30
+ ```
31
+
32
+ ## Opção 1 — Empacotar
33
+
34
+ Execute o fluxo completo de `/ds-pack`:
35
+
36
+ ### Passo 1 — Caminho do DS
37
+ ```
38
+ 📦 Empacotar Design System
39
+
40
+ Informe o caminho do design system:
41
+ (ex: ./src/design-system, ./tokens, ./ui)
42
+ ```
43
+
44
+ ### Passo 2 — Confirmar inventário
45
+ Escaneie o diretório e exiba o que foi encontrado:
46
+ ```
47
+ Encontrado em {caminho}:
48
+
49
+ Tokens: {N} arquivo(s) — {lista}
50
+ Atoms: {N} componente(s)
51
+ Molecules: {N} componente(s)
52
+ Organisms: {N} componente(s)
53
+
54
+ Nome sugerido: {nome-inferido}
55
+ Versão: 1.0.0
56
+
57
+ Confirmar e empacotar? (s/n)
58
+ ```
59
+
60
+ ### Passo 3 — Empacotar e salvar
61
+ ```bash
62
+ zip -r "design-systems/{nome}.dspack" "{caminho-absoluto}/" \
63
+ -x "*/node_modules/*" -x "*/.git/*" -x "*/dist/*" -x "*/build/*"
64
+ ```
65
+
66
+ ### Resultado
67
+ ```
68
+ ✅ Empacotado!
69
+
70
+ design-systems/{nome}.dspack — {tamanho}
71
+
72
+ Próximo passo:
73
+ 2 → Instalar em outro projeto
74
+ 0 → Sair
75
+
76
+ Digite:
77
+ ```
78
+
79
+ ---
80
+
81
+ ## Opção 2 — Instalar
82
+
83
+ Execute o fluxo completo de `/ds-install`:
84
+
85
+ ### Passo 1 — Selecionar arquivo
86
+ Escaneie `design-systems/*.dspack` e liste:
87
+ ```
88
+ 📥 Instalar Design System
89
+
90
+ Arquivos disponíveis:
91
+ 1. eximia-default.dspack
92
+ 2. meu-ds.dspack
93
+ 3. Informar outro caminho...
94
+
95
+ Selecione:
96
+ ```
97
+
98
+ ### Passo 2 — Validar
99
+ ```
100
+ Validando {nome}.dspack...
101
+ ✅ Arquivo válido
102
+ ✅ manifest.json encontrado
103
+ Nome: {nome} | Versão: {versão}
104
+
105
+ Instalar? (s/n)
106
+ ```
107
+
108
+ ### Passo 3 — Extrair e atualizar manifest
109
+ ```bash
110
+ unzip -o "{caminho-absoluto}.dspack" -d "design-systems/{nome}/"
111
+ ```
112
+ Atualizar `design-systems/manifest.json` fazendo merge no array `installed`.
113
+
114
+ ### Resultado
115
+ ```
116
+ ✅ Instalado!
117
+
118
+ {nome} v{versão} — ativo
119
+
120
+ Próximo passo:
121
+ 4 → Aplicar no projeto
122
+ 0 → Sair
123
+
124
+ Digite:
125
+ ```
126
+
127
+ ---
128
+
129
+ ## Opção 3 — Listar
130
+
131
+ Execute o fluxo de `/ds-list` e exiba:
132
+
133
+ ```
134
+ 📋 Design Systems — {projeto}
135
+
136
+ Instalados:
137
+ ✅ eximia-default v1.0.0 (ativo)
138
+ ○ meu-ds v2.1.0
139
+
140
+ Disponíveis para instalar:
141
+ 📦 outro-ds.dspack
142
+
143
+ ─────────────────────────
144
+ 1 → Empacotar 2 → Instalar 4 → Aplicar 0 → Sair
145
+
146
+ Digite:
147
+ ```
148
+
149
+ ---
150
+
151
+ ## Opção 4 — Aplicar
152
+
153
+ Execute o fluxo completo de `/ds-apply`:
154
+
155
+ ### Passo 1 — Verificar DS ativo
156
+ Ler `design-systems/manifest.json → active`.
157
+ Se nenhum ativo, mostrar opção 3 antes de continuar.
158
+
159
+ ### Passo 2 — Detectar stack (silencioso)
160
+ Antes de perguntar qualquer coisa, leia `package.json` e a estrutura de diretórios.
161
+
162
+ ### Passo 3 — Wizard contextual
163
+ ```
164
+ 🎨 Aplicar DS — {nome} v{versão}
165
+
166
+ Stack detectada: {framework} + {css-approach}
167
+ Componentes: {pasta-detectada}
168
+
169
+ O que aplicar?
170
+ 1. Apenas tokens ({formato} → {arquivo-destino})
171
+ 2. Apenas componentes ({N} atoms, {N} molecules, {N} organisms)
172
+ 3. Tudo
173
+ 4. Interativo (arquivo por arquivo)
174
+
175
+ Selecione:
176
+ ```
177
+
178
+ ### Passo 4 — Preview antes de aplicar
179
+ ```
180
+ Será aplicado:
181
+
182
+ Tokens:
183
+ → {arquivo-destino} {novo | mesclar com existente}
184
+
185
+ Componentes:
186
+ → {pasta}/atoms/ ({N} arquivos)
187
+ → {pasta}/molecules/ ({N} arquivos)
188
+
189
+ Confirmar? (s/n)
190
+ ```
191
+
192
+ ### Passo 5 — Aplicar e confirmar
193
+ Executar. Se conflito de arquivo:
194
+ ```
195
+ ⚠️ {arquivo} já existe.
196
+ Sobrescrever? (s = este | t = todos | n = pular)
197
+ ```
198
+
199
+ ### Resultado
200
+ ```
201
+ ✅ DS aplicado!
202
+
203
+ {N} token(s) → {destino}
204
+ {N} componente(s) → {pasta}
205
+
206
+ ⚠️ Revise os imports antes de commitar.
207
+
208
+ 0 → Sair
209
+
210
+ Digite:
211
+ ```
212
+
213
+ ---
214
+
215
+ ## Opção 5 — Ajuda
216
+
217
+ ```
218
+ ❓ Design System Manager — Ajuda
219
+
220
+ Comandos diretos (atalhos):
221
+ /ds-pack → empacotar diretamente
222
+ /ds-install → instalar diretamente
223
+ /ds-list → listar diretamente
224
+ /ds-apply → aplicar diretamente
225
+
226
+ Formato .dspack:
227
+ → Arquivo zip com manifest.json na raiz
228
+ → Estrutura Atomic Design (atoms/molecules/organisms/templates)
229
+ → Tokens em DTCG JSON, CSS vars ou Tailwind config
230
+
231
+ Pasta design-systems/:
232
+ → Ignorada pelo git (cada dev instala localmente)
233
+ → manifest.json rastreia DSs instalados e DS ativo
234
+
235
+ 0 → Voltar ao menu
236
+
237
+ Digite:
238
+ ```
239
+
240
+ ---
241
+
242
+ ## Regras Gerais
243
+
244
+ - Sempre ler `design-systems/manifest.json` ao iniciar para exibir estado atual
245
+ - Após cada operação, sempre oferecer próximo passo sugerido ou retorno ao menu
246
+ - Nunca sobrescrever arquivos sem confirmação explícita
247
+ - Detectar stack **antes** de exibir opções de aplicação
248
+ - Se `design-systems/` não existir, orientar: `npm install @eximia-ventures/ds`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eximia-ventures/claude-code-toolkit",
3
- "version": "5.1.1",
3
+ "version": "5.2.0",
4
4
  "description": "Setup completo para Claude Code: statusline, session handoff, AIOS integration",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -14,6 +14,12 @@ const SKILLS = [
14
14
  { src: 'aios-publish.md', name: '/aios-publish', desc: 'Release management (version, changelog, publish)' },
15
15
  { src: 'aios-bootstrap.md', name: '/aios-bootstrap', desc: 'Setup de projeto (greenfield, brownfield, team, GitHub)' },
16
16
  { src: 'aios-help.md', name: '/aios-help', desc: 'Guia de comandos AIOS (reference, busca, workflows)' },
17
+ // Design System Manager (@eximia-ventures/ds)
18
+ { src: 'ds.md', name: '/ds', desc: 'Design System Manager — wizard central interativo' },
19
+ { src: 'ds-pack.md', name: '/ds-pack', desc: 'Empacotar design system em .dspack' },
20
+ { src: 'ds-install.md', name: '/ds-install', desc: 'Instalar um .dspack no projeto' },
21
+ { src: 'ds-list.md', name: '/ds-list', desc: 'Listar design systems instalados' },
22
+ { src: 'ds-apply.md', name: '/ds-apply', desc: 'Registrar DS ativo e gerar contexto para Brad Frost/@dev' },
17
23
  ];
18
24
 
19
25
  async function installCore({ targetDir } = {}) {