@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 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
- Statusline — Barra de status: modelo, contexto %, custo, tempo, git
91
- Session Handoff — Continuidade de sessão (via claude-code-handoff)
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 [install] [options]
167
+ npx @eximia-ventures/claude-code-toolkit
172
168
  ```
173
169
 
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 |
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. AIOS Framework (opt-in)
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: `npx @eximia-ventures/claude-code-toolkit install --statusline-only`
388
+ Sim no wizard, marque apenas a opção "Statusline" e avance.
380
389
  </details>
381
390
 
382
391
  <details>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eximia-ventures/claude-code-toolkit",
3
- "version": "3.0.2",
3
+ "version": "3.1.1",
4
4
  "description": "Setup completo para Claude Code: statusline, session handoff, AIOS integration",
5
5
  "main": "src/index.js",
6
6
  "bin": {
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);
@@ -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: true
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: true
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 };