176 lines · 8.3 KB · HTML
RawDownload
<!doctype html><html lang="en">  <head>    <meta charset="utf-8" />    <meta name="viewport" content="width=device-width, initial-scale=1" />    <title>CodexBar</title>    <meta      name="description"      content="Tiny macOS menu bar app that keeps your Codex, Claude Code, Cursor, Gemini, Antigravity, Droid (Factory), Copilot, and z.ai limits visible."    />    <meta name="theme-color" content="#0b1016" />    <link rel="canonical" href="https://codexbar.app/" />     <meta property="og:title" content="CodexBar" />    <meta      property="og:description"      content="Tiny macOS menu bar app that keeps your Codex, Claude Code, Cursor, Gemini, Antigravity, Droid (Factory), Copilot, and z.ai limits visible."    />    <meta property="og:type" content="website" />    <meta property="og:url" content="https://codexbar.app/" />    <meta property="og:image" content="https://codexbar.app/codexbar.png" />    <meta name="twitter:card" content="summary_large_image" />     <link rel="icon" href="./icon.png" type="image/png" />    <link rel="apple-touch-icon" href="./icon.png" />    <link rel="stylesheet" href="./site.css?v=a1b2c3d" />  </head>  <body>    <main class="wrap">      <header class="top" data-animate="1">        <a class="brand" href="https://github.com/steipete/CodexBar" aria-label="CodexBar on GitHub">          <span class="name">            <h1 class="title">CodexBar</h1>            <p class="tagline">Codex, Claude Code, Cursor, Gemini, Antigravity, Droid, Copilot, z.ai limits.</p>          </span>        </a>        <nav class="links" aria-label="Links">          <a class="btn primary" href="https://github.com/steipete/CodexBar/releases/latest">Download</a>          <a class="btn ghost" href="https://github.com/steipete/CodexBar">Source</a>        </nav>      </header>       <section class="hero" aria-label="Overview">        <div class="copy" data-animate="2">          <div class="badges" aria-label="Highlights">            <span class="badge">macOS 14+</span>            <span class="badge">Apple Silicon + Intel</span>            <span class="badge">Free &amp; open source</span>            <span class="badge">No passwords stored</span>          </div>          <div class="hero-heading">            <img class="hero-icon" src="./icon.png" alt="" aria-hidden="true" width="40" height="40" />            <div>              <h2>Stay ahead of resets.</h2>              <p>                CodexBar keeps session + weekly limits (and credits) in the menu bar, so you know when you're safe to ship.              </p>            </div>          </div>          <p class="requirement">Requirements: macOS 14+ (Apple Silicon + Intel).</p>          <div class="cta">            <a class="btn primary" href="https://github.com/steipete/CodexBar/releases/latest">Download latest</a>            <a class="btn" href="https://github.com/steipete/CodexBar">View on GitHub</a>          </div>          <p class="brew-line">            Homebrew: <code id="brew-cmd">brew install --cask steipete/tap/codexbar</code>            <button class="copy-btn" onclick="copyBrew()" aria-label="Copy to clipboard" title="Copy to clipboard">              <svg class="icon-copy" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">                <rect x="5" y="5" width="9" height="9" rx="1.5"/>                <path d="M5 11H3.5A1.5 1.5 0 012 9.5v-7A1.5 1.5 0 013.5 1h7A1.5 1.5 0 0112 2.5V5"/>              </svg>              <svg class="icon-check" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                <polyline points="3 8 6 11 13 4"/>              </svg>            </button>          </p>          <p class="brew-line">Linuxbrew (CLI only): <code>brew install steipete/tap/codexbar</code></p>          <p class="note">            GitHub Releases builds update via Sparkle. Homebrew installs update via <code>brew upgrade</code>.          </p>          <script>            function copyBrew() {              const cmd = document.getElementById('brew-cmd').textContent;              navigator.clipboard.writeText(cmd).then(() => {                document.querySelector('.copy-btn').classList.add('copied');                setTimeout(() => document.querySelector('.copy-btn').classList.remove('copied'), 1500);              });            }          </script>          <ul class="bullets" aria-label="What it does">            <li>One status item per provider (Codex, Claude, Cursor, Gemini, Antigravity, Droid, Copilot, z.ai).</li>            <li>Session + weekly bars with reset times and optional credits.</li>            <li>Web-backed limits via browser cookies (Codex, Claude, Cursor, Droid).</li>            <li>Two-bar icon: session on top, weekly on bottom, dimmed on errors.</li>            <li>Minimal UI, no Dock icon.</li>          </ul>        </div>        <figure class="shot hero-shot" data-animate="3">          <img src="./codexbar.png" alt="CodexBar menu bar popover showing session and weekly usage." />          <figcaption>Menu card shows session + weekly usage, resets, and credits when available.</figcaption>        </figure>      </section>       <section class="details" aria-label="Details" data-animate="4">        <div class="card">          <h3>Install &amp; updates</h3>          <p>            Download from GitHub Releases or install via Homebrew. Sparkle updates are enabled on GitHub builds only.          </p>        </div>        <div class="card">          <h3>Providers</h3>          <p>            Codex · Claude Code · Cursor · Gemini · Antigravity · Droid · Copilot · z.ai<br />            Open to new providers — see the <a href="https://github.com/steipete/CodexBar/blob/main/docs/provider.md">provider guide</a>.          </p>        </div>        <div class="card">          <h3>Privacy</h3>          <p>            Reuses existing browser cookies (Safari/Chrome/Firefox) for dashboard access — no passwords stored. When cookies            are missing, CodexBar falls back to local CLI output. Audit notes in            <a href="https://github.com/steipete/CodexBar/issues/12">issue #12</a>.          </p>        </div>      </section>       <section class="details" aria-label="Features" data-animate="5">        <div class="card">          <h3>Usage tracking</h3>          <p>            Session + weekly meters with reset countdowns, plus optional credits and code review limits.          </p>        </div>        <div class="card">          <h3>Status + widgets</h3>          <p>            Provider status polling with incident badges, plus a WidgetKit snapshot that mirrors the menu card.          </p>        </div>        <div class="card">          <h3>CLI + automation</h3>          <p>            Bundled <code>codexbar</code> CLI for scripts and CI, with Linux CLI builds on GitHub Releases.          </p>        </div>      </section>       <section class="details permissions" aria-label="Permissions" data-animate="6">        <div class="card">          <h3>macOS permissions</h3>          <p>            Full Disk Access only for Safari cookies, Keychain access for tokens, and Files &amp; Folders prompts when            provider CLIs access project directories.          </p>        </div>      </section>       <section class="links-row" aria-label="Docs links" data-animate="7">        <a class="link-pill" href="https://github.com/steipete/CodexBar/blob/main/docs/providers.md">Docs</a>        <a class="link-pill" href="https://github.com/steipete/CodexBar/blob/main/docs/cli.md">CLI</a>        <a class="link-pill" href="https://github.com/steipete/CodexBar/blob/main/docs/provider.md">Provider guide</a>      </section>       <footer class="foot" data-animate="8">        <p>          Built by <a href="https://steipete.me">Peter Steinberger</a> •          <a href="https://github.com/steipete/CodexBar/blob/main/CHANGELOG.md">Changelog</a> •          <a href="https://github.com/steipete/CodexBar/blob/main/LICENSE">MIT</a> •          <a href="https://codexbar.app">codexbar.app</a> •          <a href="https://trimmy.app">trimmy.app</a>        </p>      </footer>    </main>  </body></html>