{
  "markdown": "# statusline\n\n**Stop guessing which project you're in.** When you're running 5+ Claude Code sessions across different repos, every tab looks the same. You waste time clicking through tabs trying to find the right one, or worse — you start coding in the wrong project.\n\n`statusline` puts a persistent, color-coded status bar at the bottom of every Claude Code session showing exactly where you are and what's happening.\n\n![demo](demo/demo.gif)\n\n## The problem\n\nClaude Code's default UI doesn't show which project or repo you're working in. When you're deep in a session, you can't tell at a glance:\n\n- Which repo am I in?\n- Is this branch dirty?\n- How much context window is left?\n- Am I about to hit my rate limit?\n- How many lines has Claude changed this session?\n\nThis plugin solves all of that with a single glance.\n\n## Install\n\n```bash\n# Add the marketplace (one-time)\nclaude plugins marketplace add dan1d/claude-marketplace\n\n# Install the plugin\nclaude plugins install statusline@dan1d\n```\n\nThen run `/statusline:setup` inside Claude Code to activate the status line.\n\n## What you get\n\n```\n❯ my-project │ main ✗ │ ctx:47% │ Opus 4.6 │ session +1410/-68 │ uncommitted +23/-5 │ time 42m │ 5h quota 49% resets ~2h38m │ 7d quota 64%\n```\n\nAt a glance: project name, branch with dirty indicator, context usage, model, lines changed, uncommitted diff, session duration, and quota usage with reset countdowns.\n\n## Themes\n\nFour built-in themes — switch anytime with `/statusline:sl <theme>`:\n\n### powerline (default)\n```\n❯ my-project │ main ✗ │ ctx:70% │ Opus 4.6 │ session +1410/-68 │ time 42m │ 5h quota 49% resets ~2h38m\n```\n\n### minimal\n```\nmy-project main ✗ rate 5h:49%\n```\n\n### compact\n```\nmy-project (main ✗) · 70% ctx · rate 5h:49%\n```\n\n### full\n```\nr1:~/projects/my-project main ✗ ctx:70% Opus 4.6 rate 5h:49% ~2h38m lines +1410/-68 time 42m\n```\n\n## Detail levels\n\nControl how much info you see. Default is `high`.\n\n| Level      | What's shown |\n|------------|--------------|\n| **low**    | Project name, branch, dirty indicator (✗) |\n| **medium** | + context %, model, cost or rate limit |\n| **high**   | + session lines, uncommitted diff, duration, todos, quota resets |\n\n## Metrics\n\n| Metric | Description |\n|--------|-------------|\n| **Project name** | Git repo name or directory basename |\n| **Branch + dirty** | Current branch with red ✗ for uncommitted changes |\n| **Context %** | How much context window is consumed |\n| **Model** | Active model (Opus 4.6, Sonnet, etc.) |\n| **Session lines** | Lines added/removed by Claude this session |\n| **Uncommitted diff** | Lines in your uncommitted git changes |\n| **Duration** | Session wall-clock time |\n| **Quota (5h/7d)** | Rolling rate limit usage with reset countdown |\n| **Session cost** | USD spent (API billing users only) |\n| **Todos** | Active todo count |\n\n### Smart billing detection\n\nThe plugin auto-detects subscription vs API billing:\n\n- **Max plan subscribers** see rate limit quotas with reset countdowns\n- **API billing users** see session cost in USD\n\nRate limits are color-coded: gray (< 60%), orange (60-79%), red (80%+).\n\n## Switch on the fly\n\n```\n/statusline:sl powerline        # switch theme\n/statusline:sl high             # switch detail level\n/statusline:sl minimal low      # switch both\n/statusline:sl                  # preview all themes\n```\n\nOr edit `~/.claude/statusline-config.json` directly — changes apply immediately.\n\n## Custom themes\n\nCreate `~/.claude/statusline-themes/mytheme.js`:\n\n```js\n'use strict';\n\nfunction render(data) {\n  // data.project, data.branch, data.dirty (' ✗' or '')\n  // data.model, data.contextUsedPct, data.detail\n  // data.isSubscription, data.costUsd, data.rateLimit5h, data.rateLimit7d\n  // data.resetIn5h, data.resetIn7d (seconds)\n  // data.linesAdded, data.linesRemoved (session totals)\n  // data.diffAdded, data.diffRemoved (uncommitted git diff)\n  // data.durationMs, data.todoCount\n  // data.user, data.cwd, data.raw (full JSON from Claude Code)\n\n  return `${data.project} [${data.branch}${data.dirty}]`;\n}\n\nmodule.exports = { render };\n```\n\nThen `/statusline:sl mytheme` to activate.\n\n## Uninstall\n\n```\n/statusline:setup uninstall\n```\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 4189,
  "sha": "78b557c64bb9b7473c685ee6eb4dd558d4dd133c8a2e91c59fc8d7a4c57071d3",
  "repo_slug": "dan1d/statusline",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_dan1d_statusline_statusline_1c60a5b8/readme"
}