A Stream Deck plugin for git worktree dashboards. See all your worktrees at a glance, track task status, and jump between projects without leaving your desk.
Built for the Elgato Stream Deck MK.2 (15-button, no encoders).
When you're working in Ghostty (or any terminal), treehouse detects the active git repo and populates your Stream Deck with:
- Repo index button (top-left) showing the repo-level worktree overview
- One button per worktree with live status: active, parked, or untracked
- Visual indicators for task tracker presence, branch name, and current focus
- One-press navigation to open task tracker dashboards or the worktree index in Chrome
Ghostty (terminal)
|
| AppleScript: get working directory
v
treehouse plugin (Node.js/TypeScript)
|
| Read .claude/tmp/task-tracker.json (sidecar)
| Read git worktree list
v
Stream Deck buttons
|
| Button press
v
Open task-tracker.html or worktree-index.html in Chrome
- Detect — poll for focused Ghostty terminal, get its cwd via AppleScript
- Discover — run
git worktree listto enumerate all worktrees in the repo - Read — check each worktree for
.claude/tmp/task-tracker.jsonsidecar files - Render — update Stream Deck button labels, colors, and icons from sidecar state
- Act — on button press, open the corresponding dashboard in Chrome
treehouse reads the task-tracker.json sidecar written by the
task-tracker Claude Code skill:
{
"project": "feature-name",
"branch": "feat/something",
"state": "active",
"current_focus": "Building the thing",
"next_step": "Write tests",
"commits_ahead": 3,
"has_handoff": false
}- Runtime: Node.js 24+ (Stream Deck SDK requirement)
- Language: TypeScript
- SDK: @elgato/streamdeck
- macOS integration: AppleScript (Ghostty terminal queries, window management)
Early development. Not yet functional.
- Split-screen action: open terminal on left + task tracker in Chrome on right
- Auto-switch Stream Deck profile when Ghostty gains/loses focus
- Button status colors matching the worktree-index theme (green/gray/orange)
- Live commit-ahead count on each button
- Integration with other terminals beyond Ghostty
MIT