Skip to content

v1.2.0 — The One That Counts Without Being Asked

Latest

Choose a tag to compare

@tpierrain tpierrain released this 04 Jul 07:55
9c7cce7

Clepsydre — an always-on context-window status line for Claude Code.

Last release taught the branch segment to count your git progress — once you asked it to. This one drops the asking: the ↑ahead ↓behind ±dirty counts are now on by default for everyone, because we benchmarked the cost and it turned out to be nothing on a normal repo. If you're on a giant monorepo where it does bite, one env var opts you back out.

Highlights

  • Git counts, on by default — the branch segment now shows ↑2 ↓1 ±8 out of the box: commits ahead of your upstream (to push), commits behind (to pull), and ± uncommitted changes. Each part shows only when it isn't zero, so a clean, in-sync repo still adds nothing.
  • Opt out in one line — on a very large monorepo the git status scan can cost more than you want per render. Set CLEPSYDRE_GIT_COUNTS=0 (globally or per-project) and the branch falls back to a cheap ref-only read.
  • We measured before deciding — rather than build async machinery on a hunch, we benchmarked the working-tree scan: ~0 ms on a normal repo, and ~0.24 s warm even on the 95k-file Linux kernel. Cheap enough to default on; the full numbers and rationale live in a new ADR.
  • Still robust — if git ever hiccups with the counts on, the line falls back to the plain branch; the rest of the status line is never affected.

A tip of the hat 🎩

This whole feature — the idea and the first implementation — is @guillaumejay's, from PR #1. v1.1.0 shipped it opt-in; this release simply trusts it enough to make it the default. Thank you, Guillaume, for the sharp idea and the clean contribution. 🙏

Opt out of the git counts

Only if you need to (e.g. a huge monorepo). Add this to the "env" block of your settings.json (global ~/.claude/settings.json or a project's .claude/settings.json):

{ "env": { "CLEPSYDRE_GIT_COUNTS": "0" } }

Install / update

Already installed? Just git pull — no re-install, and the counts light up on the next render. New here:

git clone git@github.com:tpierrain/clepsydre.git ~/clepsydre
cd ~/clepsydre && node install.mjs

Then restart Claude Code.

⚠️ Ignore the "Source code (zip / tar.gz)" archives below. GitHub attaches them automatically and they're useless for Clepsydre: the installer points your status line at an absolute path inside your clone, so updates land with a plain git pull — a downloaded archive has no git history to pull.