Skip to content

Commit c9e1fdc

Browse files
committed
remove menubar bloatware
1 parent 9a5c42e commit c9e1fdc

5 files changed

Lines changed: 22 additions & 159 deletions

File tree

README.md

Lines changed: 19 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22

33
See where your AI coding tokens go but **600x faster**
44

5+
Benchmarked against the published JS version (`npx codeburn`) with hyperfine on MacBook Pro (M1 Pro, 16GB, 1TB).
6+
7+
| Rust cache state | JS | Rust (`cburn`) | JS (`npx codeburn`) | Speedup |
8+
| ---------------- | --------------- | -------------- | ------------------- | ------- |
9+
| cached output | cached | 6.0 ms | 3.66 s | ~610× |
10+
| cached sources | cached | 10.9 ms | 3.66 s | ~335× |
11+
| cold (bo cache) | cold (no cache) | 76 ms | 7.71 s | ~101× |
12+
13+
Supported providers: Claude, Codex, Opencode, Pi, Copilot.
14+
515
## Install
616

717
### Homebrew
@@ -30,52 +40,27 @@ Open the interactive dashboard:
3040
cburn
3141
```
3242

33-
Jump to a specific period:
34-
35-
```sh
36-
cburn today
37-
cburn month
38-
cburn report --period 30days
39-
```
40-
41-
Filter to one provider:
42-
43-
```sh
44-
cburn report --provider claude
45-
```
46-
47-
Supported providers: `all`, `claude`, `codex`, `opencode`.
48-
49-
> Cursor support is currently disabled: Cursor stopped writing per-call token
50-
> counts to its local `state.vscdb` in early 2026, so any parse of that DB
51-
> now reports $0 regardless of actual usage. The parser code is retained in
52-
> case the data layout is restored upstream.
53-
5443
### Other commands
5544

5645
```sh
46+
cburn today # jump to today's usage
47+
cburn month # jump to this month's usage
48+
cburn report --period 30days # report over a custom period
49+
cburn report --provider claude # filter to a single provider
5750
cburn status # compact terminal snapshot (today + week + month)
5851
cburn export --format csv # export usage data to CSV or JSON
5952
cburn currency GBP # change display currency
6053
```
6154

62-
For full options, see `cburn --help` or `cburn <subcommand> --help`.
63-
64-
The binary is named `cburn` to avoid colliding with the npm `codeburn` package.
65-
If you don't have the npm version installed and prefer the full name, alias it:
55+
For full options, see `cburn --help` or `cburn <subcommand> --help`. The binary is named `cburn` to avoid colliding with the npm `codeburn` package — if you don't have the npm version installed and prefer the full name, alias it.
6656

6757
```sh
6858
alias codeburn=cburn
6959
```
7060

71-
## Performance
72-
73-
Benchmarked against the published JS version (`npx codeburn`) with hyperfine on MacBook Pro (M1 Pro, 16GB, 1TB).
74-
75-
| Rust Scenario | JS Scenario | Rust (`cburn`) | JS (`npx codeburn`) | Speedup |
76-
| ------------- | ----------- | -------------- | ------------------- | ------- |
77-
| fully cached | cache on | 6.0 ms | 3.66 s | ~610× |
78-
| normal cache | cache on | 10.9 ms | 3.66 s | ~335× |
79-
| cold | cold | 76 ms | 7.71 s | ~101× |
61+
> Cursor support is currently disabled: Cursor stopped writing per-call token
62+
> counts to its local `state.vscdb` in early 2026, so any parse of that DB
63+
> now reports $0 regardless of actual usage. The parser code is retained in
64+
> case the data layout is restored upstream.
8065
8166
Original JS version: (https://github.com/AgentSeal/codeburn).

src/cli.rs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ pub enum Commands {
7979

8080
/// Compact status output (today + week + month)
8181
Status {
82-
/// Output format: terminal, menubar, json
82+
/// Output format: terminal, json
8383
#[arg(long, default_value = "terminal")]
8484
format: StatusFormat,
8585

@@ -117,12 +117,6 @@ pub enum Commands {
117117
reset: bool,
118118
},
119119

120-
/// Install macOS menu bar plugin (SwiftBar/xbar)
121-
InstallMenubar,
122-
123-
/// Remove macOS menu bar plugin
124-
UninstallMenubar,
125-
126120
/// Internal: build the cursor cache in the background. Invoked by a
127121
/// detached child process so the main report command can return
128122
/// immediately on cold starts.
@@ -143,7 +137,6 @@ pub enum Period {
143137
#[derive(Debug, Clone, Copy, ValueEnum)]
144138
pub enum StatusFormat {
145139
Terminal,
146-
Menubar,
147140
Json,
148141
}
149142

src/format.rs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,6 @@ pub fn run_status_sync(fmt: StatusFormat, provider: &str) -> Result<()> {
7272
});
7373
println!("{}", serde_json::to_string(&json)?);
7474
}
75-
StatusFormat::Menubar => {
76-
println!(
77-
"\u{1F525} {}\n---\nCodeBurn | size=14\n---\nToday: {}\n7 Days: {}\nMonth: {}",
78-
format_cost(agg.today_cost),
79-
format_cost(agg.today_cost),
80-
format_cost(agg.week_cost),
81-
format_cost(agg.month_cost),
82-
);
83-
}
8475
}
8576

8677
Ok(())

src/main.rs

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ mod currency;
2121
mod discovery_cache;
2222
mod export;
2323
mod format;
24-
mod menubar;
2524
mod models;
2625
mod output_cache;
2726
mod parser;
@@ -86,7 +85,7 @@ fn main() -> Result<()> {
8685
// The interactive TUI is now fully sync — no tokio runtime startup
8786
// (~25 ms) and no spawn_blocking overhead per parse. Skip the
8887
// tokio::runtime::Builder cost for this hot path; the async branches
89-
// below (export/currency/menubar) still pay it for network I/O.
88+
// below (export/currency) still pay it for network I/O.
9089
match command {
9190
Commands::Report { period, provider, refresh } => {
9291
return tui::run(period, &provider, refresh);
@@ -100,10 +99,7 @@ fn main() -> Result<()> {
10099
Commands::Status { .. } => unreachable!(),
101100
Commands::RefreshCursorCache => unreachable!(),
102101
// The remaining variants drop into the tokio runtime below.
103-
Commands::Export { .. }
104-
| Commands::Currency { .. }
105-
| Commands::InstallMenubar
106-
| Commands::UninstallMenubar => {}
102+
Commands::Export { .. } | Commands::Currency { .. } => {}
107103
}
108104

109105
let rt = tokio::runtime::Builder::new_multi_thread()
@@ -131,12 +127,6 @@ fn main() -> Result<()> {
131127
} => {
132128
currency::run_currency(code, symbol, reset).await?;
133129
}
134-
Commands::InstallMenubar => {
135-
menubar::install()?;
136-
}
137-
Commands::UninstallMenubar => {
138-
menubar::uninstall()?;
139-
}
140130
}
141131
Ok(())
142132
})

src/menubar.rs

Lines changed: 0 additions & 96 deletions
This file was deleted.

0 commit comments

Comments
 (0)