pi-ccline

A high-performance CCometixLine-style statusline & header extension for Pi Agent with theme presets, Powerline support, customizable segments, and git tracking.

Packages

Package details

extension

Install pi-ccline from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-ccline
Package
pi-ccline
Version
0.1.0
Published
Aug 16, 2026
Downloads
182/mo · 20/wk
Author
nikoniko.wuw
License
MIT
Types
extension
Size
190.7 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./dist/index.js"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-ccline

npm version License: MIT

A high-performance CCometixLine-style Statusline & Header extension for Pi Agent (pi-coding-agent), featuring multiple built-in themes, Powerline arrow transitions, Nerd Font icons, modular segment customization, humor working status messages, and asynchronous Git status tracking.


🌟 Features

  • 🎨 Rich Theme Presets: Built-in 9 themes ported directly from CCometixLine:
    • cometix (Default Nerd Font theme with vibrant modern colors)
    • default (Plain Emoji theme, zero font dependencies)
    • minimal (Distraction-free clean gray dividers)
    • gruvbox (Classic retro warm palette)
    • nord (Arctic, clean cool-blue palette)
    • powerline-dark (Dark background blocks with arrow transitions)
    • powerline-light (Pastel light blocks with transitions)
    • powerline-rose-pine (Rosé Pine aesthetic)
    • powerline-tokyo-night (Cyberpunk Tokyo Night neon style)
  • 🚀 Style Modes: Seamlessly switch between nerd_font, plain (emoji), and powerline rendering modes.
  • 🍿 Humorous Working Status: Replaces boring working... with hilarious dynamic lines (e.g. 🍿 偷吃 Token 中,咔嚓咔嚓..., 📖 正在一目十行量子速读中..., ✂️ 正在外科手术式精准动刀...).
  • 🧠 Dynamic Thinking Effects:
    • max: 🌈 Full Spectrum 360° Rainbow Wave (75ms frame rate)
    • xhigh: 🌌 Cyber Violet-to-Cyan Plasma Flow
    • high: 🔥 Warm Amber Flame Pulse
    • medium / low / minimal: Polished color gradients
  • 🌿 Async Git Integration: Branch detection, ahead/behind tracking, staged/modified/untracked indicators, and merge conflict warnings.
  • 🪟 Context Window Tracking: Token usage percentage calculation and visual color warning (success -> warning -> error).
  • ⚙️ Active Tool & Stream Activity: Live indicators for currently executing tools (Bash, Read, etc.).
  • 💰 Usage & Cost Statistics: Total input/output tokens, cache read/write, and accumulated session cost.
  • 💬 Interactive Commands: Switch themes, toggle segments, reload configurations on the fly with /ccline.
  • ⚙️ Hot-Reloadable Config: Persists to ~/.pi/agent/ccline.json.

📦 Installation

Option 1: Install via Pi Package Manager (Recommended)

pi install npm:@earendil-works/pi-ccline

Or add to your ~/.pi/agent/settings.json:

{
  "packages": [
    "npm:@earendil-works/pi-ccline"
  ]
}

Option 2: Local Development / Manual Installation

Clone or link to your ~/.pi/agent/extensions/ directory:

cd ~/.pi/agent/extensions/pi-ccline
npm install
npm run build

🎮 Usage & Commands

Inside your Pi session, you can use the /ccline slash command:

Command Description
/ccline help Display help menu and command list
/ccline status View current status, active theme, and enabled segments
/ccline theme [name] Switch theme (cometix, gruvbox, nord, powerline-dark...)
/ccline mode [mode] Switch mode (nerd_font, plain, powerline)
/ccline segment <id> <on|off> Toggle segment (model, thinking, git, tokens, cost, etc.)
/ccline toggle / /ccline on / /ccline off Enable or disable the statusline footer
/ccline reload Reload configuration from ~/.pi/agent/ccline.json

⚙️ Configuration (~/.pi/agent/ccline.json)

The extension automatically creates ~/.pi/agent/ccline.json on first run:

{
  "enabled": true,
  "theme": "cometix",
  "header": {
    "enabled": true,
    "showLogo": true
  },
  "working": {
    "enabled": true,
    "humor": true,
    "frames": ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"],
    "intervalMs": 80,
    "defaultMessage": "🍿 偷吃 Token 中,咔嚓咔嚓...",
    "showActiveTools": true
  },
  "style": {
    "mode": "nerd_font",
    "separator": " │ ",
    "powerlineSeparator": ""
  },
  "segments": [
    { "id": "model", "enabled": true, "priority": 100 },
    { "id": "thinking", "enabled": true, "priority": 95 },
    { "id": "directory", "enabled": true, "priority": 80 },
    { "id": "git", "enabled": true, "priority": 90 },
    { "id": "context", "enabled": true, "priority": 85 },
    { "id": "activity", "enabled": true, "priority": 60 },
    { "id": "tokens", "enabled": false, "priority": 30 },
    { "id": "cache", "enabled": false, "priority": 25 },
    { "id": "cost", "enabled": false, "priority": 20 },
    { "id": "time", "enabled": false, "priority": 10 }
  ],
  "modelAliases": {
    "claude-3-5-sonnet": "Sonnet 3.5",
    "claude-3-7-sonnet": "Sonnet 3.7",
    "claude-opus-4": "Opus 4",
    "gpt-5.6-sol": "GPT-5.6 Sol"
  }
}

🔠 Requirements

  • Nerd Fonts (Recommended for nerd_font and powerline modes): Nerd Fonts (e.g. JetBrains Mono, FiraCode).
  • Git 1.5+ for Git branch & status tracking.

📄 License

MIT © niko