<h1 align="center">
<a href="https://prompts.chat">
**๐จ Transform your terminal with 18 atomic components across 1-9 configurable lines**
Sign in to like and favorite skills
โโโโโโโโโโโโ โโโโโโ โโโ โโโโโโ โโโโ โโโ โโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโโโโ โโโ โโโ โโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโ โโโ โโโโโโโโโโโ โโโโโโโโโ โโโโโโ โโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโ โโโโโโ โโโโโโ โโโโโ โโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโ โโโโโโโโโโโ โโโโโโโโ โโโ โโโโโโโโ โโโ โโโ โโโโโโโโโโโโโโ โโโโโโโโโ โโโโโโโโโ โโโโโโโโ โโโ โโโโโโโโ โโโ โโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโ โโโ โโโ โโโ โโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโ โโโ โโโ โโโ โโโ โโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโ
๐จ Transform your terminal with 18 atomic components across 1-9 configurable lines
Block metrics โข Burn rate monitoring โข Cache efficiency โข Cost projections โข Atomic precision โข Clean separators โข Rich information display โข Stunning themes โข Real-time monitoring โข MCP integration โข Islamic prayer times โข Ultimate customization

๐จ Catppuccin Mocha Theme in VS Code Terminal

๐ Platform Requirements: 100% compatible across all major platforms
brew install jq curlsudo apt install jq curlsudo pacman -S jq curlsudo dnf install jq curlapk add jq curlChoose your preferred installation method:
# Download and inspect the installer (strongly recommended) curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh -o install.sh # Review what it does - look for: # โ Only creates files in ~/.claude/statusline/ # โ Downloads from this GitHub repo # โ No sudo or system modifications less install.sh # Run when you're satisfied it's safe bash install.sh
๐ Quick Security Check: Open
install.sh and verify it only:
~/.claude/raw.githubusercontent.com/rz1989s/claude-code-statuslinesudo or modify system filescurl with proper GitHub raw URLs# Direct install without inspection (for trusted users) curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh | bash
# Check all dependencies (shows 6 feature categories) curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh | bash -s -- --check-all-deps # Interactive installation with user choices curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh | bash -s -- --interactive # Comprehensive dependency analysis + interactive mode curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh | bash -s -- --check-all-deps --interactive # Install from development branch curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/nightly/install.sh | bash -s -- --branch=nightly # Debug installation issues STATUSLINE_INSTALL_DEBUG=true curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh | bash
# 1. Create directory structure mkdir -p ~/.claude/statusline/{lib,examples} # 2. Download core files curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/statusline.sh -o ~/.claude/statusline/statusline.sh curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/examples/Config.toml -o ~/.claude/statusline/Config.toml # 3. Download library modules (automated) curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh | bash -s -- --modules-only # 4. Make executable and test chmod +x ~/.claude/statusline/statusline.sh ~/.claude/statusline/statusline.sh --version
# Confirm installation success ~/.claude/statusline/statusline.sh --version ls -la ~/.claude/statusline/lib/ # Should show 10+ module files # Test with sample input echo '{"workspace": {"current_dir": "'"$(pwd)"'"}, "model": {"display_name": "Test"}}' | ~/.claude/statusline/statusline.sh
๐ Transparency First - Here's exactly what happens:
โ Creates one directory:
~/.claude/statusline/ (in your home folder only)Config.toml with default settings you can editโ Does NOT:
๐ Security: All files are downloaded from this public GitHub repository - you can inspect every line of code before running.
๐ REVOLUTIONARY BLOCK METRICS SYSTEM
๐ REVOLUTIONARY INSTALLER OVERHAUL
โก INSTALLATION IMPROVEMENTS
๐ ADDITIONAL FIXES
๐ IMPACT: Bulletproof installation system - Reliable, fast installation regardless of GitHub API availability, with 100% download guarantee and zero user intervention required.
๐ฏ REVOLUTIONARY SIMPLIFICATION: SINGLE SOURCE OF TRUTH ARCHITECTURE
Transform your configuration experience with the most significant architectural simplification ever:
๐งน Configuration Breakthrough - Eliminated triple redundancy system:
๐ฏ Zero Hunting - All parameters pre-filled in Config.toml, just edit values
๐ง Zero Code Defaults - No more DEFAULT_CONFIG_* constants scattered in lib/config.sh
โก Pure Extraction - No jq fallbacks (
// "default"), reads directly from TOML
๐ Simplified Structure - Only examples/Config.toml + README.md (no confusion)
๐ฏ USER EXPERIENCE TRANSFORMATION
# BEFORE: Hunt for parameter names across 13 config files # ~/.claude/statusline/examples/Config.modular-compact.toml # ~/.claude/statusline/examples/Config.modular-atomic.toml # ... 11 more files to choose from # AFTER: Edit ONE comprehensive file with ALL settings # ~/.claude/statusline/Config.toml (227 settings included!) theme.name = "catppuccin" # Theme selection display.lines = 5 # Line count (1-9) display.line1.components = ["repo_info", "commits", "version_info"] labels.commits = "Commits:" # Display labels # ... ALL 227 settings right here!
๐ฏ ULTIMATE CUSTOMIZATION: ATOMIC COMPONENT BREAKTHROUGH
Transform your statusline with 18 atomic components that eliminate separator issues and provide maximum control:
๐ฌ Atomic Components - Single-purpose units for maximum control:
commits - Shows ONLY commit count (pure atomic)submodules - Shows ONLY submodule status (pure atomic)cost_monthly - Shows ONLY 30-day costs (pure atomic)cost_weekly - Shows ONLY 7-day costs (pure atomic)cost_daily - Shows ONLY daily costs (pure atomic)๐จ Clean Visual Separation - No more
30DAY $660.87 7DAY $9.31 DAY $36.10! Now: 30DAY $660.87 โ 7DAY $9.31 โ DAY $36.10
๐งฉ Maximum Control - Want only commits without submodules? Use
commits component only
โ๏ธ Pure Atomic Architecture - No legacy bundled components, each component shows unique data only
๐ 8 Example Configs - Including new
Config.modular-atomic.toml showcase
โ๏ธ ATOMIC CONFIGURATION EXAMPLES
# Show only specific git info display.line1.components = ["repo_info", "commits", "version_info"] # Custom cost tracking - pick exactly what you need display.line2.components = ["cost_monthly", "cost_daily"] # Pure atomic components display.line3.components = ["commits", "cost_weekly", "mcp_status"]
๐ฏ MAJOR ARCHITECTURAL BREAKTHROUGH: MODULAR COMPONENT SYSTEM
collect_data(), render(), get_config())๐งฉ INDIVIDUAL COMPONENT MODULES
repo_info.sh - Repository directory and git status displaycommits.sh - Commit count (pure atomic)submodules.sh - Submodule tracking (pure atomic)version_info.sh - Claude Code version with intelligent cachingtime_display.sh - Current time formatting and displaymodel_info.sh - Claude model identification with emoji indicatorscost_repo.sh - Repository session cost trackingcost_monthly.sh - 30-day costs (pure atomic)cost_weekly.sh - 7-day costs (pure atomic)cost_daily.sh - Daily costs (pure atomic)cost_live.sh - Live billing block cost monitoringmcp_status.sh - MCP server health and connection statusreset_timer.sh - Block reset countdown and timer managementprayer_times.sh - Islamic prayer times integrationโ๏ธ FLEXIBLE TOML CONFIGURATION SYSTEM
# Compact 3-line layout display.lines = 3 display.line1.components = ["repo_info", "commits", "submodules"] display.line2.components = ["model_info", "cost_repo"] display.line3.components = ["mcp_status"] # Custom reordering - prioritize what matters to you! display.line1.components = ["mcp_status", "prayer_times"] display.line2.components = ["repo_info", "version_info"]
๐๏ธ ENHANCED MODULAR ARCHITECTURE
๐ IMPACT: Revolutionary transformation from fixed 5-line display to fully configurable 1-9 line modular system, enabling personalized statusline layouts that adapt to any workflow preference.
๐ MAJOR NEW FEATURE: ISLAMIC PRAYER TIMES
๐ HIJRI CALENDAR WITH AUTHENTIC ISLAMIC TIMEKEEPING
๐ง COMPREHENSIVE CONFIGURATION SYSTEM
๐๏ธ ENHANCED ARCHITECTURE
lib/prayer.sh with 400+ lines of Islamic timekeeping logic following existing modular patternstests/unit/test_prayer_functions.bats with edge case coverage๐ IMPACT: Muslim developers now have accurate Islamic timekeeping integrated seamlessly into their development workflow with authentic religious observance support.
๐ CRITICAL BUG FIXES
ccusage daily commands were timing out at 3s when they need ~3.5s to completeโก PERFORMANCE & RELIABILITY IMPROVEMENTS
DEFAULT_VERSION_TIMEOUT: 2s โ 10sDEFAULT_CCUSAGE_TIMEOUT: 3s โ 10sCACHE_CONFIG_ATOMIC_TIMEOUT: 5s โ 10s๐ DOCUMENTATION ENHANCEMENTS
๐ IMPACT: Eliminated DAY cost display bug, improved system reliability, and enhanced timeout handling
/tmp to secure user-isolated directories following XDG Base Directory specificationgit check-ref-format for authentic validationclaude --version and claude mcp list cachingversion.txt as master version file for entire codebaseContains internal v2.0.6-refactored architecture while maintaining v1.3.x compatibility
parse_timeout_to_seconds() and validate_timeout_bounds()Config.toml~/.claude/statusline/Config.toml (simple and consistent)ENV_CONFIG_* variables override all settings--watch-configExperience three beautifully crafted themes that transform your terminal into a work of art:

๐ฏ BREAKTHROUGH: Fully Configurable 1-9 Line Display System
Transform your statusline from a fixed layout to a completely personalized information dashboard! The revolutionary modular system gives you complete control over what information appears where.
๐ Key Modular Features:
๐ Example Layout Transformations:
Ultra-Minimal (2-line):
display.lines = 2 display.line1.components = ["repo_info", "model_info"] display.line2.components = ["cost_repo"]
Creative Reordering (6-line):
display.lines = 6 display.line1.components = ["mcp_status", "version_info"] # MCP first! display.line2.components = ["prayer_times", "time_display"] # Prayer times priority display.line3.components = ["repo_info", "model_info"] # Repository info display.line4.components = ["commits", "submodules"] # Atomic git stats display.line5.components = ["cost_repo", "cost_monthly", "cost_live"] # All costs together display.line6.components = ["reset_timer"] # Timer when active
๐ Default 5-Line Layout (Customizable):
Line 1: Repository & Environment (Components:
, repo_info
, commits
, submodules
, version_info
)time_display
~ notation
Line 2: Model & Cost Tracking (Components:
, model_info
, cost_repo
, cost_monthly
, cost_weekly
, cost_daily
)cost_live

Line 3: MCP Server Health (Component:
)mcp_status
Line 4: Block Reset Timer (Component:
)reset_timer
Line 5: Islamic Prayer Times (Component:
)prayer_times
Available Components:
repo_info - Directory path and git statuscommits - Commit count (atomic)submodules - Submodule status (atomic)version_info - Claude Code versiontime_display - Current timemodel_info - Claude model with emojicost_repo - Repository session costcost_monthly - 30-day costs (atomic)cost_weekly - 7-day costs (atomic)cost_daily - Daily costs (atomic)cost_live - Live block costmcp_status - MCP server healthreset_timer - Block reset countdownprayer_times - Islamic prayer timesConfiguration Examples:
# Compact 3-line layout display.lines = 3 display.line1.components = ["repo_info", "commits", "submodules"] display.line2.components = ["model_info", "cost_repo"] display.line3.components = ["mcp_status"] # Custom reordering - MCP first! display.line1.components = ["mcp_status", "version_info"] display.line2.components = ["prayer_times", "time_display"] display.line3.components = ["repo_info", "model_info"]
๐ฏ ZERO CONFIGURATION: Works automatically for 2+ billion Muslims worldwide!
Our breakthrough auto-detection system automatically determines your location and selects the correct Islamic prayer calculation method, covering 98% of the global Muslim population with no manual setup required.
๐ Tier 1: IP Geolocation (Online)
๐พ Tier 2: Cached Location (Offline)
๐ Tier 3: System Timezone Mapping (Offline)
๐ Tier 4: System Locale Fallback
๐ Automatic Support For:
๐ Regional Coverage:
# In your Config.toml file prayer.location_mode = "auto" # โญ RECOMMENDED: Comprehensive auto-detection prayer.location_mode = "ip_based" # Force IP geolocation only (requires internet) prayer.location_mode = "manual" # Use manual coordinates (disable auto-detection)
~/.cache/claude-code-statusline/prayer.location_mode = "manual" to completely disable IP-based detection# Indonesia User # Timezone: Asia/Jakarta โ Method: KEMENAG (20) โ Coordinates: Jakarta ๐ 12 Jumฤdรก al-ลซlรก 1453 โ Fajr 04:35 โ โ Dhuhr 11:53 (2h 18m) โ Asr 15:10 โ Maghrib 17:52 โ Isha 19:02 # USA User # Timezone: America/New_York โ Method: ISNA (2) โ Coordinates: New York ๐ 12 Jumฤdรก al-ลซlรก 1453 โ Fajr 05:42 โ โ Dhuhr 12:15 (3h 25m) โ Asr 15:28 โ Maghrib 18:05 โ Isha 19:35 # Saudi User # Timezone: Asia/Riyadh โ Method: Umm al-Qura (4) โ Coordinates: Riyadh ๐ 12 Jumฤdรก al-ลซlรก 1453 โ Fajr 04:18 โ โ Dhuhr 11:47 (1h 52m) โ Asr 15:02 โ Maghrib 17:41 โ Isha 19:11
๐ก The statusline works perfectly out-of-the-box for Muslims anywhere in the world - no configuration needed!
core.sh - Base utilities, module loading, and performance timingsecurity.sh - Input sanitization and secure file operationsconfig.sh - TOML configuration parsing and modular line managementthemes.sh - Color theme system with inheritance supportcomponents.sh - NEW Component registry and modular display systemgit.sh - Repository status, branch detection, and commit trackingmcp.sh - MCP server monitoring and health checkingcost.sh - Native cost tracking from JSONL filesprayer.sh - Islamic prayer times and Hijri calendar with AlAdhan API integrationdisplay.sh - Modular output formatting and 1-9 line statusline generationcache.sh - Universal intelligent caching system with enterprise-grade featureslib/components/ - NEW Individual component modules for flexible arrangementRevolutionary performance enhancement system that transforms statusline response times from seconds to milliseconds:
/tmp location to secure directoriescache.base_directory = "auto" # XDG-compliant auto-selection cache.enable_universal_caching = true # Master cache toggle cache.enable_statistics = true # Performance analytics cache.enable_corruption_detection = true # SHA-256 integrity validation cache.durations.command_exists = "session" # Session-wide command caching cache.durations.claude_version = 900 # 15 minutes for CLI version cache.durations.git_status = 10 # 10 seconds for git working directory cache.durations.mcp_server_list = 120 # 2 minutes for MCP connections cache.security.enable_checksums = true # SHA-256 integrity protection cache.security.validate_on_read = true # Real-time corruption detection cache.security.directory_permissions = "700" # Secure directory access cache.security.file_permissions = "600" # Owner-only file access
ENV_CONFIG_* variables for dynamic settingsThe statusline features a revolutionary universal caching system that optimizes ALL external operations - not just API calls. This comprehensive system achieves 70-90% reduction in external command execution while maintaining real-time responsiveness for all operations.
| Operation | Before | After | Reduction |
|---|---|---|---|
| Every execution | Session-wide cache | ๐ 100% |
| Every execution | Session-wide cache | ๐ 100% |
| Multiple calls per execution | Session-wide cache | ๐ 100% |
| Multiple calls per execution | Session-wide cache | ๐ 100% |
| Operation | Before | Cache Duration | Reduction |
|---|---|---|---|
| Every call | 30 seconds | ๐ 95%+ |
| Every call | 10 seconds | ๐ 90%+ |
| Every call | 5 seconds | ๐ 80%+ |
| Every call | 1 hour | ๐ 98%+ |
| Every call | 5 minutes | ๐ 95%+ |
| Command | Before | Cache Duration | Reduction |
|---|---|---|---|
| 1 hour | 15 minutes | ๐ 83% |
| 30 seconds | 2 minutes | ๐ 75% |
| 30 seconds | 1 hour | ๐ 98% |
| 30 seconds | 2 hours | ๐ 99% |
| Operation | Before | After | Reduction |
|---|---|---|---|
(OS Type) | Every call | Session-wide cache | ๐ 100% |
(Architecture) | Every call | Session-wide cache | ๐ 100% |
results | Every call | 5 seconds per directory | ๐ 80%+ |
The system intelligently detects when Claude Code starts for the first time and forces a complete refresh of ALL cached operations. Subsequent statusline calls use the optimized cache durations for maximum performance.
# First startup: Forces refresh of ALL operations [INFO] Universal cache module initialized [INFO] Cache instance ID: 1001 [INFO] First startup detected for cache instance 1001 [INFO] Force refresh triggered for cache: cmd_exists_git [INFO] Force refresh triggered for cache: git_is_repo [INFO] Force refresh triggered for cache: claude_version # Subsequent calls: Smart caching across all operations [INFO] Using cached result: cmd_exists_git # Session-wide cache [INFO] Using cached result: git_branch_main # 10-second cache [INFO] Using cached result: claude_mcp_list # 2-minute cache [INFO] Using cached result: external_claude_version # 6-hour cache
Revolutionary Results:
Before vs After:
# Before: Every statusline call โ command -v git # Expensive PATH lookup โ command -v claude # Expensive PATH lookup โ command -v jq # Expensive PATH lookup โ git rev-parse --is-inside-work-tree # File system check โ git branch # Git command execution โ claude --version # External command โ claude mcp list # Network-dependent command # After: Intelligent caching โ Cached results used for 70-90% of operations โ Only refresh when actually needed โ Multi-instance safe with no race conditions
When running multiple Claude Code instances simultaneously, the system prevents race conditions with:
๐ท๏ธ Instance-Specific Markers: Each Claude Code instance gets its own session marker
CLAUDE_INSTANCE_ID=DEV_001 โ /tmp/.claude_statusline_session_DEV_001CLAUDE_INSTANCE_ID=PROD_002 โ /tmp/.claude_statusline_session_PROD_002๐ Enhanced Locking: Cache files protected with:
All cache files are stored in
/tmp/.claude_statusline_cache/ with automatic cleanup:
# Universal cache directory structure /tmp/.claude_statusline_cache/ โโโ cmd_exists_git_12345.cache # Command existence (session-wide) โโโ cmd_exists_claude_12345.cache # Command existence (session-wide) โโโ git_is_repo_path_hash_12345.cache # Git repository check (30s cache) โโโ git_branch_repo_hash_12345.cache # Git branch name (10s cache) โโโ git_status_repo_hash_12345.cache # Git status (5s cache) โโโ external_claude_version_12345.cache # Claude version (6h cache) โโโ external_claude_mcp_list_12345.cache # MCP server list (2m cache) โโโ system_os_shared.cache # OS type (permanent) โโโ system_arch_shared.cache # Architecture (permanent) โโโ ccusage_*.cache # Cost tracking data
Intelligent Organization:
Cache File Types:
Environment Variables:
# Control cache instance ID CACHE_INSTANCE_ID=MY_DEV_SESSION ./statusline.sh # Debug comprehensive caching behavior STATUSLINE_DEBUG_MODE=true ./statusline.sh # Monitor cache performance ./statusline.sh --cache-stats # View cache statistics
Cache Management Commands:
# Clear all cache files rm -rf /tmp/.claude_statusline_cache/ # View cache files created ls -la /tmp/.claude_statusline_cache/*.cache # Monitor cache efficiency STATUSLINE_DEBUG_MODE=true ./statusline.sh 2>&1 | grep "Using cached"
The ultra-comprehensive caching system transforms statusline performance:
This system automatically adapts to your usage patterns while maintaining the responsiveness you expect from a real-time statusline.
The caching system automatically adapts to your usage patterns while maintaining the responsiveness you expect from a real-time statusline.
Transform your terminal aesthetic with our carefully crafted theme collection. Each theme is optimized for readability and visual appeal across different terminal environments.
Rich, warm colors inspired by the beloved Catppuccin palette. Perfect for dark mode enthusiasts.

TOML Configuration (Recommended):
# In your Config.toml file theme.name = "catppuccin"
Environment Override:
# Temporary theme change ENV_CONFIG_THEME=catppuccin ~/.claude/statusline.sh
CLI Generation:
# Generate Config.toml with catppuccin theme ~/.claude/statusline.sh --generate-config # Then edit ~/.claude/statusline/Config.toml to set theme.name = "catppuccin"
Soft, pastel colors that create a gentle and soothing terminal environment. Ideal for extended coding sessions.

TOML Configuration (Recommended):
# In your Config.toml file theme.name = "garden"
Environment Override:
# Temporary theme change ENV_CONFIG_THEME=garden ~/.claude/statusline.sh
Traditional terminal colors with modern polish. ANSI-compatible and universally readable.

TOML Configuration (Recommended):
# In your Config.toml file theme.name = "classic"
Environment Override:
# Temporary theme change ENV_CONFIG_THEME=classic ~/.claude/statusline.sh
Complete creative control with full RGB/256-color/ANSI color customization capabilities.
TOML Configuration (Recommended):
# In your Config.toml file theme.name = "custom" # Define your custom color palette colors.basic.red = "\\033[38;2;255;182;193m" # Soft pink colors.basic.blue = "\\033[38;2;173;216;230m" # Light blue colors.basic.green = "\\033[38;2;144;238;144m" # Light green colors.basic.yellow = "\\033[38;2;255;165;0m" # Orange colors.basic.magenta = "\\033[38;2;221;160;221m" # Plum colors.basic.cyan = "\\033[38;2;175;238;238m" # Pale turquoise colors.extended.orange = "\\033[38;2;255;140;0m" colors.extended.light_gray = "\\033[38;2;211;211;211m" colors.extended.purple = "\\033[38;2;147;112;219m"
Advanced Custom Configuration:
# Generate base config then customize ~/.claude/statusline.sh --generate-config MyTheme.toml # Edit MyTheme.toml with your custom colors ~/.claude/statusline.sh --test-config MyTheme.toml

Clean repository with detailed branch and status information.
For users who want additional installation options, development features, or specific configuration control.
Choose your platform and install the required dependencies:
# Install dependencies via Homebrew brew install jq coreutils # Cost tracking is 100% native - no external tools needed
# Install required dependencies sudo apt update && sudo apt install jq # Cost tracking is 100% native - no external tools needed
# Install required dependencies sudo apt update && sudo apt install jq # Cost tracking is 100% native - no external tools needed
Our breakthrough v2.9.0 installer eliminates GitHub rate limits forever with intelligent 3-tier architecture and provides 100% download guarantee:
# ๐ฆ PRODUCTION (Recommended for Most Users) curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh | bash # ๐ ๏ธ DEVELOPMENT (Stable Development Features) curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/dev/install.sh | bash -s -- --branch=dev # ๐ DEV6 (Current Development - Settings.json Enhancement) curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/dev6/install.sh | bash -s -- --branch=dev6 curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/dev6/install.sh | bash -s -- --branch=dev6 --preserve-statusline # ๐ NIGHTLY (โ ๏ธ Experimental - Advanced Users Only) curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/nightly/install.sh | bash -s -- --branch=nightly
๐ Branch Descriptions:
--preserve-statusline optionโ ๏ธ Nightly Warning: Use only if you want access to experimental features before they become stable. Perfect for contributors and power users who want to help test upcoming improvements.
# Enhanced dependency analysis curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh | bash -s -- --check-all-deps # Interactive installation menu curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh | bash -s -- --interactive # Full analysis with user menu curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh | bash -s -- --check-all-deps --interactive # Skip settings.json configuration (dev6 feature) curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/dev6/install.sh | bash -s -- --branch=dev6 --preserve-statusline
# Add the tap and install brew tap rz1989s/tap brew install claude-code-statusline # Verify installation claude-statusline --help
Note: The curl installer is still recommended for full automatic setup. Homebrew provides the formula but requires manual settings.json configuration.
๐ฏ 3-Tier Architecture (v2.9.0):
๐ก๏ธ 100% Download Guarantee:
โก Smart System Detection:
๐ Comprehensive Dependency Analysis:
curl + jq โ Core installation and configurationbc โ Precise cost calculationspython3 โ Advanced TOML features and date parsingtimeout/gtimeout โ Network operation protectionUser-Friendly Options:
No Package Manager? No Problem:
Quick Download & Inspect:
# Download and inspect before running curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh -o install.sh chmod +x install.sh # See all available options ./install.sh --help # Run with your preferred mode ./install.sh --check-all-deps --interactive
Perfect for dotfiles management with GNU Stow:
# Place in your dotfiles structure mkdir -p ~/.dotfiles/claude/.claude/ mkdir -p ~/.dotfiles/claude/.claude/lib/ # Download main script and all modules curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/statusline.sh -o ~/.dotfiles/claude/.claude/statusline.sh chmod +x ~/.dotfiles/claude/.claude/statusline.sh curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/core.sh -o ~/.dotfiles/claude/.claude/lib/core.sh curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/security.sh -o ~/.dotfiles/claude/.claude/lib/security.sh curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/config.sh -o ~/.dotfiles/claude/.claude/lib/config.sh curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/themes.sh -o ~/.dotfiles/claude/.claude/lib/themes.sh curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/git.sh -o ~/.dotfiles/claude/.claude/lib/git.sh curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/mcp.sh -o ~/.dotfiles/claude/.claude/lib/mcp.sh curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/cost.sh -o ~/.dotfiles/claude/.claude/lib/cost.sh curl -fsSL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/display.sh -o ~/.dotfiles/claude/.claude/lib/display.sh # Deploy with Stow cd ~/.dotfiles && stow claude # Configure Claude Code (manual JSON editing) # Add to ~/.claude/settings.json: # "statusLine": {"type": "command", "command": "bash ~/.claude/statusline.sh"}
# Create Claude directory if it doesn't exist mkdir -p ~/.claude/ # Download the main orchestrator script curl -L https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/statusline.sh -o ~/.claude/statusline.sh chmod +x ~/.claude/statusline.sh # Create lib directory and download all modules mkdir -p ~/.claude/lib/ curl -L https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/core.sh -o ~/.claude/lib/core.sh curl -L https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/security.sh -o ~/.claude/lib/security.sh curl -L https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/config.sh -o ~/.claude/lib/config.sh curl -L https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/themes.sh -o ~/.claude/lib/themes.sh curl -L https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/git.sh -o ~/.claude/lib/git.sh curl -L https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/mcp.sh -o ~/.claude/lib/mcp.sh curl -L https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/cost.sh -o ~/.claude/lib/cost.sh curl -L https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/lib/display.sh -o ~/.claude/lib/display.sh # Configure Claude Code (manual JSON editing) # Add to ~/.claude/settings.json: # "statusLine": {"type": "command", "command": "bash ~/.claude/statusline.sh"}
๐ก Why use the Enhanced Installer?
- Smart dependency analysis - Know exactly what features you'll get
- Platform-aware guidance - Tailored commands for your system
- Zero manual JSON editing - Automatic settings.json configuration
- User choice - Install now or install dependencies first
- Backward compatible - Existing workflow unchanged
Test your installation:
# Check if the statusline script and lib directory are present ls -la ~/.claude/statusline.sh ~/.claude/lib/ # Verify Claude Code configuration (check settings.json) cat ~/.claude/settings.json | jq '.statusLine' # Test the statusline directly ~/.claude/statusline.sh --help
Skip this step if you want to use defaults - the statusline works immediately with beautiful built-in themes!
# Navigate to your preferred location cd ~/ # or any project directory # Generate Config.toml with current settings ~/.claude/statusline.sh --generate-config # Customize your configuration vim ~/.claude/statusline/Config.toml # Test your new configuration ~/.claude/statusline.sh --test-config
# Change theme temporarily (no file needed) ENV_CONFIG_THEME=garden ~/.claude/statusline.sh # Or create a simple config file cat > ~/.claude/statusline/Config.toml << 'EOF' theme.name = "catppuccin" features.show_commits = true features.show_cost_tracking = true EOF # Test your theme ~/.claude/statusline.sh --test-config
Edit your comprehensive Config.toml directly - ALL settings included:
# Open your comprehensive configuration file (227 settings pre-filled!) nano ~/.claude/statusline/Config.toml # OR use your preferred editor code ~/.claude/statusline/Config.toml vim ~/.claude/statusline/Config.toml # Edit any settings you want: # - Change display.lines = 5 to any number 1-9 # - Edit display.line1.components array # - Modify theme.name = "catppuccin" to "garden" or "classic" # - Update any of the 227 settings! # Test your configuration instantly ~/.claude/statusline.sh
Quick Component Arrangement Testing:
# Test different line counts instantly ENV_CONFIG_DISPLAY_LINES=2 ~/.claude/statusline.sh # Minimal 2-line ENV_CONFIG_DISPLAY_LINES=5 ~/.claude/statusline.sh # Standard 5-line ENV_CONFIG_DISPLAY_LINES=7 ~/.claude/statusline.sh # Comprehensive 7-line # Custom component arrangement on-the-fly ENV_CONFIG_LINE1_COMPONENTS="mcp_status,prayer_times" \ ENV_CONFIG_LINE2_COMPONENTS="repo_info,model_info" \ ~/.claude/statusline.sh
Your configuration is stored in a single, consistent location:
~/.claude/statusline/Config.toml - Your configuration file (automatically created during installation)๐ก Pro Tip: Start with
to create your base configuration, then customize from there!~/.claude/statusline.sh --generate-config
Start a new Claude Code session to see your enhanced statusline in action! Your configuration will be automatically detected and applied.
Edit your ONE comprehensive Config.toml file to create any layout you want! No more confusion from 13 different example files. Bismillah!
Revolutionary Single Source System - All 227 settings in ONE place:
# Open your comprehensive configuration file (ALL settings included!) nano ~/.claude/statusline/Config.toml # OR use your favorite editor code ~/.claude/statusline/Config.toml vim ~/.claude/statusline/Config.toml
# Ultra-Minimal (1-line) - Just the essentials ENV_CONFIG_DISPLAY_LINES=1 \ ENV_CONFIG_LINE1_COMPONENTS="repo_info,model_info" ./statusline.sh # Essential Compact (3-line) - Clean and focused ENV_CONFIG_DISPLAY_LINES=3 \ ENV_CONFIG_LINE1_COMPONENTS="repo_info,commits,version_info" \ ENV_CONFIG_LINE2_COMPONENTS="model_info,cost_repo,cost_live" \ ENV_CONFIG_LINE3_COMPONENTS="mcp_status" ./statusline.sh # Standard Familiar (5-line) - Default comprehensive layout ENV_CONFIG_DISPLAY_LINES=5 \ ENV_CONFIG_LINE1_COMPONENTS="repo_info,commits,submodules,version_info,time_display" \ ENV_CONFIG_LINE2_COMPONENTS="model_info,cost_repo,cost_monthly,cost_live" \ ENV_CONFIG_LINE3_COMPONENTS="mcp_status" \ ENV_CONFIG_LINE4_COMPONENTS="reset_timer" \ ENV_CONFIG_LINE5_COMPONENTS="prayer_times" ./statusline.sh # Atomic Components (separate git data) ENV_CONFIG_LINE1_COMPONENTS="repo_info,commits,submodules,version_info" \ ENV_CONFIG_LINE2_COMPONENTS="model_info,cost_monthly,cost_weekly,cost_daily" ./statusline.sh
ENV_CONFIG_THEME=garden ./statusline.sh# Demonstrates flexible component reordering and custom arrangements cp ~/.claude/statusline/examples/Config.modular-custom.toml ~/.claude/statusline/Config.toml
# Test any modular example without copying ./statusline.sh --config examples/Config.modular-compact.toml # Compare different layouts instantly ./statusline.sh --config examples/Config.modular-minimal.toml ./statusline.sh --config examples/Config.modular-comprehensive.toml # Use environment variables for instant testing ENV_CONFIG_DISPLAY_LINES=3 \ ENV_CONFIG_LINE1_COMPONENTS="repo_info,git_stats" \ ENV_CONFIG_LINE2_COMPONENTS="model_info,cost_repo" \ ENV_CONFIG_LINE3_COMPONENTS="mcp_status" \ ./statusline.sh
Traditional configuration files for specific use cases:
# Base configuration template cp examples/Config.base.toml Config.toml # Advanced features showcase cp examples/Config.advanced.toml Config.toml # Islamic prayer times focused cp examples/Config.prayer.toml Config.toml # Professional work environment (in sample-configs/) cp examples/sample-configs/work-profile.toml Config.toml # Personal projects setup (in sample-configs/) cp examples/sample-configs/personal-profile.toml Config.toml # Power developer setup (in sample-configs/) cp examples/sample-configs/developer-config.toml Config.toml # Performance-optimized minimal setup (in sample-configs/) cp examples/sample-configs/minimal-config.toml Config.toml
๐ก Pro Tip: Start with a modular example closest to your needs, then customize the
arrays to create your perfect layout!display.lineN.components
Transform your statusline with the revolutionary single source configuration system. ONE comprehensive Config.toml file with all 227 settings - no more hunting for parameter names!
# 1. Install (creates comprehensive Config.toml automatically) curl -sSfL https://raw.githubusercontent.com/rz1989s/claude-code-statusline/main/install.sh | bash # 2. Edit your comprehensive Config.toml (ALL 227 settings included!) nano ~/.claude/statusline/Config.toml # 3. Start using your enhanced statusline! ~/.claude/statusline.sh
The statusline now uses a streamlined single source approach:
ENV_CONFIG_*) - Temporary overrides for testing~/.claude/statusline/Config.toml - Your comprehensive configuration file (227 settings)๐ฏ No More Configuration Hunting!
# === THEME CONFIGURATION === theme.name = "catppuccin" # Options: classic, garden, catppuccin, custom # === MODULAR DISPLAY CONFIGURATION === display.lines = 5 # Number of lines (1-9) display.line1.components = ["repo_info", "commits", "submodules", "version_info", "time_display"] display.line1.separator = " โ " display.line1.show_when_empty = true # === FEATURE TOGGLES === features.show_commits = true features.show_version = true features.show_mcp_status = true features.show_cost_tracking = true # === DISPLAY LABELS === labels.commits = "Commits:" labels.repo = "REPO" labels.monthly = "30DAY" labels.weekly = "7DAY" # === TIMEOUTS & PERFORMANCE === # Enhanced validation with contextual bounds checking (v1.2+) timeouts.mcp = "10s" # 1s-60s recommended, optimal: 3s-15s timeouts.version = "2s" # 1s-10s recommended, optimal: 1s-3s timeouts.ccusage = "8s" # 1s-30s recommended, optimal: 3s-10s # === CUSTOMIZATION === emojis.opus = "๐ง " emojis.haiku = "โก" emojis.sonnet = "๐ต" emojis.clean_status = "โ " labels.commits = "Commits:" labels.repo = "REPO" labels.mcp = "MCP"
# === CUSTOM THEME COLORS === theme.name = "custom" colors.basic.red = "\\033[31m" colors.basic.blue = "\\033[34m" colors.basic.green = "\\033[32m" colors.basic.yellow = "\\033[33m" colors.extended.orange = "\\033[38;5;208m" colors.extended.light_gray = "\\033[38;5;248m" colors.extended.purple = "\\033[95m" colors.extended.teal = "\\033[38;5;73m"
# === CONFIGURATION GENERATION === ~/.claude/statusline.sh --generate-config # Create Config.toml from current settings ~/.claude/statusline.sh --generate-config MyTheme.toml # Generate custom config file # === TESTING & VALIDATION === ~/.claude/statusline.sh --test-config # Test current configuration ~/.claude/statusline.sh --test-config MyTheme.toml # Test specific config file ~/.claude/statusline.sh --test-config-verbose # Detailed testing output ~/.claude/statusline.sh --validate-config # Validate configuration with enhanced timeout bounds checking # === COMPARISON & ANALYSIS === ~/.claude/statusline.sh --compare-config # Compare inline vs TOML settings
# === LIVE CONFIGURATION RELOAD === ~/.claude/statusline.sh --reload-config # Reload configuration now ~/.claude/statusline.sh --reload-interactive # Interactive config management menu ~/.claude/statusline.sh --watch-config 3 # Watch for changes every 3 seconds # === MIGRATION & BACKUP === ~/.claude/statusline.sh --backup-config backup-dir/ # Backup current configuration ~/.claude/statusline.sh --restore-config backup-dir/ # Restore from backup
# === HELP SYSTEM === ~/.claude/statusline.sh --help # Complete help documentation with timeout guidance ~/.claude/statusline.sh --help config # Configuration-specific help # === ADDITIONAL COMMANDS === ~/.claude/statusline.sh # Run statusline with current configuration
๐ก Pro Tip: Use environment overrides for temporary configuration changes without modifying your Config.toml file.
Temporarily override any TOML setting with environment variables:
# === TEMPORARY THEME CHANGES === ENV_CONFIG_THEME=garden ~/.claude/statusline.sh # Use garden theme once ENV_CONFIG_THEME=classic ~/.claude/statusline.sh # Use classic theme once # === FEATURE OVERRIDES === ENV_CONFIG_SHOW_MCP_STATUS=false ~/.claude/statusline.sh # Disable MCP status ENV_CONFIG_MCP_TIMEOUT=15s ~/.claude/statusline.sh # Increase MCP timeout (validated: 1s-60s) # === PERFECT FOR CI/CD & AUTOMATION === ENV_CONFIG_SHOW_COST_TRACKING=false \ ENV_CONFIG_SHOW_RESET_INFO=false \ ENV_CONFIG_THEME=classic \ ~/.claude/statusline.sh
# Use the actual modular-minimal example cp ~/.claude/statusline/examples/Config.modular-minimal.toml ~/.claude/statusline/Config.toml
Key Features from
:Config.modular-minimal.toml
# Ultra-minimal 2-line layout display.lines = 2 # Line 1: Repository and Model Only display.line1.components = ["repo_info", "model_info"] # Line 2: Session Cost Only display.line2.components = ["cost_repo"] # Only essentials enabled components.repo_info.enabled = true components.model_info.enabled = true components.cost_repo.enabled = true
# Use the actual comprehensive example cp ~/.claude/statusline/examples/Config.modular-comprehensive.toml ~/.claude/statusline/Config.toml
Key Features from
:Config.modular-comprehensive.toml
# Comprehensive 7-line layout display.lines = 7 # Line 1: Islamic Prayer Times (Priority Display) display.line1.components = ["prayer_times"] # Lines 2-7: Strategic component arrangement display.line2.components = ["repo_info", "commits", "submodules"] display.line3.components = ["model_info", "version_info", "time_display"] display.line4.components = ["cost_repo", "cost_live"] display.line5.components = ["cost_monthly", "cost_weekly", "cost_daily"] display.line6.components = ["mcp_status"] display.line7.components = ["reset_timer"]
# Use the advanced features example cp examples/Config.advanced.toml Config.toml # Or use a sample-configs developer setup cp examples/sample-configs/developer-config.toml Config.toml
Traditional feature-based configuration:
# Developer Config.toml with all features theme.name = "catppuccin" features.show_commits = true features.show_version = true features.show_mcp_status = true features.show_cost_tracking = true features.show_reset_info = true timeouts.mcp = "10s" # Enhanced validation: 1s-60s range timeouts.version = "2s" # Enhanced validation: 1s-10s range timeouts.ccusage = "8s" # Enhanced validation: 1s-30s range labels.commits = "Today's Commits:" labels.mcp = "MCP Servers" labels.repo = "Repository Cost"
# Use the minimal performance-focused setup cp examples/sample-configs/minimal-config.toml Config.toml
Ultra-fast configuration for CI/CD and performance-critical environments:
# Minimal Config.toml for maximum speed theme.name = "classic" # Maximum terminal compatibility features.show_commits = true # Only essential commit tracking features.show_version = false # Disable network calls for speed features.show_mcp_status = false features.show_cost_tracking = false timeouts.mcp = "1s" # Ultra-fast timeouts timeouts.version = "1s" timeouts.ccusage = "1s" labels.commits = "C:" # Minimal labels for speed labels.repo = "R" labels.monthly = "M" cache.version_duration = 7200 # Extended 2-hour caching for performance
# Work environment - Professional setup cp examples/sample-configs/work-profile.toml Config.toml # Personal projects - Relaxed setup cp examples/sample-configs/personal-profile.toml Config.toml # Power developer - Maximum information display cp examples/sample-configs/developer-config.toml Config.toml # Performance focus - Ultra-fast execution cp examples/sample-configs/minimal-config.toml Config.toml # Prayer-focused configuration cp examples/Config.prayer.toml Config.toml
๐ก Note: Profile-based automatic switching is planned for a future release. Currently, use different config files for different contexts.
Your existing inline configuration continues to work unchanged! When you're ready:
# 1. Generate TOML from your current inline settings ~/.claude/statusline.sh --generate-config # 2. Compare to see the differences ~/.claude/statusline.sh --compare-config # 3. Test the new TOML configuration ~/.claude/statusline.sh --test-config # 4. Your inline config becomes the fallback # TOML configuration takes precedence automatically
โก Pro Tip: Start with
to create your base Config.toml, then customize from there! Changes are validated automatically.~/.claude/statusline.sh --generate-config
Understand every element of your enhanced statusline with this detailed breakdown:
~/local-dev (main) โ โ Commits:0 โ ver2.1.45 โ SUB:โ โ ๐ 08:22
~ notationโ when none)๐ต Sonnet 4 โ REPO $3.87 โ 30DAY $108.81 โ 7DAY $66.48 โ DAY $9.35 โ ๐ฅ LIVE $6.74
Powered by native JSONL calculation for accurate cost monitoring
MCP (3/4): upstash-context-7-mcp, supabase-mcp-server, firecrawl-mcp, sqlscan-mcp
RESET at 11.00 (2h 37m left) # Normal countdown RESET at 06.00 (waiting API response...) # API calculating projection (Hidden when no active block) # No active billing block
(4h 15m left) when projection data available(waiting API response...) during calculation delays๐ฏ 100% Cross-Platform Compatibility: Extensively tested across all major platforms with automatic detection and adaptation.
๐ โ See Complete Platform Matrix (PLATFORMS.md) - Detailed compatibility information, installation guides, and troubleshooting for each platform.
| Platform | Version | Status | Package Manager | GPS Support |
|---|---|---|---|---|
| ๐ macOS | 12+ (Monterey) | โ Full Support | | โ CoreLocationCLI |
| ๐ง Ubuntu | 20.04+ LTS | โ Full Support | | โ geoclue2 |
| ๐ง Debian | 11+ (Bullseye) | โ Full Support | | โ geoclue2 |
| ๐๏ธ Arch Linux | Rolling | โ Full Support | | โ geoclue2 |
| ๐ฉ Fedora | 36+ | โ Full Support | | โ geoclue2 |
| ๐ข RHEL/CentOS | 8+ | โ Full Support | / | โ geoclue2 |
| ๐๏ธ Alpine | 3.16+ | โ Full Support | | โ ๏ธ Limited |
| ๐บ FreeBSD | 13+ | โ ๏ธ Partial | | โ None |
| ๐ช Windows WSL | โ Full Support | | - | |
| ๐ช Windows Native | โ Not Supported | N/A | Bash incompatible |
jq - JSON processing and data parsing
brew install jqsudo apt install jq or sudo yum install jqbash - Shell execution environment (v3.2+ with automatic upgrade to modern bash)git - Version control integrationgrep, sed, date - Text processing and utilitiestimeout / gtimeout - Command timeout management๐ Revolutionary Bash Compatibility:
~/.claude/projects/brew install coreutilsgtimeout and other GNU-style commandsbrew install corelocationclisudo apt install geoclue-2.0-dev or sudo yum install geoclue2-devel| Tool | Minimum Version | Recommended | Notes |
|---|---|---|---|
| Bash | 3.2+ | 5.0+ | Universal compatibility - auto-detects modern bash |
| jq | 1.5+ | 1.6+ | JSON processing performance |
| Git | 2.0+ | 2.30+ | Modern git features |
| Node.js | - | - | Not required (100% native) |
๐ฏ Bash Compatibility Revolution:
Verify your system is ready:
# Check core requirements bash --version && echo "โ Bash OK" || echo "โ Bash missing" jq --version && echo "โ jq OK" || echo "โ jq missing" git --version && echo "โ Git OK" || echo "โ Git missing" # Cost tracking is 100% native - no external tools needed # Check GPS location tools CoreLocationCLI --version && echo "โ CoreLocationCLI OK" || echo "โ ๏ธ CoreLocationCLI missing (macOS: brew install corelocationcli)" whereis geoclue-2.0 && echo "โ geoclue2 OK" || echo "โ ๏ธ geoclue2 missing (Linux: sudo apt install geoclue-2.0-dev)"
We welcome contributions from the community! ๐
Whether you're interested in:
Please see our comprehensive CONTRIBUTING.md for detailed guidelines on:
# Fork and clone the repository git clone https://github.com/YOUR-USERNAME/claude-code-statusline.git cd claude-code-statusline # Install dependencies and verify setup npm install npm test # Check our development roadmap cat TODOS.md
Jazakallahu khairan for helping make this project better for the Claude Code community! ๐
For consistent development and testing across platforms:
# Build and run tests (Alpine - fast) docker compose run test # Run tests on Ubuntu (CI parity) docker compose run test-ubuntu # Development shell with mounted source docker compose run dev # Run linting docker compose run lint
Available Docker services:
| Service | Description |
|---|---|
| Interactive bash shell with source mounted |
| Run unit tests on Alpine |
| Run unit tests on Ubuntu (matches CI) |
| Run all tests (unit + integration) |
| Run shellcheck on main scripts |
| Run shellcheck on all lib files |
Build images manually:
# Alpine (default, ~50MB) docker build -t claude-statusline . # Ubuntu (CI parity, ~150MB) docker build -f Dockerfile.ubuntu -t claude-statusline:ubuntu .
This project is licensed under the MIT License - see the LICENSE file for details.
Special thanks to the amazing projects and communities that make this statusline possible:
Love this project? Give it a star! โญ
๐ Report Bug โข ๐ก Request Feature โข ๐ Documentation โข ๐ฌ Discussions
Made with โค๏ธ for the Claude Code community