@eximia-ventures/claude-code-toolkit 3.0.0 → 3.0.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 ADDED
@@ -0,0 +1,426 @@
1
+ <p align="center">
2
+ <img src="https://img.shields.io/npm/v/@eximia-ventures/claude-code-toolkit?style=flat-square&color=5B4FE5&label=npm" alt="npm version" />
3
+ <img src="https://img.shields.io/npm/dt/@eximia-ventures/claude-code-toolkit?style=flat-square&color=5B4FE5" alt="downloads" />
4
+ <img src="https://img.shields.io/github/license/eximIA-Ventures/claude-code-toolkit?style=flat-square" alt="license" />
5
+ <img src="https://img.shields.io/node/v/@eximia-ventures/claude-code-toolkit?style=flat-square" alt="node" />
6
+ </p>
7
+
8
+ <h1 align="center">claude-code-toolkit</h1>
9
+
10
+ <p align="center">
11
+ <strong>Setup completo para Claude Code em um comando.</strong><br/>
12
+ Statusline customizada, session continuity e AIOS integration.
13
+ </p>
14
+
15
+ <p align="center">
16
+ <code>npx @eximia-ventures/claude-code-toolkit</code>
17
+ </p>
18
+
19
+ ---
20
+
21
+ ## O que faz?
22
+
23
+ O `claude-code-toolkit` transforma sua experiência com o Claude Code instalando automaticamente:
24
+
25
+ | Recurso | Descrição |
26
+ |---------|-----------|
27
+ | **Statusline** | Barra de status em tempo real com modelo, contexto, custo, tempo e git |
28
+ | **Session Handoff** | Continuidade de sessão entre `/clear` (7 slash commands, 2 hooks) |
29
+ | **AIOS Framework** | Integração com orquestração de agentes AI (opt-in) |
30
+
31
+ ---
32
+
33
+ ## Statusline
34
+
35
+ Após instalar, sua barra de status no Claude Code fica assim:
36
+
37
+ ```
38
+ 🟣 Opus 4.6 | 📅 16/02/2026 | 📊 4K | ⚡ 3 | ████░░░░░░ 42% | 💰 R$0.31 | ⏱ 1m05s | 🔀 main
39
+ ```
40
+
41
+ ### Segmentos
42
+
43
+ | Segmento | Dados | Exemplo |
44
+ |----------|-------|---------|
45
+ | Modelo | `model.id` | `🟣 Opus 4.6`, `🔵 Sonnet 4.5`, `🔵 Haiku 4.5` |
46
+ | Data | Sistema | `📅 16/02/2026` |
47
+ | Contexto | `context_window.total_*_tokens` | `📊 4K`, `📊 120K`, `📊 1.2M` |
48
+ | Mensagens | Transcript JSONL | `⚡ 3` |
49
+ | Progresso | `context_window.used_percentage` | `████░░░░░░ 42%` |
50
+ | Custo | `cost.total_cost_usd` × taxa | `💰 R$0.31`, `💰 $0.05`, `💰 €0.05` |
51
+ | Tempo | `cost.total_duration_ms` | `⏱ 1m05s`, `⏱ 32s` |
52
+ | Git | `git branch` (cache 5s) | `🔀 main`, `🔀 feat/login` |
53
+
54
+ ### Cores da barra de progresso
55
+
56
+ ```
57
+ ██████████ 100% 🔴 Vermelho (>80%)
58
+ ██████░░░░ 60% 🟡 Amarelo (60-80%)
59
+ ████░░░░░░ 40% 🟢 Verde (<60%)
60
+ ```
61
+
62
+ ### Moeda configurável
63
+
64
+ A moeda do custo é definida no wizard e pode ser alterada via variáveis de ambiente:
65
+
66
+ ```bash
67
+ export CLAUDE_TOOLKIT_CURRENCY="R$" # Símbolo
68
+ export CLAUDE_TOOLKIT_CURRENCY_RATE="6.20" # Taxa USD → moeda
69
+ ```
70
+
71
+ ---
72
+
73
+ ## Instalacao
74
+
75
+ ### Wizard interativo (recomendado)
76
+
77
+ ```bash
78
+ npx @eximia-ventures/claude-code-toolkit
79
+ ```
80
+
81
+ O wizard guia você pelas opções:
82
+
83
+ ```
84
+ ╔══════════════════════════════════════╗
85
+ ║ claude-code-toolkit v3.0.0 ║
86
+ ║ Setup completo para Claude Code ║
87
+ ╚══════════════════════════════════════╝
88
+
89
+ ? Selecione o que deseja instalar:
90
+ ◉ Statusline — Barra de status: modelo, contexto %, custo, tempo, git
91
+ ◉ Session Handoff — Continuidade de sessão (via claude-code-handoff)
92
+
93
+ ─── Configuração da Statusline ───
94
+
95
+ ? Moeda para exibição de custo:
96
+ > BRL (R$) — Taxa: 6.20
97
+ USD ($) — Sem conversão
98
+ EUR (€) — Taxa: 0.92
99
+ Personalizada — Definir símbolo e taxa
100
+
101
+ ─── AIOS Framework ───
102
+
103
+ ? Vai utilizar o AIOS? (s/N)
104
+
105
+ ─── Instalando... ───
106
+
107
+ ✓ Statusline instalada em ~/.claude/statusline.sh
108
+ ✓ settings.json atualizado com statusLine
109
+ ✓ claude-code-handoff instalado (7 commands, 2 hooks, 2 rules)
110
+ ✓ Pronto!
111
+ ```
112
+
113
+ ### Instalacao direta (sem wizard)
114
+
115
+ ```bash
116
+ # Statusline com BRL
117
+ npx @eximia-ventures/claude-code-toolkit install --statusline-only --currency 'R$' --currency-rate 6.20
118
+
119
+ # Apenas session handoff
120
+ npx @eximia-ventures/claude-code-toolkit install --handoff-only
121
+
122
+ # Tudo exceto AIOS
123
+ npx @eximia-ventures/claude-code-toolkit install --no-aios
124
+ ```
125
+
126
+ ---
127
+
128
+ ## Fluxo de Instalacao
129
+
130
+ ```mermaid
131
+ flowchart TD
132
+ A["npx @eximia-ventures/claude-code-toolkit"] --> B{Wizard interativo}
133
+
134
+ B --> C["Selecionar módulos"]
135
+ C --> D{Statusline?}
136
+ C --> E{Handoff?}
137
+ C --> F{AIOS?}
138
+
139
+ D -->|Sim| D1["Escolher moeda\nBRL / USD / EUR / Custom"]
140
+ D1 --> D2["Instala ~/.claude/statusline.sh\nMerge settings.json"]
141
+
142
+ E -->|Sim| E1["npx claude-code-handoff"]
143
+ E1 --> E2["7 commands + 2 hooks + 2 rules\n.claude/handoffs/"]
144
+
145
+ F -->|Sim| F1{Sub-opções}
146
+ F1 --> F2["AIOS Core\nnpx aios-core install"]
147
+ F1 --> F3["Skill /aios-integrate\n.claude/commands/"]
148
+
149
+ D2 --> G["Salva manifest\n.toolkit-manifest.json"]
150
+ E2 --> G
151
+ F2 --> G
152
+ F3 --> G
153
+
154
+ G --> H["✓ Pronto!\nReinicie o Claude Code"]
155
+
156
+ style A fill:#5B4FE5,color:#fff,stroke:none
157
+ style H fill:#22c55e,color:#fff,stroke:none
158
+ style D1 fill:#f59e0b,color:#000,stroke:none
159
+ style E1 fill:#3b82f6,color:#fff,stroke:none
160
+ style F2 fill:#8b5cf6,color:#fff,stroke:none
161
+ style F3 fill:#8b5cf6,color:#fff,stroke:none
162
+ ```
163
+
164
+ ---
165
+
166
+ ## Comandos
167
+
168
+ ### `install` (default)
169
+
170
+ ```bash
171
+ npx @eximia-ventures/claude-code-toolkit [install] [options]
172
+ ```
173
+
174
+ | Flag | Descrição |
175
+ |------|-----------|
176
+ | `--statusline-only` | Instala apenas a statusline |
177
+ | `--handoff-only` | Instala apenas o session handoff |
178
+ | `--no-aios` | Pula a configuração do AIOS |
179
+ | `--currency <symbol>` | Símbolo da moeda (`R$`, `$`, `€`) |
180
+ | `--currency-rate <rate>` | Taxa de conversão USD → moeda |
181
+
182
+ ### `doctor`
183
+
184
+ Verifica a integridade da instalação com 10 checks:
185
+
186
+ ```bash
187
+ npx @eximia-ventures/claude-code-toolkit doctor
188
+ ```
189
+
190
+ ```
191
+ ─── Diagnóstico ───
192
+
193
+ ✓ Manifest encontrado (v3.0.0)
194
+ ✓ Diretório ~/.claude/ existe
195
+ ✓ settings.json contém statusLine
196
+ ✓ statusline.sh existe e é executável
197
+ ✓ jq instalado (jq-1.7.1)
198
+ ✓ git version 2.50.1
199
+ ✓ Node.js v25.6.0
200
+ ✓ Handoff commands encontrados (7 de 7)
201
+ ✓ AIOS Core instalado no projeto
202
+ ✓ Skill /aios-integrate instalada
203
+
204
+ ✓ Tudo OK! (10 verificações passaram)
205
+ ```
206
+
207
+ ### `uninstall`
208
+
209
+ Remove tudo que foi instalado, baseado no manifest:
210
+
211
+ ```bash
212
+ npx @eximia-ventures/claude-code-toolkit uninstall [--force]
213
+ ```
214
+
215
+ ---
216
+
217
+ ## Modulos
218
+
219
+ ### 1. Statusline
220
+
221
+ A feature principal. Instala um script bash em `~/.claude/statusline.sh` que recebe JSON do Claude Code via stdin e renderiza a barra de status.
222
+
223
+ **Arquivos tocados:**
224
+
225
+ | Arquivo | Ação |
226
+ |---------|------|
227
+ | `~/.claude/statusline.sh` | Criado (bash + jq) |
228
+ | `~/.claude/settings.json` | Merge com `statusLine.command` |
229
+ | `~/.claude/toolkit-env.sh` | Criado (variáveis de moeda) |
230
+
231
+ **Requisito:** [jq](https://jqlang.github.io/jq/) instalado (`brew install jq`)
232
+
233
+ ### 2. Session Handoff
234
+
235
+ Instala o pacote [`claude-code-handoff`](https://www.npmjs.com/package/claude-code-handoff) no projeto, que adiciona:
236
+
237
+ | Tipo | Itens |
238
+ |------|-------|
239
+ | Slash Commands | `/resume`, `/handoff`, `/save-handoff`, `/switch-context`, `/delete-handoff`, `/auto-handoff`, `/context-doctor` |
240
+ | Hooks | `context-monitor.sh`, `session-cleanup.sh` |
241
+ | Rules | `session-continuity.md`, `auto-handoff.md` |
242
+ | Estrutura | `.claude/handoffs/` |
243
+
244
+ ### 3. AIOS Framework (opt-in)
245
+
246
+ Para quem usa o [Synkra AIOS](https://github.com/eximIA-Ventures) — framework de orquestração de agentes AI.
247
+
248
+ **AIOS Core** — Instala/atualiza o framework via `npx aios-core install`
249
+
250
+ **Skill `/aios-integrate`** — Slash command para o Claude Code que funciona como gerenciador de artefatos:
251
+
252
+ ```mermaid
253
+ flowchart LR
254
+ A["/aios-integrate"] --> B{Ação}
255
+ B --> C["Integrar artefato\nexterno"]
256
+ B --> D["Listar artefatos\ninstalados"]
257
+ B --> E["Exportar\nartefatos"]
258
+
259
+ C --> C1["Agent .md/.yaml"]
260
+ C --> C2["Squad folder"]
261
+
262
+ C1 --> F[".codex/agents/\n.antigravity/agents/\n.agent/workflows/\nagents.csv\nslash commands"]
263
+
264
+ C2 --> G["./squads/\nagents.csv\nslash commands"]
265
+
266
+ style A fill:#5B4FE5,color:#fff,stroke:none
267
+ style C fill:#f59e0b,color:#000,stroke:none
268
+ style D fill:#3b82f6,color:#fff,stroke:none
269
+ style E fill:#22c55e,color:#fff,stroke:none
270
+ ```
271
+
272
+ ---
273
+
274
+ ## Arquitetura
275
+
276
+ ```
277
+ claude-code-toolkit/
278
+ ├── package.json
279
+ ├── bin/
280
+ │ └── cli.js # Entry point
281
+ ├── src/
282
+ │ ├── index.js # CLI (Commander.js)
283
+ │ ├── installer.js # Wizard interativo (Inquirer)
284
+ │ ├── modules/
285
+ │ │ ├── index.js # Registry dos módulos
286
+ │ │ ├── statusline.js # ~/.claude/statusline.sh + settings.json
287
+ │ │ ├── handoff.js # npx claude-code-handoff
288
+ │ │ └── aios.js # npx aios-core + skill
289
+ │ ├── commands/
290
+ │ │ ├── uninstall.js # Remoção via manifest
291
+ │ │ └── doctor.js # 10 checks de integridade
292
+ │ └── utils/
293
+ │ ├── settings-merger.js # Deep-merge seguro (com backup)
294
+ │ ├── file-installer.js # Cópia com hash comparison
295
+ │ └── logger.js # Output estilizado (Chalk)
296
+ └── assets/
297
+ ├── statusline/
298
+ │ └── statusline.sh # Script bash (jq + ANSI)
299
+ └── skill/
300
+ └── aios-integrate.md # Slash command para Claude Code
301
+ ```
302
+
303
+ ---
304
+
305
+ ## Como funciona
306
+
307
+ ```mermaid
308
+ sequenceDiagram
309
+ participant U as Usuário
310
+ participant T as Toolkit CLI
311
+ participant S as ~/.claude/settings.json
312
+ participant SH as ~/.claude/statusline.sh
313
+ participant CC as Claude Code
314
+
315
+ U->>T: npx @eximia-ventures/claude-code-toolkit
316
+ T->>T: Wizard interativo
317
+ T->>SH: Copia statusline.sh
318
+ T->>S: Deep-merge statusLine config
319
+ T->>T: npx claude-code-handoff
320
+ T->>T: Salva manifest
321
+
322
+ Note over U,CC: Após reiniciar o Claude Code
323
+
324
+ CC->>S: Lê settings.json
325
+ CC->>SH: Executa statusline.sh (JSON via stdin)
326
+ SH->>SH: Parseia com jq
327
+ SH->>CC: Retorna string formatada
328
+ CC->>U: Exibe barra de status
329
+ ```
330
+
331
+ ---
332
+
333
+ ## Seguranca
334
+
335
+ - **Backup automático**: `settings.json` é salvo como `.backup` antes de qualquer merge
336
+ - **Deep-merge seguro**: Nunca sobrescreve configurações existentes, apenas adiciona/atualiza
337
+ - **Hash comparison**: Arquivos só são sobrescritos se o conteúdo mudou
338
+ - **Manifest**: Tudo que é instalado fica registrado em `.toolkit-manifest.json` para uninstall preciso
339
+ - **Idempotente**: Rodar o install múltiplas vezes é seguro
340
+
341
+ ---
342
+
343
+ ## Requisitos
344
+
345
+ | Dependência | Versão | Necessário para |
346
+ |-------------|--------|-----------------|
347
+ | Node.js | >= 18 | CLI |
348
+ | jq | qualquer | Statusline |
349
+ | git | qualquer | Segmento git da statusline |
350
+
351
+ ---
352
+
353
+ ## FAQ
354
+
355
+ <details>
356
+ <summary><strong>A statusline não aparece após instalar</strong></summary>
357
+
358
+ 1. Reinicie o Claude Code completamente (feche e abra)
359
+ 2. Rode `npx @eximia-ventures/claude-code-toolkit doctor` para verificar
360
+ 3. Confira se `jq` está instalado: `jq --version`
361
+ </details>
362
+
363
+ <details>
364
+ <summary><strong>Como mudar a moeda depois de instalar?</strong></summary>
365
+
366
+ Adicione ao seu `~/.zshrc` ou `~/.bashrc`:
367
+
368
+ ```bash
369
+ export CLAUDE_TOOLKIT_CURRENCY="€"
370
+ export CLAUDE_TOOLKIT_CURRENCY_RATE="0.92"
371
+ ```
372
+
373
+ Ou rode o toolkit novamente — ele sobrescreve com a nova config.
374
+ </details>
375
+
376
+ <details>
377
+ <summary><strong>Posso instalar só a statusline sem o handoff?</strong></summary>
378
+
379
+ Sim: `npx @eximia-ventures/claude-code-toolkit install --statusline-only`
380
+ </details>
381
+
382
+ <details>
383
+ <summary><strong>O install quebrou meu settings.json</strong></summary>
384
+
385
+ O backup fica em `~/.claude/settings.json.backup`. Restaure com:
386
+
387
+ ```bash
388
+ cp ~/.claude/settings.json.backup ~/.claude/settings.json
389
+ ```
390
+ </details>
391
+
392
+ <details>
393
+ <summary><strong>Como remover tudo?</strong></summary>
394
+
395
+ ```bash
396
+ npx @eximia-ventures/claude-code-toolkit uninstall
397
+ ```
398
+
399
+ Isso lê o manifest e remove apenas o que foi instalado pelo toolkit.
400
+ </details>
401
+
402
+ ---
403
+
404
+ ## Dependencias
405
+
406
+ | Pacote | Versão | Motivo |
407
+ |--------|--------|--------|
408
+ | [commander](https://www.npmjs.com/package/commander) | ^12.1.0 | CLI framework |
409
+ | [inquirer](https://www.npmjs.com/package/inquirer) | ^8.2.6 | Wizard interativo (CommonJS) |
410
+ | [chalk](https://www.npmjs.com/package/chalk) | ^4.1.2 | Output colorido (CommonJS) |
411
+ | [fs-extra](https://www.npmjs.com/package/fs-extra) | ^11.3.0 | File operations |
412
+ | [claude-code-handoff](https://www.npmjs.com/package/claude-code-handoff) | ^2.1.0 | Session continuity |
413
+
414
+ > **Nota:** `inquirer@8` e `chalk@4` são versões CommonJS — evita problemas de ESM com npx.
415
+
416
+ ---
417
+
418
+ ## License
419
+
420
+ MIT
421
+
422
+ ---
423
+
424
+ <p align="center">
425
+ Made with Claude Code by <a href="https://github.com/eximIA-Ventures">eximIA Ventures</a>
426
+ </p>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eximia-ventures/claude-code-toolkit",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Setup completo para Claude Code: statusline, session handoff, AIOS integration",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -13,6 +13,7 @@ const STATUSLINE_SRC = path.join(__dirname, '..', '..', 'assets', 'statusline',
13
13
 
14
14
  const STATUSLINE_SETTINGS = {
15
15
  statusLine: {
16
+ type: 'command',
16
17
  command: `bash ${STATUSLINE_DEST}`
17
18
  }
18
19
  };