Clavue Worktree
Worktree is a working-copy layer, not a forge. origin, pull requests, Actions, and code review stay on GitHub. You add isolated directories so 5–10 agents can write at once without sharing one dirty tree.
What stays on GitHub
Do not move the remote. Push, fetch, PR, and CI keep using the same origin you already have.
- github.com/<owner>/<repo> remains origin
- gh pr create / merge happens on GitHub
- Branch protection and Actions are unchanged
Three ways to work
Pick one per task. Mixing all three on the same dirty files is the thing this exists to avoid.
- GitHub + one local branch — default, no extra tool
- Local Worktrunk — wt switch -c feat on your machine
- Clavue host — clone from GitHub onto the farm, then wt switch -c
What imux already does
Agent Chat write tasks default to a thread-keyed tree under .imux/worktrees/. That stays local to the repo you opened. The Clavue host is an extra choice for parallel cloud/LAN agents — it does not replace that isolation.
Local Worktrunk
Install the upstream CLI, then treat worktrees like branches.
brew install worktrunk && wt config shell install
cd ~/src/your-repo
wt switch -c feat-auth
wt list
# finish → push to GitHub
git push -u origin HEAD
gh pr createClavue host
The optional farm clones your GitHub repo, then creates trees under a fixed layout. After the work is done, push the branch back to GitHub. Membership stays /account + api.clavue.com. This is not a second login and not a second GitHub.
wt-host clone https://github.com/owner/repo.git
cd /srv/worktrunk/repos/repo
wt switch -c feat-auth
wt list
git push -u origin HEAD
gh pr createPublic addresses
The host addresses are public on /worktree and /worktree-access.json. Auth is SSH keys as user worktrunk. Passwords and API tokens stay off the website.
- LAN SSH: ssh [email protected]
- WAN SSH: ssh -p 2210 [email protected]
- API health: http://192.168.2.150:7433/health
- Machine list: https://www.clavue.com/worktree-access.json
Cloud development and larger storage
Git worktrees need POSIX disk. Object storage is for artifacts and logs, not the trees themselves. Cloud jobs keep origin on GitHub.
- Now: farm + public addresses on this host (~local disk)
- Next: member SSH keys; optional WAN health proxy
- Later: clavue-agent / imux choose the Clavue host as a working copy
- Later: extra volume or NFS for trees; object storage for artifacts; prune merged trees; second node on the same export