{"id":50041426,"url":"https://github.com/odere-pro/claude-agentline","last_synced_at":"2026-06-26T16:01:00.644Z","repository":{"id":355408490,"uuid":"1227588688","full_name":"odere-pro/claude-agentline","owner":"odere-pro","description":"Fast, themeable powerline statusline for Claude Code: git, tokens, context window, rate limits, themes, and a live TUI editor.","archived":false,"fork":false,"pushed_at":"2026-06-20T15:34:02.000Z","size":2210,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-20T17:13:16.300Z","etag":null,"topics":["ansi","claude-code","cli","developer-tools","git","nerd-font","nodejs","powerline","prompt","statusline","terminal","theme","tokens","tui","typescript"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@odere-pro/agentline","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/odere-pro.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-02T22:25:39.000Z","updated_at":"2026-06-20T15:34:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/odere-pro/claude-agentline","commit_stats":null,"previous_names":["odere-pro/claude-agentline"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/odere-pro/claude-agentline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odere-pro%2Fclaude-agentline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odere-pro%2Fclaude-agentline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odere-pro%2Fclaude-agentline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odere-pro%2Fclaude-agentline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/odere-pro","download_url":"https://codeload.github.com/odere-pro/claude-agentline/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odere-pro%2Fclaude-agentline/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34823788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-26T02:00:06.560Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansi","claude-code","cli","developer-tools","git","nerd-font","nodejs","powerline","prompt","statusline","terminal","theme","tokens","tui","typescript"],"created_at":"2026-05-21T03:11:27.393Z","updated_at":"2026-06-26T16:01:00.638Z","avatar_url":"https://github.com/odere-pro.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# agentline\n\n_A powerline statusline for Claude Code — git, tokens, context window, rate limits, and a live TUI editor._\n\n**[Website](https://odere-pro.github.io/claude-agentline/)** · **[npm](https://www.npmjs.com/package/@odere-pro/agentline)** · **[Docs](./docs/get-started.md)**\n\n[![npm](https://img.shields.io/npm/v/@odere-pro/agentline?logo=npm\u0026color=cb3837)](https://www.npmjs.com/package/@odere-pro/agentline)\n[![for Claude Code](https://img.shields.io/badge/for-Claude%20Code-cc785c?logo=anthropic\u0026logoColor=white)](https://docs.anthropic.com/claude/docs/claude-code)\n[![type: CLI](https://img.shields.io/badge/type-CLI-5b8def?logo=gnubash\u0026logoColor=white)](#use)\n[![node ≥20](https://img.shields.io/badge/node-%E2%89%A520-43853d?logo=node.js\u0026logoColor=white)](https://nodejs.org/)\n[![status: stable](https://img.shields.io/badge/status-stable-brightgreen)](./CHANGELOG.md)\n[![license: MIT](https://img.shields.io/badge/license-MIT-yellow)](./LICENSE)\n[![gates](https://github.com/odere-pro/claude-agentline/actions/workflows/gates.yml/badge.svg?branch=main)](https://github.com/odere-pro/claude-agentline/actions/workflows/gates.yml)\n[![install-matrix](https://github.com/odere-pro/claude-agentline/actions/workflows/install-matrix.yml/badge.svg?branch=main)](https://github.com/odere-pro/claude-agentline/actions/workflows/install-matrix.yml)\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/odere-pro/claude-agentline/badge)](https://scorecard.dev/viewer/?uri=github.com/odere-pro/claude-agentline)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/12995/badge)](https://www.bestpractices.dev/projects/12995)\n\nA fast, themeable statusline for Claude Code. Reads the stdin payload Claude Code's statusline contract sends, writes an ANSI-styled line, exits. No network. No native modules. No plugin scaffolding.\n\n\u003e **Built for Software 3.0.** Agentline is shaped so an LLM agent — not just a human — can install, configure, theme, and troubleshoot it through natural language. The stable stdin contract, the flat scriptable CLI, the seeded subagent skill files, and the per-group `CLAUDE.md` briefings are one coherent design choice, not a feature list. See [SOFTWARE-3-0.md](./SOFTWARE-3-0.md) for the thesis, the dual-audience surface map, and a worked example.\n\n---\n\n## Get started\n\n```bash\nnpm install -g @odere-pro/agentline   # 1. install the CLI\nagentline reset                       # 2. wire into Claude Code (statusLine + skills + themes)\nagentline doctor                      # 3. verify the wiring\nagentline edit                        # 4. customise widgets, theme, and layout (TUI)\n```\n\nRestart Claude Code after `reset` — the statusline appears at the bottom of the prompt. Later config changes apply on the next render, no restart needed.\n\n![agentline statusline rendering: model, thinking effort, account, branch, context %, weekly usage, reset timers, cwd, permissions mode](./docs/assets/statusline-example.png)\n\n---\n\n## Highlights\n\n**38 widgets across 6 families**, each covering one slice of session status:\n\n| Family        | What it shows                                                      |\n| ------------- | ------------------------------------------------------------------ |\n| `session`     | model, version, thinking, plan, cwd, agent, account, duration      |\n| `tokens`      | input / output token counts, throughput, and host cost scalars     |\n| `context`     | context-window usage %, the 200k flag, and cached tokens           |\n| `rate-limits` | session \u0026 weekly usage, plus one reset-timer (countdown + at-time) |\n| `git`         | project, branch, worktree, change counts, upstream, PR             |\n| `other`       | clock, added-dirs, output-style, vim-mode                          |\n\n- **Agent-friendly** — `install` adds five agentline skills to your Claude Code session, so you can install, configure, theme, troubleshoot, and update agentline by asking the agent — without leaving Claude Code.\n- **Comfortable, intuitive TUI** — `agentline edit` opens a live-preview editor with a widget picker.\n- **Search to your widget** — press `/` in the picker for a flat, searchable list across every widget.\n- **Previews, grouped by colour \u0026 family** — every widget shows a live preview in the picker, colour-coded and grouped by family so the statusline is faster to read at a glance.\n- **Plan-link widget** — the `plan` widget links to the plan generated in your Claude Code session, so you never lose it when you clear or compact context.\n- **One global config** — a single source of truth at `${CLAUDE_CONFIG_DIR:-~/.config}/agentline/config.json`; no per-project config to drift.\n- **Reversible** — `agentline uninstall` restores your previous `statusLine` byte-for-byte and removes the installed skills (`--purge` also wipes user config and custom themes).\n- **Powerline-ready** — arrayed chevrons \u0026 caps that cycle per line.\n- **Theme engine** — graceful truecolor → 256-colour → 16-colour degradation.\n- **Self-repairing** — `agentline doctor --fix` auto-repairs settings wiring, config defaults, and missing themes.\n- **Zero render-time I/O** — themes and the widget registry are embedded; no network on the hot path.\n\n---\n\n## Use\n\nThe CLI is intentionally small: `start` · `reset` · `uninstall` · `doctor` · `edit` · `config`.\n\n### Install and first-time setup\n\n```bash\n# From source (today)\ngit clone https://github.com/odere-pro/claude-agentline \u0026\u0026 cd claude-agentline\ncorepack enable \u0026\u0026 pnpm install \u0026\u0026 pnpm run build\nnode dist/cli.mjs reset --from-source\n\n# From npm (when published)\nnpm install -g @odere-pro/agentline\nagentline reset\n```\n\n**`reset` is the canonical setup verb** — it wires `statusLine` into Claude Code's settings,\nseeds `agentline/config.json` under `$CLAUDE_CONFIG_DIR`, copies shipped themes, and installs\nfive `agentline*.md` skills. It also performs first-time wiring on a fresh host, making it\nsafe to run whether agentline is new or already set up. The lower-level `agentline install`\nverb is still available (it preserves an existing user config rather than reseeding it) but\nis hidden from `agentline help` — `reset` is the entry point for users and agents alike.\n\nBacks up any prior `statusLine` so `uninstall` restores it byte-for-byte.\n\nRestart Claude Code — the statusline appears at the bottom of the prompt.\n\n### Upgrade\n\nAfter publishing/installing a new version, adopt it with the config you already have:\n\n```bash\nnpm i -g @odere-pro/agentline@latest   # pull the new version\nagentline start                        # rewire to it + preview; your config is preserved\n```\n\n`start` is the visible, config-preserving verb: it re-wires `statusLine` to the installed\nbinary and prints a one-shot preview. Unlike `reset`, it never overwrites `config.json`.\n\n### Configure\n\nThree equivalent paths — pick whichever fits the moment:\n\n| Path                             | When                                                             |\n| -------------------------------- | ---------------------------------------------------------------- |\n| _\"swap the theme to X\"_          | Ask the agent in any Claude Code session                         |\n| `agentline edit`                 | Interactive TUI with live preview                                |\n| `agentline config widget`        | Scriptable: `add`, `remove`, `move`, `replace`, `set-option`     |\n| `agentline config init`          | Seed the user config from a preset (`default`/`minimal`/`power`) |\n| `agentline config refresh`       | Get or set the statusline refresh cadence (seconds)              |\n| `agentline config undo` / `redo` | Roll the last config change back, or forward again               |\n\nChanges apply on the next prompt render — no restart.\n\n### Uninstall\n\n```bash\nagentline uninstall          # restore prior statusLine, remove installed skills\nagentline uninstall --purge  # also wipe user config + custom themes\n```\n\n### Diagnose\n\n```bash\nagentline doctor             # report wiring problems\nagentline doctor --fix       # auto-repair settings + config wiring\n```\n\n---\n\n## Docs\n\n| Topic            | File                                                 |\n| ---------------- | ---------------------------------------------------- |\n| Get started      | [docs/get-started.md](./docs/get-started.md)         |\n| CLI reference    | [docs/cli.md](./docs/cli.md)                         |\n| Install          | [docs/install.md](./docs/install.md)                 |\n| Configure        | [docs/config.md](./docs/config.md)                   |\n| Widgets (all 22) | [docs/widgets.md](./docs/widgets.md)                 |\n| Themes           | [docs/themes.md](./docs/themes.md)                   |\n| TUI editor keys  | [docs/keymap.md](./docs/keymap.md)                   |\n| Doctor checks    | [docs/doctor.md](./docs/doctor.md)                   |\n| Troubleshooting  | [docs/troubleshooting.md](./docs/troubleshooting.md) |\n| Architecture     | [docs/architecture.md](./docs/architecture.md)       |\n| Glossary         | [docs/GLOSSARY.md](./docs/GLOSSARY.md)               |\n| Why this shape   | [SOFTWARE-3-0.md](./SOFTWARE-3-0.md)                 |\n\n---\n\n## Requirements\n\n- Node.js 20 LTS or newer\n- macOS, Linux, or Windows (Git Bash / WSL)\n- Claude Code run at least once (settings file must exist)\n\n---\n\n## Contribute\n\nBug reports, widget ideas, theme submissions, and PRs are welcome.\n\n```bash\n# Bootstrap (pnpm is pinned via package.json \"packageManager\")\ncorepack enable\npnpm install --frozen-lockfile\npnpm run build\nbash tests/gates/run-all.sh        # full gate suite\n\n# Iterate\npnpm run test:watch                # unit tests\nnode dist/cli.mjs install --from-source  # link this checkout to Claude Code\nnode dist/cli.mjs edit             # exercise the TUI editor\n\n# Sanity check before opening a PR\npnpm run lint \u0026\u0026 pnpm run typecheck \u0026\u0026 pnpm test\nbash tests/gates/run-all.sh\n```\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for branch/commit conventions, the 5-step \"add a widget\" recipe, gate descriptions, and the changelog-fragment workflow. Open issues at [github.com/odere-pro/claude-agentline/issues](https://github.com/odere-pro/claude-agentline/issues); security reports go through [SECURITY.md](./SECURITY.md).\n\n---\n\n## Source layout\n\nCore modules live under `src/`, organised into six groups plus the CLI entry. Each group has a `CLAUDE.md` briefing for any Claude Code session opened in this repo.\n\n| Group           | Purpose                                                                                                                   |\n| --------------- | ------------------------------------------------------------------------------------------------------------------------- |\n| `src/cli/`      | CLI dispatch entry (`cli.ts`) — every verb lives behind this one file.                                                    |\n| `src/core/`     | Stdin parse, schema, i18n (`en-dictionary` + `ids`), shared pure libs.                                                    |\n| `src/data/`     | Config, theme, tokens, git, session, on-disk caches (`config`, `theme`, `tokens`, `git`, `session`, `state`).             |\n| `src/widgets/`  | Per-family widget folders + `families/` catalogue + plumbing (`cell`, `clock`, `registry`, `render-widget`, `separator`). |\n| `src/render/`   | Line composer + Powerline transform (`render`, `powerline`).                                                              |\n| `src/tui/`      | Lazy-imported TUI editor: `tui/` shell + `picker`, `preview`, `state`, `keys` siblings.                                   |\n| `src/commands/` | Verb implementations (`reset`, `install`, `uninstall`, `doctor`) plus the internal `update-check` cache helper.           |\n\nThe render hot path stays `ink`/`react`/`src/tui/`-free (gate-19). See [docs/cookbook/04-architecture.md](./docs/cookbook/04-architecture.md) for the hot-path / cold-path boundary and [SOFTWARE-3-0.md](./SOFTWARE-3-0.md) for the design thesis.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://odere-pro.github.io/claude-agentline/\"\u003eLanding page\u003c/a\u003e · \u003ca href=\"./LICENSE\"\u003eMIT\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodere-pro%2Fclaude-agentline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fodere-pro%2Fclaude-agentline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodere-pro%2Fclaude-agentline/lists"}