forked from steipete/CodexBar
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
123 lines (118 loc) · 5.59 KB
/
index.html
File metadata and controls
123 lines (118 loc) · 5.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<!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 and Claude Code 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 and Claude Code 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">
<img class="mark" src="./icon.png" alt="" aria-hidden="true" width="44" height="44" />
<span class="name">
<h1 class="title">CodexBar</h1>
<p class="tagline">Codex + Claude Code limits, always visible.</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 15+</span>
<span class="badge">Free & open source</span>
<span class="badge">No passwords stored</span>
</div>
<h2>Stay ahead of resets.</h2>
<p>
CodexBar keeps your session + weekly windows (and credits where available) in the menu bar, so you never have
to guess when you’re safe to ship.
</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>
<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).</li>
<li>Session + weekly bars, plus reset times.</li>
<li>Optional OpenAI web access: Code review + usage breakdown.</li>
<li>Minimal UI, no Dock icon.</li>
</ul>
</div>
<figure class="shot" data-animate="3">
<img src="./codexbar.png" alt="CodexBar menu bar popover showing session and weekly usage." />
</figure>
</section>
<section class="details" aria-label="Details" data-animate="4">
<div class="card">
<h3>Codex</h3>
<p>
Prefers the local app-server RPC for limits + credits, with a PTY fallback to <code>codex /status</code>.
Optional: reuse your browser session to show Code review + usage breakdown.
</p>
</div>
<div class="card">
<h3>Claude Code</h3>
<p>Runs <code>/usage</code> + <code>/status</code> locally and renders what the CLI reports (session + weekly).</p>
</div>
<div class="card">
<h3>Privacy</h3>
<p>
By default it reads local CLI output only. If you enable OpenAI web access, it reuses existing browser cookies
(Safari/Chrome) to fetch the dashboard — no passwords stored.
</p>
</div>
</section>
<footer class="foot" data-animate="5">
<p>
Built by <a href="https://github.com/steipete">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>
</p>
</footer>
</main>
</body>
</html>