Skip to content

feat(status-bar): add @davstack/claude-status-bar#80

Open
DawidWraga wants to merge 1 commit into
mainfrom
feat/claude-status-bar
Open

feat(status-bar): add @davstack/claude-status-bar#80
DawidWraga wants to merge 1 commit into
mainfrom
feat/claude-status-bar

Conversation

@DawidWraga

Copy link
Copy Markdown
Owner

Summary

  • New package @davstack/claude-status-bar: a battery-like token usage status bar for Claude Code, distributed via npx @davstack/claude-status-bar.
  • Ports the existing ~/.claude/statusline.py logic to a dependency-free Node runtime script (no Python requirement for end users).
  • Installer merges a statusLine entry into ~/.claude/settings.json without touching other keys, backs the file up first, and refuses to overwrite a foreign statusLine unless --force is passed. uninstall reverses the install only if it still owns the entry.
  • Changeset included for initial release (manual publish per project convention — CI auto-publish is currently broken).

Test plan

  • pnpm exec vitest run --project status-bar — 28 tests passing (render thresholds, port-fidelity vs a frozen copy of the original Python script, settings merge/conflict/force logic, install/uninstall round-trip against a temp dir)
  • Manual end-to-end smoke test: ran the built CLI (bin/davstack-status-bar.mjs) against a throwaway directory — install, piped sample stdin through the installed runtime script (verified colored bar + rate-limit segment render correctly), then uninstall — confirmed settings.json and the runtime file are cleaned up correctly
  • Real npx @davstack/claude-status-bar run against the published package (blocked on publish)

Distributable battery-like token usage status bar for Claude Code.
Ports the existing ~/.claude/statusline.py to a dependency-free Node
runtime script, installable via `npx @davstack/claude-status-bar`.

- Pure renderStatusLine() matches the Python original (verified by
  port-fidelity test against a frozen reference copy of the script)
- Installer merges statusLine into settings.json without touching
  other keys, backs the file up first, and refuses to clobber a
  foreign statusLine without --force
- uninstall subcommand reverses the install only if it still owns it
@vercel

vercel Bot commented Jul 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
davstack-docs Error Error Jul 6, 2026 12:50pm
davstack-t3-with-davstack Error Error Jul 6, 2026 12:50pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant