cxstatusline 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -13
- package/dist/cxstatusline.js +955 -882
- package/package.json +3 -2
- package/patches/codex-0.156.1.patch +273 -53
- package/patches/ink@6.2.0.patch +119 -0
- package/patches/manifest.json +10 -8
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<picture>
|
|
4
4
|
<source media="(prefers-color-scheme: dark)" srcset="docs/banner-dark.png">
|
|
5
|
-
<img alt="cxstatusline" src="docs/banner-light.png" width="720">
|
|
5
|
+
<img alt="cxstatusline - Customizable statusline & powerline status bar for OpenAI Codex CLI" src="docs/banner-light.png" width="720">
|
|
6
6
|
</picture>
|
|
7
7
|
|
|
8
8
|
# cxstatusline
|
|
@@ -13,26 +13,51 @@
|
|
|
13
13
|
|
|
14
14
|
[](https://github.com/adrijshikhar/cxstatusline/actions/workflows/ci.yml)
|
|
15
15
|
[](https://www.npmjs.com/package/cxstatusline)
|
|
16
|
+
[](https://cxstatusline.adrijshikhar.dev)
|
|
17
|
+
[](https://cxstatusline.adrijshikhar.dev/#playground)
|
|
18
|
+
[](https://github.com/adrijshikhar/cxstatusline/discussions)
|
|
16
19
|
[](LICENSE)
|
|
17
20
|
[](https://nodejs.org/)
|
|
18
21
|
|
|
19
|
-

|
|
20
23
|
|
|
21
24
|
</div>
|
|
22
25
|
|
|
26
|
+
## 📑 Table of Contents
|
|
27
|
+
|
|
28
|
+
- [✨ Features](#-features)
|
|
29
|
+
- [🌐 Interactive Web Playground](#-interactive-web-playground)
|
|
30
|
+
- [📋 Requirements](#requirements)
|
|
31
|
+
- [🚀 Install](#-install)
|
|
32
|
+
- [🎛️ Configure](#️-configure)
|
|
33
|
+
- [🧩 Widgets Catalog](#widgets)
|
|
34
|
+
- [🔄 Update & Revert](#update)
|
|
35
|
+
- [🔍 How it Works](#-how-it-works)
|
|
36
|
+
- [🏷️ Supported Versions](#supported-versions)
|
|
37
|
+
- [🩺 Troubleshooting](#-troubleshooting)
|
|
38
|
+
- [🙏 Acknowledgments](#-acknowledgments)
|
|
39
|
+
|
|
23
40
|
## ✨ Features
|
|
24
41
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
42
|
+
**cxstatusline** is a configurable, one-to-three-row statusline & status bar for the [OpenAI Codex CLI](https://github.com/openai/codex) (bringing the rich statusbar experience of [ccstatusline](https://github.com/sirmalloc/ccstatusline) for Anthropic Claude Code to OpenAI Codex).
|
|
43
|
+
|
|
44
|
+
- **⚡ Live Codex Telemetry**: Monitor active model, reasoning effort, context token window usage (`k/200k`), session duration, and rate limit reset countdowns in real time.
|
|
45
|
+
- **🌿 Git Status & Branch**: Always see current branch and unstaged/staged change counters (`+42, -10`) right in your Codex prompt.
|
|
46
|
+
- **🎨 Powerline Themes & ANSI Colors**: Choose from built-in Powerline separators (arrows, angled, curved, flame), 16/256/TrueColor palettes, or design custom rows.
|
|
47
|
+
- **🖥️ Interactive Terminal TUI**: Configure your layout visually inside your terminal (`cxstatusline`) or in the web playground.
|
|
48
|
+
- **🔄 ccstatusline Compatibility**: Preset syntax and widget IDs match ccstatusline, making transition from Claude Code seamless.
|
|
29
49
|
|
|
30
50
|
Independent project; not an official OpenAI product.
|
|
31
51
|
|
|
52
|
+
## 🌐 Interactive Web Playground
|
|
53
|
+
|
|
54
|
+
Try out themes, arrange widgets, and preview your custom OpenAI Codex statusline directly in your browser without installing anything:
|
|
55
|
+
👉 **[cxstatusline.adrijshikhar.dev](https://cxstatusline.adrijshikhar.dev)**
|
|
56
|
+
|
|
32
57
|
<details>
|
|
33
58
|
<summary>See the footer inside Codex</summary>
|
|
34
59
|
|
|
35
|
-

|
|
60
|
+

|
|
36
61
|
|
|
37
62
|
</details>
|
|
38
63
|
|
|
@@ -55,7 +80,9 @@ cxstatusline doctor
|
|
|
55
80
|
```
|
|
56
81
|
|
|
57
82
|
`cxstatusline install` downloads the verified prebuilt binary matching your Codex version, verifies checksums against `manifest.json`, and activates it.
|
|
58
|
-
- **Interactive selection**: Running `cxstatusline install`
|
|
83
|
+
- **Interactive selection**: Running `cxstatusline install` opens a keyboard-driven version picker. Use ↑/↓ and Enter to select, or Escape/Ctrl+C to cancel. Prebuilt availability is shown per version; source-only choices require confirmation (unless you already passed `--compile`).
|
|
84
|
+
- **Update choices**: `cxstatusline update` uses the same keyboard controls to choose the latest supported prebuilt, a supported source build, or cancellation. It does not update upstream Codex first.
|
|
85
|
+
- **Live progress**: Ink renders download progress in terminals while completed stages remain in the transcript. Source builds report their phases; redirected output retains plain milestone logs.
|
|
59
86
|
- **Target a specific version**: `cxstatusline install --codex-version <version>` (e.g. `cxstatusline install --codex-version 0.154.0`).
|
|
60
87
|
- **Non-interactive / CI**: Pass `-y` or `--yes` to accept the default without prompting.
|
|
61
88
|
|
|
@@ -126,11 +153,15 @@ the **[Usage guide](docs/usage.md)**.
|
|
|
126
153
|
cxstatusline update
|
|
127
154
|
```
|
|
128
155
|
|
|
129
|
-
`cxstatusline update`
|
|
156
|
+
`cxstatusline update` downloads and verifies the latest published prebuilt supported by your cxstatusline package, then activates the complete patched Codex pair. It does not run Codex's self-updater or modify your original Codex installation. Open a new Codex session afterward.
|
|
157
|
+
|
|
158
|
+
The same Codex version is checked for rebuilt patch assets; a newer installed version is never downgraded. If discovery or verification fails, the active pair stays in place. Update the cxstatusline npm package to pick up support for newer Codex versions.
|
|
130
159
|
|
|
131
160
|
Options:
|
|
132
|
-
- `cxstatusline update --compile`:
|
|
133
|
-
- `
|
|
161
|
+
- `cxstatusline update --compile`: builds the latest locally supported Codex patch from source instead.
|
|
162
|
+
- `--force`, `-y`, and `--yes` remain accepted for compatibility; updates already run without a prompt and always verify the pair.
|
|
163
|
+
|
|
164
|
+
Session-start updates also leave a newer patched pair in place when the original Codex installation is older, including under the `every` policy.
|
|
134
165
|
|
|
135
166
|
## Revert
|
|
136
167
|
|
|
@@ -174,7 +205,26 @@ cxstatusline install --codex-version 0.154.0
|
|
|
174
205
|
```
|
|
175
206
|
</details>
|
|
176
207
|
|
|
208
|
+
Rust patch versions are independent of Codex and cxstatusline package versions. Each supported Codex version belongs to exactly one patch version:
|
|
209
|
+
|
|
210
|
+
| Rust patch | Tested Codex versions |
|
|
211
|
+
| --- | --- |
|
|
212
|
+
| v1 | 0.152.1, 0.153.0, 0.153.1, 0.153.4, 0.154.0, 0.155.0, 0.155.1 |
|
|
213
|
+
| v2 | 0.156.0, 0.156.1 |
|
|
214
|
+
|
|
215
|
+
Codex 0.153.1 is validated on macOS ARM64; its prebuilt release is pending. Compatibility entries do not imply that a prebuilt has already been published.
|
|
216
|
+
|
|
217
|
+
`patches/manifest.json` records that ownership with `patchVersion` on each compatibility entry. Its `version: 2` is the manifest format, not the Rust patch version. Entries can describe inclusive ranges, but we currently list only the exact tested versions. Version-specific patch files remain separate because upstream source layouts differ.
|
|
218
|
+
|
|
219
|
+
Add newly tested Codex versions to the existing patch version while it continues to work. When a newer Codex needs a changed Rust integration, introduce the next patch version for that Codex version and future compatible releases. Do not backport it or reassign older Codex versions. Overlapping entries are rejected.
|
|
220
|
+
|
|
221
|
+
New builds record the patch version in release and installation metadata; `cxstatusline doctor` displays it. Older releases remain readable and report `unknown (legacy)` rather than guessing. New prebuilt manifests use schema 2, so installing them requires a cxstatusline package that supports this format. Release tags remain `codex-v<version>`.
|
|
222
|
+
|
|
223
|
+
Rebuilding an existing Codex tag replaces its complete release asset set. The workflow verifies the new build, downloads and verifies every old asset, and saves a 90-day workflow artifact before mutation. The Git tag remains; the release may be briefly unavailable while the replacement is uploaded and verified. If automatic recovery fails, download the matching `release-backup-<tag>-<run-id>` artifact and restore it with `bun scripts/prebuilt.ts restore --tag codex-v0.156.1 --codex-version 0.156.1 --backup-dir ./release-backup --repo adrijshikhar/cxstatusline`.
|
|
224
|
+
|
|
177
225
|
If your Codex version is not listed, cxstatusline fails closed: it will neither download an unverified prebuilt nor attempt source compilation. New versions require a tested patch file, an entry in `patches/manifest.json`, and a release workflow run.
|
|
226
|
+
|
|
227
|
+
The daily upstream watcher audits every stable release in the newest Codex major.minor series and only the `.0` baseline of older series, at or above the support floor. For example, while 0.156.x is newest, 0.156.0 and 0.156.1 are required alongside 0.155.0; 0.155.1 is not a backfill requirement. Existing published assets and tested compatibility mappings are retained. It updates one `Codex release coverage gaps` issue and uploads a machine-readable report. A separate watchdog fails if no successful scheduled watcher run has completed in the last 36 hours. Enable repository **Settings → Notifications → Actions** and select failed workflow runs (or enable email notifications for Actions) to receive these failures. The watchdog runs inside GitHub Actions, so a GitHub-wide scheduling outage cannot be detected from within GitHub.
|
|
178
228
|
|
|
179
229
|
## 🩺 Troubleshooting
|
|
180
230
|
|
|
@@ -193,5 +243,6 @@ cxstatusline is [MIT licensed](LICENSE). See [SECURITY.md](SECURITY.md) for secu
|
|
|
193
243
|
|
|
194
244
|
---
|
|
195
245
|
|
|
196
|
-
|
|
197
|
-
|
|
246
|
+
- 🌐 **Web Playground:** [cxstatusline.adrijshikhar.dev](https://cxstatusline.adrijshikhar.dev)
|
|
247
|
+
- 💬 **Discussions & Ideas:** [github.com/adrijshikhar/cxstatusline/discussions](https://github.com/adrijshikhar/cxstatusline/discussions)
|
|
248
|
+
- 📦 **npm Package:** [npmjs.com/package/cxstatusline](https://www.npmjs.com/package/cxstatusline)
|