whoburnedmore 0.9.22 → 0.9.24

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.
Files changed (4) hide show
  1. package/README.md +104 -52
  2. package/dist/index.js +5596 -5287
  3. package/package.json +10 -7
  4. package/LICENSE +0 -21
package/README.md CHANGED
@@ -1,81 +1,133 @@
1
1
  # whoburnedmore
2
2
 
3
- > Find out who burned more — submit your AI coding-agent token usage to the public
4
- > leaderboard at [whoburnedmore.com](https://whoburnedmore.com).
3
+ **who burned more tokens — you or them?** One command reads your local AI coding-agent usage logs, adds up your burn, and puts you on the public leaderboard with a **shareable dashboard**.
4
+
5
+ [![npm version](https://img.shields.io/npm/v/whoburnedmore.svg?color=f97316)](https://www.npmjs.com/package/whoburnedmore)
6
+ [![npm downloads](https://img.shields.io/npm/dm/whoburnedmore.svg?color=f97316)](https://www.npmjs.com/package/whoburnedmore)
7
+ [![license](https://img.shields.io/npm/l/whoburnedmore.svg?color=f97316)](https://www.npmjs.com/package/whoburnedmore)
8
+ [![node](https://img.shields.io/node/v/whoburnedmore.svg?color=3c873a)](https://nodejs.org)
5
9
 
6
10
  ```bash
7
11
  npx whoburnedmore
8
12
  ```
9
13
 
10
- **This is the real, production CLI** — the exact code published to npm and run on users'
11
- machines. This repository is a public, always-in-sync mirror of it.
14
+ That's the whole thing. No install, no config. Your **first run signs you in** — the CLI opens a page, you approve a short code, and this machine is bound to your account.
12
15
 
13
- ## What it does
16
+ ---
14
17
 
15
- `whoburnedmore` reads your local AI coding-agent usage (Claude Code, Codex, Gemini CLI,
16
- Copilot, Cursor and more, via [ccusage](https://github.com/ryoppippi/ccusage)), adds up
17
- the tokens and estimated cost, and **submits your daily totals to the whoburnedmore.com
18
- server** so you land on the public leaderboard and get a shareable dashboard.
18
+ ## What you'll see
19
19
 
20
- Your **first run signs you in** — the CLI opens a page and you approve a short code — then
21
- binds this machine to your account so your usage lands on the leaderboard under your handle.
22
- (Prefer to stay fully offline? `--local` never signs in and never uploads.)
20
+ ```text
21
+ whoburnedmore · https://whoburnedmore.com
23
22
 
24
- ### What leaves your machine
23
+ 🔥 your burn report
25
24
 
26
- Only **daily aggregate numbers** — date, tool, model, token counts, and estimated cost
27
- (plus optional per-session / per-tool rollups). **Never** your prompts, your code, file
28
- contents, or file paths. Run `private` to drop off the board, `remove` to delete your
29
- dashboard and its data, or use `--local` to stay fully offline.
25
+ claude 2.26B tokens $2,640.07 19 days
26
+ codex 58.2M tokens $16.85 5 days
27
+ ──────────────────────────────────────────────
28
+ total 2.31B tokens $2,656.91
29
+ today 92.8M tokens
30
30
 
31
- > Want a 100%-local report that makes **no** network calls at all? Use `npx whoburnedmore
32
- > --local`, which builds an HTML dashboard on your machine and uploads nothing.
31
+ You burned 2.31B tokens. Your dashboard:
32
+ https://whoburnedmore.com/u/<your-handle>
33
33
 
34
- ## Commands
34
+ Re-run anytime to update it. Background sync keeps it fresh every 15 min.
35
+ ```
36
+
37
+ Once you're signed in, your usage lands on the leaderboard under your handle. Run the command again anytime to refresh — or let the background sync do it for you.
38
+
39
+ **Want to stay off the board?** Run `npx whoburnedmore private` to hide your dashboard, or `npx whoburnedmore --local` to never upload anything at all.
40
+
41
+ ## Privacy first
42
+
43
+ Only **daily aggregate numbers** ever leave your machine — date, tool, model, token counts, and estimated cost. **Never your prompts, your code, or your file names.**
44
+
45
+ See exactly what would be sent, and send nothing:
35
46
 
47
+ ```bash
48
+ npx whoburnedmore --dry-run
36
49
  ```
37
- npx whoburnedmore sign in, submit, land on the leaderboard, open your dashboard
38
- npx whoburnedmore --board=CODE compare with friends — sign in and join their board
39
- npx whoburnedmore --org=SLUG submit to your organization's board (companies/hackathons)
40
- npx whoburnedmore --local build the dashboard locally and open it (offline, no upload)
41
- npx whoburnedmore --dry-run print exactly what would be sent, send nothing
42
- npx whoburnedmore --no-submit collect locally, send nothing
43
- npx whoburnedmore link --token=TOKEN bind a server/VM to your account (token from your profile)
44
- npx whoburnedmore daemon keep syncing in the foreground (containers with no scheduler)
45
- npx whoburnedmore private hide your dashboard from the leaderboard
46
- npx whoburnedmore public put it back
47
- npx whoburnedmore remove delete your dashboard and its data
48
- npx whoburnedmore verify delisted? re-verify your usage to get back on
49
- npx whoburnedmore status check background-sync health (last sync, staleness)
50
- npx whoburnedmore install-sync turn on 15-minute background sync
51
- npx whoburnedmore uninstall-sync turn off the background sync
50
+
51
+ Or stay completely offline — `--local` builds the same dashboard as a self-contained HTML file on your machine and opens it in your browser, sending nothing anywhere and never signing you in:
52
+
53
+ ```bash
54
+ npx whoburnedmore --local
52
55
  ```
53
56
 
54
- After your first run, a background sync keeps your page fresh automatically
55
- every 15 minutes (`uninstall-sync` to stop). The installed background job runs
56
- the latest published `whoburnedmore` package on each sync tick, so future CLI
57
- fixes are picked up automatically after the next refresh. The server endpoint is
58
- overridable with `WHOBURNEDMORE_API`.
57
+ ## Commands
58
+
59
+ | Command | What it does |
60
+ | --- | --- |
61
+ | `npx whoburnedmore` | Sign in, submit your burn, land on the leaderboard, open your dashboard |
62
+ | `npx whoburnedmore --board=CODE` | Compare with friends — sign in and join their board |
63
+ | `npx whoburnedmore --org=SLUG` | Submit to your organization's board (companies / hackathons) |
64
+ | `npx whoburnedmore --local` | Build the dashboard locally and open it (fully offline, no sign-in) |
65
+ | `npx whoburnedmore --dry-run` | Print exactly what would be sent, send nothing |
66
+ | `npx whoburnedmore --no-submit` | Print local stats only, send nothing |
67
+ | `npx whoburnedmore private` | Hide your dashboard from the leaderboard |
68
+ | `npx whoburnedmore public` | Put it back on the leaderboard |
69
+ | `npx whoburnedmore remove` | Delete your dashboard and all its data |
70
+ | `npx whoburnedmore verify` | Delisted? Re-verify your usage to get back on |
71
+ | `npx whoburnedmore link --token=TOKEN` | Bind a server / VM to your account (token from your profile) |
72
+ | `npx whoburnedmore daemon` | Keep syncing in the foreground (containers with no scheduler) |
73
+ | `npx whoburnedmore status` | Check background-sync health (last sync, staleness) |
74
+ | `npx whoburnedmore install-sync` | Turn the 15-minute background sync back on |
75
+ | `npx whoburnedmore uninstall-sync` | Turn the background sync off |
76
+
77
+ ## Supported tools
78
+
79
+ Usage is read via [`ccusage`](https://www.npmjs.com/package/ccusage) from any of these agents you use locally:
59
80
 
60
- ## Privacy & transparency
81
+ `claude` · `codex` · `gemini` · `copilot` · `opencode` · `amp` · `droid` · `goose` · `kimi` · `qwen` · `kilo` · `openclaw` · `hermes` · `pi` · `codebuff`
61
82
 
62
- This repository exists so you can read exactly what the CLI does before you run it. It
63
- contains no secrets and no server code — just the client that talks to the public API.
83
+ On top of those, the CLI reads a few agents that `ccusage` can't see, straight from their own local logs:
64
84
 
65
- ## menubar-app/
85
+ `cursor` · `cline` · `roo` · `continue`
66
86
 
67
- [`menubar-app/`](./menubar-app/) is the source for **BurnBar**, a native macOS menu bar
68
- app that shows live token burn and remaining usage limits across your AI coding tools. See
69
- [`menubar-app/README.md`](./menubar-app/README.md) for its architecture and build steps.
87
+ Claude Code uses a native deduplicating reader. Codex totals come from the pinned replay-aware `ccusage` reader so forked/subagent rollouts do not repeat their parent history; the native Codex scan is diagnostics-only and fails closed. Whatever logs you have are picked up automatically — you don't pass any flags.
70
88
 
71
- ## Build
89
+ **Google Antigravity** is detected but **can't be counted**: it stores no readable local usage (its conversation logs are encrypted and it bills flat-rate, so there are no per-request token counts on disk to tally). `npx whoburnedmore doctor` will tell you when it's detected.
90
+
91
+ ## Compete with friends and teams
92
+
93
+ - **Friends:** join someone's board with `npx whoburnedmore --board=CODE` (the code comes from their board's invite).
94
+ - **Companies / hackathons:** submit to an organization board with `npx whoburnedmore --org=SLUG` (add `--pass=CODE` if the org requires a join code).
95
+
96
+ Your submissions link to your handle at `whoburnedmore.com/u/<handle>`. You can delete your account and every row of data anytime from your profile.
97
+
98
+ ## Keep it live
99
+
100
+ Background sync is on by default after your first run, so your dashboard stays fresh without re-running by hand. To manage it:
101
+
102
+ ```bash
103
+ npx whoburnedmore status # last sync + staleness
104
+ npx whoburnedmore uninstall-sync # turn the background sync off
105
+ npx whoburnedmore install-sync # turn it back on (launchd / cron / scheduled task)
106
+ ```
107
+
108
+ The installed background job runs the latest published `whoburnedmore` package on
109
+ each sync tick, so future CLI fixes are picked up automatically after the next
110
+ 15-minute refresh.
111
+
112
+ ## Servers & VMs
113
+
114
+ Generate a one-time `link` command from your profile on whoburnedmore.com and run it inside the machine to bind it to your account:
72
115
 
73
116
  ```bash
74
- npm install
75
- npm run build # bundles src/index.ts -> dist/index.js
76
- npm test
117
+ npx whoburnedmore link --token=TOKEN
77
118
  ```
78
119
 
120
+ On a persistent VM, background sync uses cron or a systemd user timer automatically. In a container or any host without a scheduler, run `npx whoburnedmore daemon` under your process manager instead. Set `WHOBURNEDMORE_CONFIG_DIR` to a persistent path so the machine identity survives restarts.
121
+
122
+ ## Links
123
+
124
+ - 🏆 Leaderboard — **[whoburnedmore.com](https://whoburnedmore.com)**
125
+ - 📊 Your dashboard — printed in the terminal after your first run
126
+
127
+ ## Requirements
128
+
129
+ Node.js >= 20.
130
+
79
131
  ## License
80
132
 
81
- MIT
133
+ MIT © Arham Wani