Fig. 0 · one pipeline run, replayed
drag the section lineA recorded 47-minute /m:develop run, played back through the statusline itself. Scrub the section line across the timeline: phases hand off, tasks complete, and the bars creep as the 5-hour pace climbs.
refine → plan → implement → review → iterate · plays itself when idle
The readout
the cockpit · stdin → stdoutClaude Code feeds the script a JSON blob on stdin; it writes the cockpit back. Git and ticket on top, the pipeline line while /m:develop runs, then one usage row per engine: Claude's pace-aware context and rate-limit bars, and — throughout a /m:develop run whenever it's enabled as the second engine — Codex's row with a live token-burn gauge.
m implement ◉◉◐○○ 2/5 ·12m · tasks 4/6
Opus 4.8 · xhigh CTX ███░░░░░ 41% · 5H ██░░░░░░ 23%→41% ·2h13m · WK ████░░░░ 76%→104% ·1d20h
gpt-5.5 · xhigh · idle
To Himself: Confine yourself to the present.
Key · segments
what each block meanstoken_budget — while it drives plan and review as the second engine. Hidden when Codex is disabled.Colors
every field, one ladder| Swatch | Load |
|---|---|
| ███ | blue: under 50% |
| ███ | green: 50–70% |
| ███ | amber: 70–90% |
| ███ | red: 90%+ |
Every bar fill is colored by its own progress up one ladder. The Claude rate-limit bars feed it their projection, not the raw used value, so they warn you while there is still time to slow down; CTX and the Codex burn gauge feed it the used value.
The model-name label on each usage row is brand-colored instead of laddered: Claude orange for the Claude row, white for the Codex row.
Install
no packages · stdlib onlyInside Claude Code, the setup command wires settings.json for you (existing settings preserved, backed up to settings.json.bak):
/plugin marketplace add milorad-teodorovic/m-statusline /plugin install m-statusline@m-statusline /m-statusline:setup
/m pipeline integration
one-way · optionalThe ◉◐○ stage segment reads a .m/DEVELOP_ACTIVE marker and per-phase phase-<name>-done files, walking up from the working directory. The pipeline it tracks is refine → plan → implement → review → iterate. Don't use it? The segment simply never appears, and the rest of the statusline works unchanged.