1仕組みと動作原理
「信頼できる唯一の情報源(SSOT)」アーキテクチャ: generate_statusline.sh が唯一のステータスラインスクリプトです(Claude Code が stdin 経由で JSON を渡すためフラグの競合を避け、2つのレイアウトは環境変数 CLAUDE_STATUSLINE_LAYOUT で切り替え)。install も health check も同一スクリプトを軸に動作します。
The script reads layout from environment, not flags (Claude Code passes JSON on stdin, so flags would conflict).
ゼロフォークのパフォーマンス規律: git プロセスを起動せず、上位ディレクトリを探索して .git/HEAD を通常ファイルとして読み取ることで Git ブランチを取得(worktree や submodule の gitdir: 参照や detached HEAD の短縮 SHA にも対応)。ミリ秒単位のリフレッシュ予算と1桁台のフォーク数を維持します。
# Zero-fork git branch: walk up to .git and read HEAD as a file. Never spawns # git.
JSON 解析のフォールバック階層: jq を最優先し、python3 へフォールバック、どちらも存在しない場合は素の cwd のみに縮退。ctx 使用量は input/cache_read/cache_create の 3 項目を合算し、$HOME の短縮にはシェル互換性のためパラメータ展開ではなく case 文を使用します。
| `jq` | JSON parsing (preferred) | falls back to `python3` |
インストール = コピー + chmod + 配線 + 自己検証の閉ループ: install_statusline.sh は既存の ~/.claude/statusline.sh と settings.json をバックアップし、jq で statusLine ブロックのみを変更(他の設定を保持)、chmod +x を強制し、最後に必ず health_check を実行して非ゼロで失敗を報告します。「インストール完了」には確実な動作証跡が必須です。
**Mandatorily runs `health_check.sh` and shows the result** — installation is not "complete" until verification passes.
health_check.sh による4層検証: ファイルの存在と実行権限 → settings.json の配線 → モック stdin カバレッジ(完全データ / ゼロトークン / フィールド欠損 / $HOME 短縮 / 擬似 .git/HEAD によるゼロフォークブランチ)→ CLAUDE_STATUSLINE_DEBUG=1 で保存された実 stdin のリプレイ。失敗ごとに1行の修正コマンドを提示します。
It validates four layers: 1. `~/.claude/statusline.sh` exists and is executable. **Missing `chmod +x` is the single most common silent-failure cause**
full レイアウトのコスト表示は ccusage を使用し、キャッシュとサイレント縮退を完備: キャッシュファイル /tmp/claude_cost_cache_<min>.txt を利用し、2分経過で再生成、ccusage が存在しない場合は静かにスキップ。色は ctx の占有率(50%/80%)に応じて緑・黄・赤に変化します。
# Cost via ccusage (cached, async; silent if ccusage unavailable)
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| cli | jq(JSON 解析首选) |
| cli | python3(JSON 解析回退) |
| cli | awk(token K/M 格式化,两布局必需) |
| cli | git(full 布局脏标记;minimal 读 .git/HEAD 不需 git) |
| cli | ccusage(full 布局成本,可选) |
4推奨統制措置と判定根拠
- scripts/: ローカルスクリプトおよびコマンドの実行: bash generate_statusline.sh(Claude Code のリフレッシュごとに実行、内部で jq/python3/awk/whoami を適宜フォーク)
- 本地工作目录: ファイル読み書きと成果物出力: install 処理で cp による ~/.claude/statusline.sh の上書き、jq による ~/.claude/settings.json の更新(いずれも実行前に .b* 拡張子でバックアップ)
5二重目の独立検証
- [ok] install 是否真的强制 chmod +x — install_statusline.sh 显式 'chmod +x "$TARGET_PATH" # critical — silent failure root cause if missed'。
- [ok] settings.json 是否保结构更新 — install 用 'jq --arg cmd … .statusLine = {"type":"command","command":$cmd,"padding":(.statusLine.padding // 0)}' 合并;无 jq 分支拒绝编辑并提示手改。
- [ok] health_check 声称的 mock 用例 — run_mock 五例(完整/0 token/缺字段/$HOME 缩短/合成 .git/HEAD 分支)与 SKILL 描述逐条对应。
- [ok] 无网络外发与凭证读取 — 三脚本无 curl/wget/url;ccusage 以 --offline 调用;env 仅 LAYOUT/DEBUG/HOME。
- [ok] ccusage 成本路径缓存语义 — generate 185-210 行:缓存文件 /tmp/claude_cost_cache_$(date +%Y%m%d_%H%M).txt、mmin +2 清理、缺失时后台重建并回退旧缓存。
- [unlocatable] 运行时行为(真实 Claude Code stdin 形状下渲染) — 静态代码+reference 文档(context-window-schema.md)齐备,但本环境无 Claude Code 宿主,未做实机刷新验证;字段语义以文档为准。
6結論
7b68993203365b32…