{"adoption": {"forks": 1781, "observed_at": "2026-08-28T04:11:30.267077+00:00", "stars": 20614}, "canonical_url": "https://ross.abutalabs.com/products/codexbar", "card": {"archived": false, "artifact_type": "application", "description": "Show usage stats for OpenAI Codex and Claude Code, without having to login.", "domain": ["developer-tools", "artificial-intelligence"], "enriched": true, "function": ["monitoring", "analytics", "developer-tools"], "health_score": 100, "homepage": "https://codex.bar", "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["steipete/CodexBar"], "name": "steipete/CodexBar", "platform": ["cli"], "pushed_at": "2026-08-27T00:17:01+00:00", "repo": "steipete/CodexBar", "stars": 20614, "tags": ["menu-bar-app", "usage-tracking", "ai-coding-tools", "rate-limits", "swiftui", "open-source", "command-line", "macos", "linux"], "topics": ["ai", "codex", "swift", "claude-code"], "urls": [], "use_cases": ["check how much Codex or Claude Code usage I have left without opening a browser", "see when my AI coding plan's weekly limit resets", "track credit balances and spend across multiple AI providers in one place", "monitor AI provider status and incidents from the menu bar", "avoid running out of tokens mid-task by planning around reset windows", "view AI coding costs estimated from local logs"], "what_it_is": "CodexBar is a macOS menu bar application that displays AI coding provider usage limits, credit balances, and reset countdowns for dozens of providers like OpenAI Codex, Claude Code, Cursor, and Copilot. It reuses existing provider sessions (OAuth, API keys, cookies) rather than requiring separate logins, and also ships a cross-platform CLI for macOS and Linux.", "when_to_avoid": ["you need usage tracking on Windows", "you want a web dashboard or team-wide analytics rather than a personal menu bar app", "your provider is not among the supported ones"], "when_to_choose": ["you use macOS and multiple AI coding tools with rate limits", "you want a lightweight, privacy-first menu bar dashboard without extra logins", "you need reset countdowns to plan long coding tasks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/codexbar", "repo": "steipete/CodexBar", "role": "main", "score": 79}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.267077+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:58:40.560573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc74cb6dfcb6a11b1442df658868c6e5e3a15d29b865f86f28930fff231ad401", "fetched_at": "2026-08-28T04:11:30.267077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/steipete/CodexBar"}, {"content_hash": "a4ccec9287908f63fcf636fc75ca1a207db91b1f14302169b690048119d24620", "fetched_at": "2026-08-29T07:57:16.607994+00:00", "kind": "homepage", "missing": false, "url": "https://codex.bar"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.267077+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:58:40.560573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc74cb6dfcb6a11b1442df658868c6e5e3a15d29b865f86f28930fff231ad401", "fetched_at": "2026-08-28T04:11:30.267077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/steipete/CodexBar"}, {"content_hash": "a4ccec9287908f63fcf636fc75ca1a207db91b1f14302169b690048119d24620", "fetched_at": "2026-08-29T07:57:16.607994+00:00", "kind": "homepage", "missing": false, "url": "https://codex.bar"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:58:40.560573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc74cb6dfcb6a11b1442df658868c6e5e3a15d29b865f86f28930fff231ad401", "fetched_at": "2026-08-28T04:11:30.267077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/steipete/CodexBar"}, {"content_hash": "a4ccec9287908f63fcf636fc75ca1a207db91b1f14302169b690048119d24620", "fetched_at": "2026-08-29T07:57:16.607994+00:00", "kind": "homepage", "missing": false, "url": "https://codex.bar"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.267077+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.267077+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.267077+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:58:40.560573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc74cb6dfcb6a11b1442df658868c6e5e3a15d29b865f86f28930fff231ad401", "fetched_at": "2026-08-28T04:11:30.267077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/steipete/CodexBar"}, {"content_hash": "a4ccec9287908f63fcf636fc75ca1a207db91b1f14302169b690048119d24620", "fetched_at": "2026-08-29T07:57:16.607994+00:00", "kind": "homepage", "missing": false, "url": "https://codex.bar"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.267077+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.267077+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:58:40.560573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc74cb6dfcb6a11b1442df658868c6e5e3a15d29b865f86f28930fff231ad401", "fetched_at": "2026-08-28T04:11:30.267077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/steipete/CodexBar"}, {"content_hash": "a4ccec9287908f63fcf636fc75ca1a207db91b1f14302169b690048119d24620", "fetched_at": "2026-08-29T07:57:16.607994+00:00", "kind": "homepage", "missing": false, "url": "https://codex.bar"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.267077+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.267077+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.267077+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:58:40.560573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc74cb6dfcb6a11b1442df658868c6e5e3a15d29b865f86f28930fff231ad401", "fetched_at": "2026-08-28T04:11:30.267077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/steipete/CodexBar"}, {"content_hash": "a4ccec9287908f63fcf636fc75ca1a207db91b1f14302169b690048119d24620", "fetched_at": "2026-08-29T07:57:16.607994+00:00", "kind": "homepage", "missing": false, "url": "https://codex.bar"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.267077+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.267077+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:58:40.560573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc74cb6dfcb6a11b1442df658868c6e5e3a15d29b865f86f28930fff231ad401", "fetched_at": "2026-08-28T04:11:30.267077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/steipete/CodexBar"}, {"content_hash": "a4ccec9287908f63fcf636fc75ca1a207db91b1f14302169b690048119d24620", "fetched_at": "2026-08-29T07:57:16.607994+00:00", "kind": "homepage", "missing": false, "url": "https://codex.bar"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:58:40.560573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc74cb6dfcb6a11b1442df658868c6e5e3a15d29b865f86f28930fff231ad401", "fetched_at": "2026-08-28T04:11:30.267077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/steipete/CodexBar"}, {"content_hash": "a4ccec9287908f63fcf636fc75ca1a207db91b1f14302169b690048119d24620", "fetched_at": "2026-08-29T07:57:16.607994+00:00", "kind": "homepage", "missing": false, "url": "https://codex.bar"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:58:40.560573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc74cb6dfcb6a11b1442df658868c6e5e3a15d29b865f86f28930fff231ad401", "fetched_at": "2026-08-28T04:11:30.267077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/steipete/CodexBar"}, {"content_hash": "a4ccec9287908f63fcf636fc75ca1a207db91b1f14302169b690048119d24620", "fetched_at": "2026-08-29T07:57:16.607994+00:00", "kind": "homepage", "missing": false, "url": "https://codex.bar"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:58:40.560573+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc74cb6dfcb6a11b1442df658868c6e5e3a15d29b865f86f28930fff231ad401", "fetched_at": "2026-08-28T04:11:30.267077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/steipete/CodexBar"}, {"content_hash": "a4ccec9287908f63fcf636fc75ca1a207db91b1f14302169b690048119d24620", "fetched_at": "2026-08-29T07:57:16.607994+00:00", "kind": "homepage", "missing": false, "url": "https://codex.bar"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 20, "rhythm": 87}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 290, "days_push": 7, "days_rel": 7, "gap_med": 1, "n_releases_24m": 110}, "score": 79, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}