From 495a25433838ca577f92fe83ca383c31adfb61b4 Mon Sep 17 00:00:00 2001
From: Resham Joshi
Date: Fri, 17 Apr 2026 16:55:56 -0700
Subject: [PATCH] feat(mac): native Swift menubar app + one-command install
Introduces mac/ with a native SwiftUI menubar app that replaces the
previous SwiftBar plugin entirely. Install via `npx codeburn menubar`,
which downloads the .app from GitHub Releases, strips Gatekeeper
quarantine, and drops it into ~/Applications.
Highlights
- mac/ SwiftUI app: agent tabs, Today/7/30/Month/All period switcher,
Trend/Forecast/Pulse/Stats/Plan insights, activity + model
breakdowns, optimize findings, CSV/JSON export, Star-on-GitHub
banner, live 60s refresh, instant currency switching with offline FX
cache.
- Security: CodeburnCLI argv-based spawn (no shell interpretation),
SafeFile symlink guards + O_NOFOLLOW writes, FX rate clamping to
[0.0001, 1_000_000], keychain filtered to account == "default",
removed byte-window credential log, in-flight refresh guard, POSIX
flock on config.json writes, TerminalLauncher validates argv before
AppleScript interpolation.
- Performance: shared static NumberFormatter (thousands of allocations
per popover redraw eliminated), concurrent pipe drain with 20 MB cap
+ 60s timeout in DataClient, Observation-tracked reactive UI, 5-min
payload cache keyed on (period, provider).
- CLI: new `codeburn menubar` subcommand that downloads + installs +
launches the .app (no clone, no build). New `status --format
menubar-json` payload builder. `export` rewritten to produce a
folder of one-table-per-file CSVs with a `.codeburn-export` marker
so arbitrary -o paths cannot be silently deleted.
- Removed: src/menubar.ts (SwiftBar plugin generator),
install-menubar / uninstall-menubar subcommands, `status --format
menubar` directive output, tests/menubar.test.ts,
tests/security/menubar-injection.test.ts.
- Release: .github/workflows/release-menubar.yml builds universal
binary, assembles .app, ad-hoc signs, zips, uploads on mac-v* tag
push. Runs on the free macos-latest runner.
Tests
- 230 TypeScript tests pass
- 10 Swift CapacityEstimator tests pass
- TypeScript typecheck clean
- Swift release build clean
---
.github/workflows/release-menubar.yml | 70 +
README.md | 11 +-
assets/menubar.png | Bin 304605 -> 307483 bytes
mac/.gitignore | 6 +
mac/Package.swift | 29 +
mac/README.md | 88 ++
mac/Scripts/package-app.sh | 103 ++
mac/Sources/CodeBurnMenubar/AppStore.swift | 307 +++++
mac/Sources/CodeBurnMenubar/CodeBurnApp.swift | 182 +++
.../CodeBurnMenubar/CurrencyState.swift | 209 +++
.../Data/CapacityEstimator.swift | 127 ++
.../CodeBurnMenubar/Data/DataClient.swift | 107 ++
.../CodeBurnMenubar/Data/MenubarPayload.swift | 123 ++
.../Data/SubscriptionClient.swift | 306 +++++
.../Data/SubscriptionSnapshotStore.swift | 102 ++
.../Data/SubscriptionUsage.swift | 46 +
.../Security/CodeburnCLI.swift | 59 +
.../CodeBurnMenubar/Security/SafeFile.swift | 128 ++
.../Security/TerminalLauncher.swift | 40 +
mac/Sources/CodeBurnMenubar/Theme/Theme.swift | 32 +
.../Views/ActivitySection.swift | 87 ++
.../CodeBurnMenubar/Views/AgentTabStrip.swift | 92 ++
.../Views/FindingsSection.swift | 290 ++++
.../Views/HeatmapSection.swift | 1219 +++++++++++++++++
.../CodeBurnMenubar/Views/HeroSection.swift | 55 +
.../Views/MenuBarContent.swift | 401 ++++++
.../CodeBurnMenubar/Views/ModelsSection.swift | 97 ++
.../Views/PeriodSegmentedControl.swift | 36 +
.../Views/SectionCaption.swift | 85 ++
.../CodeBurnMenubar/Views/SparklineView.swift | 99 ++
.../CapacityEstimatorTests.swift | 158 +++
src/cli.ts | 217 ++-
src/currency.ts | 25 +-
src/daily-cache.ts | 118 ++
src/day-aggregator.ts | 142 ++
src/export.ts | 310 +++--
src/menubar-installer.ts | 173 +++
src/menubar-json.ts | 182 +++
src/menubar.ts | 334 -----
src/parser.ts | 17 +-
tests/daily-cache.test.ts | 189 +++
tests/day-aggregator.test.ts | 258 ++++
tests/export.test.ts | 11 +-
tests/menubar-json.test.ts | 234 ++++
tests/menubar.test.ts | 57 -
tests/security/menubar-injection.test.ts | 47 -
46 files changed, 6433 insertions(+), 575 deletions(-)
create mode 100644 .github/workflows/release-menubar.yml
create mode 100644 mac/.gitignore
create mode 100644 mac/Package.swift
create mode 100644 mac/README.md
create mode 100755 mac/Scripts/package-app.sh
create mode 100644 mac/Sources/CodeBurnMenubar/AppStore.swift
create mode 100644 mac/Sources/CodeBurnMenubar/CodeBurnApp.swift
create mode 100644 mac/Sources/CodeBurnMenubar/CurrencyState.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Data/CapacityEstimator.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Data/DataClient.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Data/MenubarPayload.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Data/SubscriptionClient.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Data/SubscriptionSnapshotStore.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Data/SubscriptionUsage.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Security/CodeburnCLI.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Security/SafeFile.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Security/TerminalLauncher.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Theme/Theme.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Views/ActivitySection.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Views/AgentTabStrip.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Views/FindingsSection.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Views/HeatmapSection.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Views/HeroSection.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Views/MenuBarContent.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Views/ModelsSection.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Views/PeriodSegmentedControl.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Views/SectionCaption.swift
create mode 100644 mac/Sources/CodeBurnMenubar/Views/SparklineView.swift
create mode 100644 mac/Tests/CodeBurnMenubarTests/CapacityEstimatorTests.swift
create mode 100644 src/daily-cache.ts
create mode 100644 src/day-aggregator.ts
create mode 100644 src/menubar-installer.ts
create mode 100644 src/menubar-json.ts
delete mode 100644 src/menubar.ts
create mode 100644 tests/daily-cache.test.ts
create mode 100644 tests/day-aggregator.test.ts
create mode 100644 tests/menubar-json.test.ts
delete mode 100644 tests/menubar.test.ts
delete mode 100644 tests/security/menubar-injection.test.ts
diff --git a/.github/workflows/release-menubar.yml b/.github/workflows/release-menubar.yml
new file mode 100644
index 0000000..df8fd31
--- /dev/null
+++ b/.github/workflows/release-menubar.yml
@@ -0,0 +1,70 @@
+name: Release macOS Menubar
+
+# Triggers on a `mac-v*` tag push (e.g. `git tag mac-v0.8.0 && git push origin mac-v0.8.0`),
+# or manually via the Actions tab. Runs entirely on the free macos-latest runner -- no Apple
+# Developer Program membership, no signing certificates, no secrets required. The bundle ships
+# ad-hoc signed; `npx codeburn menubar` strips the download quarantine flag on install so
+# Gatekeeper stays quiet.
+on:
+ push:
+ tags:
+ - 'mac-v*'
+ workflow_dispatch:
+ inputs:
+ version:
+ description: 'Version label for the bundle (e.g. v0.8.0 or dev-preview)'
+ required: true
+ default: 'dev-preview'
+
+permissions:
+ contents: write # Needed to create the release + upload assets.
+
+jobs:
+ build:
+ runs-on: macos-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Resolve version label
+ id: version
+ run: |
+ if [[ "${GITHUB_REF}" == refs/tags/mac-v* ]]; then
+ echo "value=${GITHUB_REF#refs/tags/mac-}" >> "$GITHUB_OUTPUT"
+ else
+ echo "value=${{ github.event.inputs.version }}" >> "$GITHUB_OUTPUT"
+ fi
+
+ - name: Show Swift toolchain
+ run: swift --version
+
+ - name: Build + bundle + zip
+ run: mac/Scripts/package-app.sh "${{ steps.version.outputs.value }}"
+
+ - name: Upload artifact (for manual runs)
+ if: github.event_name == 'workflow_dispatch'
+ uses: actions/upload-artifact@v4
+ with:
+ name: CodeBurnMenubar-${{ steps.version.outputs.value }}
+ path: mac/.build/dist/CodeBurnMenubar-*.zip
+ if-no-files-found: error
+
+ - name: Create / update GitHub Release
+ if: startsWith(github.ref, 'refs/tags/mac-v')
+ uses: softprops/action-gh-release@v2
+ with:
+ tag_name: ${{ github.ref_name }}
+ name: Menubar ${{ steps.version.outputs.value }}
+ body: |
+ Install with:
+
+ ```
+ npx codeburn menubar
+ ```
+
+ Unsigned build. The installer clears Gatekeeper quarantine on download, so the
+ app launches without warnings. Direct-download users from this page may see
+ "cannot verify developer" -- right-click → Open once to dismiss it, or use the
+ npx command above.
+ files: mac/.build/dist/CodeBurnMenubar-*.zip
+ fail_on_unmatched_files: true
diff --git a/README.md b/README.md
index 151a090..4b6e167 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@
-By task type, tool, model, MCP server, and project. Supports **Claude Code**, **Codex** (OpenAI), **Cursor**, **OpenCode**, **Pi**, and **GitHub Copilot** with a provider plugin system. Tracks one-shot success rate per activity type so you can see where the AI nails it first try vs. burns tokens on edit/test/fix retries. Interactive TUI dashboard with gradient charts, responsive panels, and keyboard navigation. macOS menu bar widget via SwiftBar. CSV/JSON export.
+By task type, tool, model, MCP server, and project. Supports **Claude Code**, **Codex** (OpenAI), **Cursor**, **OpenCode**, **Pi**, and **GitHub Copilot** with a provider plugin system. Tracks one-shot success rate per activity type so you can see where the AI nails it first try vs. burns tokens on edit/test/fix retries. Interactive TUI dashboard with gradient charts, responsive panels, and keyboard navigation. Native macOS menubar app in `mac/`. CSV/JSON export.
Works by reading session data directly from disk. No wrapper, no proxy, no API keys. Pricing from LiteLLM (auto-cached, all models supported).
@@ -156,14 +156,13 @@ The menu bar widget includes a currency picker with 17 common currencies. For an
## Menu Bar
-
+
```bash
-codeburn install-menubar # install SwiftBar/xbar plugin
-codeburn uninstall-menubar # remove it
+npx codeburn menubar
```
-Requires [SwiftBar](https://github.com/swiftbar/SwiftBar) (`brew install --cask swiftbar`). Shows today's cost in the menu bar with a flame icon. Dropdown shows activity breakdown, model costs, token stats, per-provider cost breakdown, and a currency picker. Refreshes every 5 minutes.
+One command: downloads the latest `.app`, installs into `~/Applications`, and launches it. Re-run with `--force` to reinstall. Native Swift + SwiftUI app lives in `mac/` (see `mac/README.md` for build details). Shows today's cost with a flame icon, opens a popover with agent tabs, period switcher (Today / 7 Days / 30 Days / Month / All), Trend / Forecast / Pulse / Stats / Plan insights, activity and model breakdowns, optimize findings, and CSV/JSON export. Refreshes live via FSEvents plus a 60-second poll.
## What it tracks
@@ -269,7 +268,7 @@ src/
classifier.ts 13-category task classifier
types.ts Type definitions
format.ts Text rendering (status bar)
- menubar.ts SwiftBar plugin generator
+ menubar-json.ts Payload builder consumed by the native macOS menubar app in mac/
export.ts CSV/JSON multi-period export
config.ts Config file management (~/.config/codeburn/)
currency.ts Currency conversion, exchange rates, Intl formatting
diff --git a/assets/menubar.png b/assets/menubar.png
index 1f93d4dcde5953733fcafa858d6e0215f3d615d7..1ad264aa0588e9e4a9d3cc680f82608a28f3b672 100644
GIT binary patch
literal 307483
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