md
Branch-locked development containers for AI coding agents. Each container is locked to a repository-branch pair. Safe parallel work, no conflicts.
The problem
AI coding agents work best in YOLO mode (full command execution). But running them locally creates:
- Branch conflicts: agent changes interfere with your local checkout
- Test conflicts: simultaneous test runs cause failures and race conditions, leak processes
- Environment pollution: accumulated dependencies cause hidden bugs
- Context switching: switching branches while an agent works loses progress
Platform support
md is supported on Linux, macOS, and Windows via WSL2.
The solution
md gives each agent a complete, isolated container with a full git clone:
- Run agents on multiple branches simultaneously
- Switch local branches without affecting running agents
- Run tests in parallel without conflicts
- Keep your local checkout clean
- Delete containers cleanly when done
Quick start
bash
# Start container for your current branch (auto-SSH in)
git checkout -b wip origin/main
md start
# Inside the container: run your agent
cd ~/src/<repo-name>
claude
# Back on host: check changes and sync
md diff
md pullInstall
bash
curl -fsSL https://caic.xyz/install.sh | bashDocumentation
- Commands: full command reference, workflows (fork, multi-repo, CI)
- Installation: prerequisites, platform notes, from-source builds
- Configuration: caches, environment variables, agent configs
- Harnesses: agent-specific setup (Claude Code, Codex, Gemini, Pi, etc.)
- Preinstalled Tools: what's available inside every container
- Tailscale: remote access over your tailnet
- Architecture: image hierarchy, build pipeline, container lifecycle
- Design: design rationale, trade-offs, cache injection
- Security: SSH isolation, capabilities, network restrictions
Getting help
- GitHub issues: caic-xyz/md
- Discord: caic-xyz community
- Include
md versionoutput and the error message when reporting issues