Skip to content

enpit/Irrlicht

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

750 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

✦ Irrlicht β€” Menu-Bar Lights for AI Coding Agents (macOS)

UI Features

Coverage License Version ARS

🌐 Landing Page Β· πŸ“– Documentation Β· πŸ“¦ Latest Release

🟣 working Β· 🟠 waiting Β· 🟒 ready β€” one ambient dot per session, multi-agent, no hooks.

Install

Homebrew (recommended):

brew tap ingo-eichhorst/irrlicht
brew install --cask irrlicht

curl:

curl -fsSL https://irrlicht.io/install.sh | sh

DMG: download Irrlicht-<version>.dmg from Releases and drag Irrlicht.app to Applications.

β†’ Quickstart gets you to your first purple dot in 60 seconds.

What it does

  • Three-state menu-bar dot per session β€” 🟣 working, 🟠 waiting, 🟒 ready
  • Context-pressure gauge β€” 🟒 β†’ 🟑 β†’ πŸ”΄ β†’ ⚠️ before the auto-compact cliff, so you can /compact while quality is still intact
  • Live per-session cost in USD β€” model-aware via LiteLLM pricing
  • Subagent trees β€” parent ↔ Explore / Plan / background agents, not just the parent
  • Git-aware grouping β€” sessions clustered by project, branch, worktree
  • Real-time β€” <1s latency via FSEvents/kqueue; no polling

Supported agents

Stages: stable production-ready Β· beta feature-complete, edge cases remain Β· alpha core detection works, rough edges Β· planned on the roadmap.

Coding agents

Agent Stage
Claude Code beta
OpenAI Codex alpha
Pi alpha
Aider alpha
OpenCode alpha
Gemini CLI planned
Cursor Agent planned
Amp planned

Orchestrators

Orchestrator Stage
Gas Town alpha
Claude Squad planned
Custom (plugin API) planned

Platforms

Platform Stage Access
macOS (menu bar app) beta Releases
Web dashboard beta http://127.0.0.1:7837
CLI alpha irrlicht-ls (-w for watch)
VS Code extension planned tracked in #350
Linux planned β€”
Windows planned β€”

β†’ Adapters reference for stage criteria, watch paths, model detection, and roadmap.

Posture

Local-first Β· no telemetry Β· MIT Β· ~5 MB RAM Β· signed Homebrew cask Β· transcripts read-only.

Why Irrlicht (vs. the rest)

Irrlicht is ambient (menu bar, not a window), multi-agent (Claude / Codex / Pi / Aider / OpenCode / Gas Town in one vocabulary), and transcript-driven β€” no SDK wrappers, no OpenTelemetry collectors, no dashboard tab to keep open.

The problem (why this exists)

In Goethe's Faust, an Irrlicht guides the way through the night. This one guides you through your agents β€” who's working, who's waiting, and where you're needed next.

Six concrete pains, every one documented:

  • You don't know which session needs you. Claude Code's desktop notifications don't fire inside tmux β€” the most common multi-session setup.
  • Parallel sessions shred your attention. "The mental gymnastics of context switching wears me out and makes me wonder how well I'm steering each session" (dev.to).
  • Context compaction silently wrecks quality. Auto-compact fires at ~80% of the window, but the model degrades 20–30% before that (MindStudio; GitHub issue with hundreds of reactions).
  • Cost runs away in the dark. A recent prompt-caching bug silently inflated token usage 10–20Γ— for weeks (The Register) β€” visible only on the invoice.
  • Subagents are a black box. Spawn three Explore agents and a background task; you see the parent, not each child.
  • Quota makes you agent-hop β€” and monitoring doesn't follow. Burn Claude Code by 11am, fall back to Codex or Gemini; each agent has its own vocabulary for "working", "waiting", and "done".

(Irrlicht is German for will-o'-the-wisp β€” a light that guides you through the dark.)

How it works

Transcript files β†’ FSEvents/kqueue β†’ state machine β†’ menu bar

Irrlicht reads the .jsonl transcripts your agents already write, persists each session as atomic JSON under ~/Library/Application Support/Irrlicht/instances/, and renders dots in a SwiftUI menu-bar app over a local WebSocket. The app ships as a single .app bundle with the daemon embedded β€” no separate services, no version drift.

β†’ Architecture for the hexagonal pipeline and state-machine rules.

For coding agents

Irrlicht is agent-verifiable by design β€” every session lives as atomic JSON at a known path, so any tool (including the coding agents themselves) can read live state and verify its own work.

  • State files: ~/Library/Application Support/Irrlicht/instances/*.json
  • Conventions and test gate: AGENTS.md

Next steps

Documentation Β· Installation Β· Changelog Β· Issues Β· Discussions

Star History

Star History Chart

License

MIT License β€” see LICENSE.

About

Claude Code session lights in your macOS menu bar β€” 🟣 🟠 🟒 ✦

Resources

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Go 51.5%
  • HTML 18.6%
  • Swift 11.2%
  • Shell 9.7%
  • JavaScript 7.1%
  • CSS 1.5%
  • Other 0.4%