{"id":50728200,"url":"https://github.com/jamesbrink/burnrate","last_synced_at":"2026-06-13T02:01:13.687Z","repository":{"id":362084461,"uuid":"1257162517","full_name":"jamesbrink/burnrate","owner":"jamesbrink","description":"Desktop usage monitor for Claude Code, Codex, and OpenRouter quotas, credits, and subscription limits.","archived":false,"fork":false,"pushed_at":"2026-06-09T22:12:25.000Z","size":2985,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-09T22:21:39.163Z","etag":null,"topics":["ai-tools","claude-code","codex","crates-io","desktop-app","menu-bar-app","nix","openrouter","quota-monitor","react","rust","tauri","tray-app","typescript","usage-tracking"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamesbrink.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-02T12:24:55.000Z","updated_at":"2026-06-09T21:46:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jamesbrink/burnrate","commit_stats":null,"previous_names":["jamesbrink/burnrate"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/jamesbrink/burnrate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesbrink%2Fburnrate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesbrink%2Fburnrate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesbrink%2Fburnrate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesbrink%2Fburnrate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamesbrink","download_url":"https://codeload.github.com/jamesbrink/burnrate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesbrink%2Fburnrate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34139178,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-tools","claude-code","codex","crates-io","desktop-app","menu-bar-app","nix","openrouter","quota-monitor","react","rust","tauri","tray-app","typescript","usage-tracking"],"created_at":"2026-06-10T06:00:54.260Z","updated_at":"2026-06-13T02:01:13.678Z","avatar_url":"https://github.com/jamesbrink.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Burnrate\n\n[![CI](https://github.com/jamesbrink/burnrate/actions/workflows/ci.yml/badge.svg)](https://github.com/jamesbrink/burnrate/actions/workflows/ci.yml)\n[![Release](https://github.com/jamesbrink/burnrate/actions/workflows/release.yml/badge.svg)](https://github.com/jamesbrink/burnrate/actions/workflows/release.yml)\n[![Docs](https://github.com/jamesbrink/burnrate/actions/workflows/docs.yml/badge.svg)](https://jamesbrink.online/burnrate/)\n[![crates.io](https://img.shields.io/crates/v/burnrate.svg)](https://crates.io/crates/burnrate)\n[![downloads](https://img.shields.io/crates/d/burnrate.svg)](https://crates.io/crates/burnrate)\n[![latest release](https://img.shields.io/github/v/release/jamesbrink/burnrate?sort=semver)](https://github.com/jamesbrink/burnrate/releases/latest)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![platform](https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey)](https://github.com/jamesbrink/burnrate/releases/latest)\n\nDesktop usage monitor for Claude Code, Codex, GitHub Copilot, OpenRouter, Runpod, and AWS quotas, credits, spend, and subscription limits — plus claudex-powered local usage insights (daily burn, projections, model and project breakdowns). Built with Tauri 2 (Rust + React/TypeScript) and lives in the system tray (the menu bar on macOS).\n\n**Documentation: [jamesbrink.online/burnrate](https://jamesbrink.online/burnrate/)**\n\n## Screenshots\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"website/public/screenshots/preferences.png\" alt=\"Burnrate Preferences window showing per-account usage across Claude Code, Codex, Runpod, and OpenRouter\" width=\"62%\" /\u003e\n  \u0026nbsp;\n  \u003cimg src=\"website/public/screenshots/tray.png\" alt=\"Burnrate menu-bar popover with live quota meters for each account\" width=\"30%\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cem\u003eThe full Preferences window (left) and the menu-bar popover (right).\u003c/em\u003e\u003c/p\u003e\n\n## Features\n\n- Menu-bar tray summary with a left-click usage popover and right-click actions (Preferences, Refresh, Quit).\n- Native translucent (vibrancy) popover on macOS that follows the system light/dark appearance, sizes itself to its content, and dismisses when it loses focus.\n- Native Preferences window for account management and manual OpenRouter/Runpod/AWS setup.\n- Auto-detects Claude Code, Codex, and GitHub Copilot accounts from local config; OpenRouter and Runpod are added via API key, and AWS uses your existing AWS profile/default credential chain.\n- **Multiple Claude Code and Codex accounts**, each signed in from the app via browser OAuth and shown with its email address and usage.\n- **Drag to reorder** accounts — reorder the tray usage cards or the Preferences list; the order persists across both windows.\n- Claude Code subscription buckets (5-hour, weekly, model-specific) with stale-auth checks via `claude auth status`.\n- Codex Pro/Max plan and rate-limit buckets read from the Codex app server.\n- **GitHub Copilot premium requests** per month against your plan's allowance — counted locally from Copilot CLI sessions, or exactly via an optional GitHub token and the billing API.\n- **Local usage insights** powered by [claudex](https://github.com/utensils/claudex): per-provider daily cost sparklines, today/week/month-to-date spend, a month-end projection, model distribution, and top projects — computed entirely from local CLI session logs.\n- Runpod prepaid balance, current spend, burn-rate runway, active resources, and recent Pods/Serverless/storage costs.\n- AWS Cost Explorer month-to-date USD spend with optional monthly budgets and configurable service/tag/cost-category buckets such as Bedrock, EC2 compute, and S3.\n- Secrets in the OS keyring by default, with an explicit plaintext fallback.\n- Hides from the Dock by default; appears only while Preferences is open.\n- **Automatic updates (macOS)** with selectable **Stable** and **Nightly** channels: a dismissible banner and tray \"Check for Updates…\" entry offer a signature-verified one-click \"Install \u0026 Restart.\" Choose the channel under Preferences → Updates.\n\n## Install\n\nDownload the native bundle for your platform from [GitHub Releases](https://github.com/jamesbrink/burnrate/releases), or install the binary crate (it ships the prebuilt UI):\n\n```sh\ncargo install burnrate\n```\n\nSee the [installation guide](https://jamesbrink.online/burnrate/guide/installation) for Nix, update channels, and signed macOS builds. If `cargo install` fails with [`ld: library not found for -liconv`](https://jamesbrink.online/burnrate/guide/troubleshooting#cargo-install-fails-ld-library-not-found-for-liconv) or [`gcc: error: unrecognized command-line option '-mmacos-version-min=…'`](https://jamesbrink.online/burnrate/guide/troubleshooting#cargo-install-fails-unrecognized-command-line-option-gcc-as-cc), a non-Apple `cc` is first in `PATH` — each link jumps to its fix.\n\n## Documentation\n\nSetup, provider specifics (including AWS permissions), configuration, and troubleshooting live on the docs site:\n\n- [Getting started](https://jamesbrink.online/burnrate/guide/getting-started) — accounts, browser sign-in, multi-account isolation\n- [Configuration](https://jamesbrink.online/burnrate/guide/configuration) — storage paths, secrets, environment variables\n- [Providers](https://jamesbrink.online/burnrate/providers/claude-code) — Claude Code, Codex, GitHub Copilot, OpenRouter, Runpod, AWS\n- [Local insights](https://jamesbrink.online/burnrate/guide/local-insights) — claudex-backed local usage analytics\n- [Troubleshooting](https://jamesbrink.online/burnrate/guide/troubleshooting) — keychain prompts, CLI discovery, stale auth\n\n## Development\n\n```sh\nnpm install\nnpm run dev      # tauri dev — launches the desktop app + tray\n```\n\nA Nix devshell exposes the full workflow (`nix develop`, then `dev`, `check`, `test`, `fmt`, `build-app`, `build-pure`, `package-dmg`, `docs-dev`). See [AGENTS.md](AGENTS.md) for the architecture map and complete command reference.\n\nThe docs site is a VitePress app in `website/` — `docs-dev` starts it with hot reload; pushes to `main` deploy it to GitHub Pages.\n\n## Releases\n\n- `release-plz` manages crate release PRs, version tags, and crates.io publishing.\n- Tagging `v*` builds native Tauri bundles (macOS, Linux, Windows) and uploads them with checksums to the GitHub Release, then publishes a signed `latest.json` (the **Stable** auto-update manifest).\n- A `nightly` workflow runs after green `CI` on `main`, building a signed macOS pre-release and promoting it to the rolling `nightly` release/manifest (the **Nightly** channel).\n- Auto-update signing uses a Tauri minisign keypair: the public key lives in `tauri.conf.json`; the private key + passphrase are the `TAURI_SIGNING_PRIVATE_KEY` / `TAURI_SIGNING_PRIVATE_KEY_PASSWORD` repo secrets.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesbrink%2Fburnrate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamesbrink%2Fburnrate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesbrink%2Fburnrate/lists"}