@eximia-ventures/claude-code-toolkit 3.0.2 → 3.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 +38 -29
- package/package.json +1 -1
- package/src/installer.js +13 -0
- package/src/modules/index.js +9 -2
- package/src/modules/meter.js +33 -0
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 e AIOS integration.
|
|
12
|
+
Statusline customizada, session continuity, usage monitor e AIOS integration.
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
@@ -26,6 +26,7 @@ O `claude-code-toolkit` transforma sua experiência com o Claude Code instalando
|
|
|
26
26
|
|---------|-----------|
|
|
27
27
|
| **Statusline** | Barra de status em tempo real com modelo, contexto, custo, tempo e git |
|
|
28
28
|
| **Session Handoff** | Continuidade de sessão entre `/clear` (7 slash commands, 2 hooks) |
|
|
29
|
+
| **eximia-meter** | Monitor de consumo de tokens no menu bar do macOS |
|
|
29
30
|
| **AIOS Framework** | Integração com orquestração de agentes AI (opt-in) |
|
|
30
31
|
|
|
31
32
|
---
|
|
@@ -87,8 +88,9 @@ O wizard guia você pelas opções:
|
|
|
87
88
|
╚══════════════════════════════════════╝
|
|
88
89
|
|
|
89
90
|
? Selecione o que deseja instalar:
|
|
90
|
-
|
|
91
|
-
|
|
91
|
+
○ Statusline — Barra de status: modelo, contexto %, custo, tempo, git
|
|
92
|
+
○ Session Handoff — Continuidade de sessão (via claude-code-handoff)
|
|
93
|
+
○ eximia-meter — Monitor de consumo de tokens (menu bar macOS)
|
|
92
94
|
|
|
93
95
|
─── Configuração da Statusline ───
|
|
94
96
|
|
|
@@ -107,22 +109,10 @@ O wizard guia você pelas opções:
|
|
|
107
109
|
✓ Statusline instalada em ~/.claude/statusline.sh
|
|
108
110
|
✓ settings.json atualizado com statusLine
|
|
109
111
|
✓ claude-code-handoff instalado (7 commands, 2 hooks, 2 rules)
|
|
112
|
+
✓ eximia-meter instalado
|
|
110
113
|
✓ Pronto!
|
|
111
114
|
```
|
|
112
115
|
|
|
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
116
|
---
|
|
127
117
|
|
|
128
118
|
## Fluxo de Instalacao
|
|
@@ -134,6 +124,7 @@ flowchart TD
|
|
|
134
124
|
B --> C["Selecionar módulos"]
|
|
135
125
|
C --> D{Statusline?}
|
|
136
126
|
C --> E{Handoff?}
|
|
127
|
+
C --> M{eximia-meter?}
|
|
137
128
|
C --> F{AIOS?}
|
|
138
129
|
|
|
139
130
|
D -->|Sim| D1["Escolher moeda\nBRL / USD / EUR / Custom"]
|
|
@@ -142,12 +133,16 @@ flowchart TD
|
|
|
142
133
|
E -->|Sim| E1["npx claude-code-handoff"]
|
|
143
134
|
E1 --> E2["7 commands + 2 hooks + 2 rules\n.claude/handoffs/"]
|
|
144
135
|
|
|
136
|
+
M -->|Sim| M1["npx eximia-meter"]
|
|
137
|
+
M1 --> M2["App no menu bar\nMonitor de tokens"]
|
|
138
|
+
|
|
145
139
|
F -->|Sim| F1{Sub-opções}
|
|
146
140
|
F1 --> F2["AIOS Core\nnpx aios-core install"]
|
|
147
141
|
F1 --> F3["Skill /aios-integrate\n.claude/commands/"]
|
|
148
142
|
|
|
149
143
|
D2 --> G["Salva manifest\n.toolkit-manifest.json"]
|
|
150
144
|
E2 --> G
|
|
145
|
+
M2 --> G
|
|
151
146
|
F2 --> G
|
|
152
147
|
F3 --> G
|
|
153
148
|
|
|
@@ -157,6 +152,7 @@ flowchart TD
|
|
|
157
152
|
style H fill:#22c55e,color:#fff,stroke:none
|
|
158
153
|
style D1 fill:#f59e0b,color:#000,stroke:none
|
|
159
154
|
style E1 fill:#3b82f6,color:#fff,stroke:none
|
|
155
|
+
style M1 fill:#22c55e,color:#fff,stroke:none
|
|
160
156
|
style F2 fill:#8b5cf6,color:#fff,stroke:none
|
|
161
157
|
style F3 fill:#8b5cf6,color:#fff,stroke:none
|
|
162
158
|
```
|
|
@@ -168,16 +164,10 @@ flowchart TD
|
|
|
168
164
|
### `install` (default)
|
|
169
165
|
|
|
170
166
|
```bash
|
|
171
|
-
npx @eximia-ventures/claude-code-toolkit
|
|
167
|
+
npx @eximia-ventures/claude-code-toolkit
|
|
172
168
|
```
|
|
173
169
|
|
|
174
|
-
|
|
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 |
|
|
170
|
+
Abre o wizard interativo onde você seleciona os módulos desejados. Todas as opções começam desmarcadas.
|
|
181
171
|
|
|
182
172
|
### `doctor`
|
|
183
173
|
|
|
@@ -241,7 +231,24 @@ Instala o pacote [`claude-code-handoff`](https://www.npmjs.com/package/claude-co
|
|
|
241
231
|
| Rules | `session-continuity.md`, `auto-handoff.md` |
|
|
242
232
|
| Estrutura | `.claude/handoffs/` |
|
|
243
233
|
|
|
244
|
-
### 3.
|
|
234
|
+
### 3. eximia-meter
|
|
235
|
+
|
|
236
|
+
Monitor de consumo de tokens que vive no menu bar do macOS. Instala via [`eximia-meter`](https://github.com/eximIA-Ventures/eximia-meter).
|
|
237
|
+
|
|
238
|
+
**O que mostra:**
|
|
239
|
+
|
|
240
|
+
| Metrica | Descrição |
|
|
241
|
+
|---------|-----------|
|
|
242
|
+
| Consumo semanal | Progresso do limite com barra visual |
|
|
243
|
+
| Burn rate | Projeção de consumo e countdown para reset |
|
|
244
|
+
| Por projeto | Tokens e custo por projeto |
|
|
245
|
+
| Distribuição | Breakdown por modelo (Opus/Sonnet/Haiku) |
|
|
246
|
+
| Heatmap 24h | Atividade por hora com níveis de intensidade |
|
|
247
|
+
| Custo estimado | USD ponderado por modelo |
|
|
248
|
+
|
|
249
|
+
**Complementa a statusline:** a statusline mostra dados da sessão atual, o meter mostra a visão macro semanal/por projeto.
|
|
250
|
+
|
|
251
|
+
### 4. AIOS Framework (opt-in)
|
|
245
252
|
|
|
246
253
|
Para quem usa o [Synkra AIOS](https://github.com/eximIA-Ventures) — framework de orquestração de agentes AI.
|
|
247
254
|
|
|
@@ -285,6 +292,7 @@ claude-code-toolkit/
|
|
|
285
292
|
│ │ ├── index.js # Registry dos módulos
|
|
286
293
|
│ │ ├── statusline.js # ~/.claude/statusline.sh + settings.json
|
|
287
294
|
│ │ ├── handoff.js # npx claude-code-handoff
|
|
295
|
+
│ │ ├── meter.js # npx eximia-meter
|
|
288
296
|
│ │ └── aios.js # npx aios-core + skill
|
|
289
297
|
│ ├── commands/
|
|
290
298
|
│ │ ├── uninstall.js # Remoção via manifest
|
|
@@ -313,10 +321,11 @@ sequenceDiagram
|
|
|
313
321
|
participant CC as Claude Code
|
|
314
322
|
|
|
315
323
|
U->>T: npx @eximia-ventures/claude-code-toolkit
|
|
316
|
-
T->>T: Wizard interativo
|
|
317
|
-
T->>SH: Copia statusline.sh
|
|
324
|
+
T->>T: Wizard interativo (tudo desmarcado)
|
|
325
|
+
T->>SH: Copia statusline.sh (se selecionado)
|
|
318
326
|
T->>S: Deep-merge statusLine config
|
|
319
|
-
T->>T: npx claude-code-handoff
|
|
327
|
+
T->>T: npx claude-code-handoff (se selecionado)
|
|
328
|
+
T->>T: npx eximia-meter (se selecionado)
|
|
320
329
|
T->>T: Salva manifest
|
|
321
330
|
|
|
322
331
|
Note over U,CC: Após reiniciar o Claude Code
|
|
@@ -376,7 +385,7 @@ Ou rode o toolkit novamente — ele sobrescreve com a nova config.
|
|
|
376
385
|
<details>
|
|
377
386
|
<summary><strong>Posso instalar só a statusline sem o handoff?</strong></summary>
|
|
378
387
|
|
|
379
|
-
Sim
|
|
388
|
+
Sim — no wizard, marque apenas a opção "Statusline" e avance.
|
|
380
389
|
</details>
|
|
381
390
|
|
|
382
391
|
<details>
|
package/package.json
CHANGED
package/src/installer.js
CHANGED
|
@@ -37,6 +37,11 @@ async function runInstaller() {
|
|
|
37
37
|
name: `${modules.handoff.name} — ${modules.handoff.description}`,
|
|
38
38
|
value: 'handoff',
|
|
39
39
|
checked: false
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: `${modules.meter.name} — ${modules.meter.description}`,
|
|
43
|
+
value: 'meter',
|
|
44
|
+
checked: false
|
|
40
45
|
}
|
|
41
46
|
]
|
|
42
47
|
}
|
|
@@ -154,6 +159,14 @@ async function runInstaller() {
|
|
|
154
159
|
}
|
|
155
160
|
}
|
|
156
161
|
|
|
162
|
+
// Install meter
|
|
163
|
+
if (selectedModules.includes('meter')) {
|
|
164
|
+
const result = await modules.meter.module.install();
|
|
165
|
+
if (result.installed) {
|
|
166
|
+
manifest.files.push(...modules.meter.module.getManifestEntries());
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
157
170
|
// Install AIOS
|
|
158
171
|
if (selectedModules.includes('aios')) {
|
|
159
172
|
const result = await modules.aios.module.install(aiosOptions);
|
package/src/modules/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const statusline = require('./statusline');
|
|
4
4
|
const handoff = require('./handoff');
|
|
5
|
+
const meter = require('./meter');
|
|
5
6
|
const aios = require('./aios');
|
|
6
7
|
|
|
7
8
|
const modules = {
|
|
@@ -9,13 +10,19 @@ const modules = {
|
|
|
9
10
|
name: 'Statusline',
|
|
10
11
|
description: 'Barra de status: modelo, contexto %, custo, tempo, git',
|
|
11
12
|
module: statusline,
|
|
12
|
-
default:
|
|
13
|
+
default: false
|
|
13
14
|
},
|
|
14
15
|
handoff: {
|
|
15
16
|
name: 'Session Handoff',
|
|
16
17
|
description: 'Continuidade de sessão (via claude-code-handoff)',
|
|
17
18
|
module: handoff,
|
|
18
|
-
default:
|
|
19
|
+
default: false
|
|
20
|
+
},
|
|
21
|
+
meter: {
|
|
22
|
+
name: 'eximia-meter',
|
|
23
|
+
description: 'Monitor de consumo de tokens (menu bar macOS)',
|
|
24
|
+
module: meter,
|
|
25
|
+
default: false
|
|
19
26
|
},
|
|
20
27
|
aios: {
|
|
21
28
|
name: 'AIOS Framework',
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { execSync } = require('child_process');
|
|
4
|
+
const logger = require('../utils/logger');
|
|
5
|
+
|
|
6
|
+
async function install() {
|
|
7
|
+
logger.section('eximia-meter');
|
|
8
|
+
|
|
9
|
+
try {
|
|
10
|
+
logger.dim('Executando eximia-meter...');
|
|
11
|
+
execSync('npx eximia-meter@latest', {
|
|
12
|
+
stdio: 'inherit',
|
|
13
|
+
timeout: 180000
|
|
14
|
+
});
|
|
15
|
+
logger.success('eximia-meter instalado');
|
|
16
|
+
return { installed: true };
|
|
17
|
+
} catch (err) {
|
|
18
|
+
logger.warn(`eximia-meter falhou: ${err.message}`);
|
|
19
|
+
logger.dim('Você pode instalar manualmente depois: npx eximia-meter');
|
|
20
|
+
return { installed: false, error: err.message };
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async function uninstall() {
|
|
25
|
+
logger.dim('eximia-meter é um app standalone — remova manualmente se necessário.');
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function getManifestEntries() {
|
|
30
|
+
return ['eximia-meter'];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
module.exports = { install, uninstall, getManifestEntries };
|