vibe-coding-tracker 0.17.0__tar.gz → 1.0.0__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: vibe-coding-tracker
3
- Version: 0.17.0
3
+ Version: 1.0.0
4
4
  Summary: Vibe Coding Tracker - AI coding assistant telemetry/usage parser, aggregate JSONL events into CodeAnalysis results
5
5
  Keywords: cli,ai,coding-assistant,telemetry,claude,codex,gemini,usage-tracker,analytics
6
6
  Author: Wei Lee
@@ -169,7 +169,6 @@ vct <COMMAND> [OPTIONS]
169
169
  Commands:
170
170
  analysis Analyze JSONL conversation files (single file or all sessions)
171
171
  usage Display token usage statistics
172
- statusline Cache Claude Code rate limits from a statusLine hook (stdin JSON)
173
172
  version Display version information
174
173
  update Update to the latest version from GitHub releases
175
174
  help Print this message or the help of the given subcommand(s)
@@ -262,7 +261,7 @@ The tool automatically scans these directories:
262
261
 
263
262
  ### Live Quota Panels
264
263
 
265
- At the bottom of the interactive dashboard, the per-provider stats sit on the left and two live quota panels sit on the right:
264
+ `vct usage` shows **live remaining quota for Claude Code and Codex right in the dashboard — with zero setup.** No status-line hook, no config file: vct reads each provider's own OAuth credentials, calls its usage API on a background thread, and keeps the panels current while you work.
266
265
 
267
266
  ```
268
267
  ┌ Provider/Tokens/Cost/Days ┬ Claude ────────┬ Codex ──────────┐
@@ -273,10 +272,14 @@ At the bottom of the interactive dashboard, the per-provider stats sit on the le
273
272
  └───────────────────────────┴────────────────┴─────────────────┘
274
273
  ```
275
274
 
276
- - **Claude** — 5-hour and weekly rate-limit usage. Claude Code only exposes these limits through its `statusLine` hook, so wire `vct statusline ingest` into your statusLine (see [Statusline Command](#statusline-command)) for this panel to populate.
277
- - **Codex** — plan tier, 5-hour and weekly usage, and credit balance. Pulled live from the ChatGPT backend (`wham/usage`) using the token in `~/.codex/auth.json` on a background thread; when unavailable it falls back to the newest `rate_limits` in your Codex session logs (the title shows `(API)` vs `(session)`).
275
+ - **Claude** — 5-hour and weekly usage from the official OAuth usage API (`GET /api/oauth/usage`), read from `~/.claude/.credentials.json`.
276
+ - **Codex** — plan tier, 5-hour and weekly usage, and credit balance from the ChatGPT backend (`wham/usage`) using `~/.codex/auth.json`; falls back to the newest `rate_limits` in your Codex session logs when the API is unavailable (the title shows `Codex` vs `Codex (session)`).
278
277
 
279
- Quota panels appear only in the interactive TUI; `--table`, `--text`, and `--json` are unchanged.
278
+ **Automatic token refresh.** For both providers, when a token is near expiry or rejected, vct refreshes it and writes the new token back to the provider's own credential file (in that CLI's exact format), so a token is reused across checks rather than refreshed every time. If a refresh cannot proceed, the panel shows a `run: <provider> auth login` hint instead of breaking.
279
+
280
+ A panel appears only for a provider whose credentials are present. Quota panels appear only in the interactive TUI; `--table`, `--text`, and `--json` are unchanged.
281
+
282
+ > **Platform note:** on macOS, Claude Code stores its OAuth credentials in the system Keychain rather than `~/.claude/.credentials.json`, so the Claude panel is not shown on macOS.
280
283
 
281
284
  ---
282
285
 
@@ -350,35 +353,6 @@ vct analysis --output today.json --daily
350
353
 
351
354
  ---
352
355
 
353
- ## Statusline Command
354
-
355
- **Feed Claude Code rate limits into the `usage` dashboard.**
356
-
357
- Claude Code only exposes its 5-hour / weekly rate limits through the `statusLine` hook's stdin JSON, so `vct` captures them from there and caches them to `~/.vibe_coding_tracker/claude_rate_limits.json` for the Claude quota panel.
358
-
359
- ### If you already have a statusLine
360
-
361
- Add one backgrounded line to your existing statusLine script. It has zero impact on your current display and is isolated, so a vct error can never disturb the statusLine:
362
-
363
- ```bash
364
- printf '%s' "$input" | vct statusline ingest >/dev/null 2>&1 &
365
- ```
366
-
367
- ### If you do not have a statusLine yet
368
-
369
- Point Claude Code's `~/.claude/settings.json` straight at vct, which caches the limits and prints a compact one-line status:
370
-
371
- ```json
372
- {
373
- "statusLine": {
374
- "type": "command",
375
- "command": "vct statusline"
376
- }
377
- }
378
- ```
379
-
380
- ---
381
-
382
356
  ## Update Command
383
357
 
384
358
  **Keep your installation up-to-date automatically.**
@@ -143,7 +143,6 @@ vct <COMMAND> [OPTIONS]
143
143
  Commands:
144
144
  analysis Analyze JSONL conversation files (single file or all sessions)
145
145
  usage Display token usage statistics
146
- statusline Cache Claude Code rate limits from a statusLine hook (stdin JSON)
147
146
  version Display version information
148
147
  update Update to the latest version from GitHub releases
149
148
  help Print this message or the help of the given subcommand(s)
@@ -236,7 +235,7 @@ The tool automatically scans these directories:
236
235
 
237
236
  ### Live Quota Panels
238
237
 
239
- At the bottom of the interactive dashboard, the per-provider stats sit on the left and two live quota panels sit on the right:
238
+ `vct usage` shows **live remaining quota for Claude Code and Codex right in the dashboard — with zero setup.** No status-line hook, no config file: vct reads each provider's own OAuth credentials, calls its usage API on a background thread, and keeps the panels current while you work.
240
239
 
241
240
  ```
242
241
  ┌ Provider/Tokens/Cost/Days ┬ Claude ────────┬ Codex ──────────┐
@@ -247,10 +246,14 @@ At the bottom of the interactive dashboard, the per-provider stats sit on the le
247
246
  └───────────────────────────┴────────────────┴─────────────────┘
248
247
  ```
249
248
 
250
- - **Claude** — 5-hour and weekly rate-limit usage. Claude Code only exposes these limits through its `statusLine` hook, so wire `vct statusline ingest` into your statusLine (see [Statusline Command](#statusline-command)) for this panel to populate.
251
- - **Codex** — plan tier, 5-hour and weekly usage, and credit balance. Pulled live from the ChatGPT backend (`wham/usage`) using the token in `~/.codex/auth.json` on a background thread; when unavailable it falls back to the newest `rate_limits` in your Codex session logs (the title shows `(API)` vs `(session)`).
249
+ - **Claude** — 5-hour and weekly usage from the official OAuth usage API (`GET /api/oauth/usage`), read from `~/.claude/.credentials.json`.
250
+ - **Codex** — plan tier, 5-hour and weekly usage, and credit balance from the ChatGPT backend (`wham/usage`) using `~/.codex/auth.json`; falls back to the newest `rate_limits` in your Codex session logs when the API is unavailable (the title shows `Codex` vs `Codex (session)`).
252
251
 
253
- Quota panels appear only in the interactive TUI; `--table`, `--text`, and `--json` are unchanged.
252
+ **Automatic token refresh.** For both providers, when a token is near expiry or rejected, vct refreshes it and writes the new token back to the provider's own credential file (in that CLI's exact format), so a token is reused across checks rather than refreshed every time. If a refresh cannot proceed, the panel shows a `run: <provider> auth login` hint instead of breaking.
253
+
254
+ A panel appears only for a provider whose credentials are present. Quota panels appear only in the interactive TUI; `--table`, `--text`, and `--json` are unchanged.
255
+
256
+ > **Platform note:** on macOS, Claude Code stores its OAuth credentials in the system Keychain rather than `~/.claude/.credentials.json`, so the Claude panel is not shown on macOS.
254
257
 
255
258
  ---
256
259
 
@@ -324,35 +327,6 @@ vct analysis --output today.json --daily
324
327
 
325
328
  ---
326
329
 
327
- ## Statusline Command
328
-
329
- **Feed Claude Code rate limits into the `usage` dashboard.**
330
-
331
- Claude Code only exposes its 5-hour / weekly rate limits through the `statusLine` hook's stdin JSON, so `vct` captures them from there and caches them to `~/.vibe_coding_tracker/claude_rate_limits.json` for the Claude quota panel.
332
-
333
- ### If you already have a statusLine
334
-
335
- Add one backgrounded line to your existing statusLine script. It has zero impact on your current display and is isolated, so a vct error can never disturb the statusLine:
336
-
337
- ```bash
338
- printf '%s' "$input" | vct statusline ingest >/dev/null 2>&1 &
339
- ```
340
-
341
- ### If you do not have a statusLine yet
342
-
343
- Point Claude Code's `~/.claude/settings.json` straight at vct, which caches the limits and prints a compact one-line status:
344
-
345
- ```json
346
- {
347
- "statusLine": {
348
- "type": "command",
349
- "command": "vct statusline"
350
- }
351
- }
352
- ```
353
-
354
- ---
355
-
356
330
  ## Update Command
357
331
 
358
332
  **Keep your installation up-to-date automatically.**
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "vibe_coding_tracker"
3
- version = "0.17.0"
3
+ version = "1.0.0"
4
4
  description = "Vibe Coding Tracker - AI coding assistant telemetry/usage parser, aggregate JSONL events into CodeAnalysis results"
5
5
  authors = [
6
6
  { name = "Wei Lee", email = "mai@mai0313.com" }