@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 +426 -0
- package/package.json +1 -1
- package/src/modules/statusline.js +1 -0
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