enjambre
Live usableI spread Claude Code jobs across my PC and a Mac mini; each one returns as a branch I review, with a live dashboard of the machines.
Agentic coding spread across hardware I own: a Windows PC orchestrates and a Mac mini runs Claude Code jobs headless, each in its own git worktree. Every job comes back as a reviewable branch and one line in an append-only ledger, and a local visor shows nodes, jobs and telemetry.
Technology
- AI & agents
- Automation
- Infrastructure
Sector
- Dev tools
Problem
I have a PC and a Mac mini that are idle most of the time, and unattended coding agents tend to run with too many permissions or leave nothing reviewable behind. I wanted to spread work across both with minimal permissions and a result I can audit.
Approach
A Windows PC orchestrates and an Apple Silicon Mac mini runs the Claude Code jobs headless. The PC
validates a task contract, picks the machine from a table (routing.toml) plus live state, and
sends the job over SSH. The node creates a worktree on its own branch, runs the agent inside tmux
and leaves a result.json. The PC fetches the branch, scans it for secrets and pushes it; the
jobs.jsonl ledger records node, branch, times, exit code and usage.
The visor is a local dashboard that reads each node’s telemetry (CPU, memory pressure, swap, temperature, network, processes) and the job ledger. Its demo mode runs the same code over a synthetic swarm, so it can be shown without exposing any real machine.
Limits: Mac and Windows only today; unattended jobs need the macOS keychain unlocked after a reboot; exit codes do not check the done criteria, so reviewing the branch is still a human step. Code under MIT; the visor’s fonts under SIL OFL 1.1.
Result
- automated tests passing
- 405
- public copy suite, Windows, 2026-10-11
- ssh latency to the node over Ethernet (median of 10)
- 187ms
- tutorial 29 §8, 2026-10-10
What I'd do next
- Provision a Linux node: today there is only Mac and Windows.
- Add the laptop as a third node, with no committed date.
Architecture
A PC sends coding tasks to a Mac and gets git branches back: contract, model-free routing, jobs that outlive the window, ledger and visor.
- PC Windows
- Mac mini
- GitHub
- Hostinger
- Visitor's browser
Flows you can replay
- Despachar y recoger
- Turno que sobrevive al cierre de la ventana
- Visor regenerado y publicado
- Añadir un nodo
How it was made
- First distributed task — enjambre run: Windows sends, a branch and a ledger entry come back.
- The bridge — A persistent Claude Code on the Mac that Windows talks to (enjambre chat/send/sessions), with Playwright, a ledger per turn and gui yes/no in status; the key's threat model.
Sibling projects
- Claude Kit My Claude Code setup, published and sanitised: lane-based routing rules, six subagents, ten skills, five hooks and a status line that tells the truth about context, cache and the HANDOFF. Mirror scripts keep it identical on every machine without deleting anything.
- Cert Studio A static practice app for the CCAR-F and CCDV-F certifications: mocks that spread questions by each domain's official weight, a timer, a scaled 100–1000 score and every wrong option tagged with the kind of trap it represents. Progress lives only in the browser. An unofficial study aid: all 240 questions are original and none reproduces a real exam item.