# matrix-bridge A single-user Matrix → Claude Code bridge. Send a message in a project's Matrix room and a Claude Code session launches on the Mac in that project's repo, then surfaces to your phone via Claude Code Remote Control. The point: make the *trigger* for a coding session portable without moving execution off the Mac. Runs as a small **matrix-nio** bot in a Docker container on a DGX Spark; a zsh wrapper on the Mac (`scripts/launch-claude.sh`) is the only piece that knows the Mac's environment. Routing is deterministic in v1 — the room you message in decides the repo (an explicit config map). > Status: **live on the Spark — Phases 0–3 + headless "ask" mode shipped.** The bot runs in > 11 project rooms + an all-projects room, and is managed from the Spark Control dashboard. See > `AGENTS.md` → `## Current state` for details and `ROADMAP.md` for the phase plan. ## How it works (v1) ``` Matrix message in a project room → bot on the Spark maps room → repo → SSHes to the Mac, runs scripts/launch-claude.sh → wrapper cd's into the repo and launches `claude` → Remote Control notifies the phone; you drive the session there ``` ## Setup The bot is live; this is the shape of a fresh install: Matrix onboarding (Element + the existing Synapse homeserver, a bot user), the Mac wrapper, passwordless SSH from the Spark to the Mac, and the room→repo mapping. Copy `config.example.toml` to `config.toml` (gitignored) and fill in real room IDs and repo paths. Deploy and day-2 ops (status / update / restart) run from the Spark Control dashboard — see `docs/spark-control-integration.md` for the command contract.