sandlot/README.md
2026-02-17 07:57:24 -08:00

1.2 KiB

sandlot

A CLI for branch-based development using git worktrees and Apple containers. Each branch gets its own worktree and isolated VM.

Prerequisites

  • macOS on Apple Silicon
  • Bun
  • container installed and on PATH
  • Git

Install

git clone https://github.com/your/sandlot
cd sandlot
bun install
bun link

Usage

Run all commands from inside a cloned git repo.

Start a session

sandlot new fix-POST

Creates a worktree at .sandlot/fix-POST/, boots a VM mapped to it, and drops you into a shell.

Other commands

sandlot list           # show all sessions
sandlot open <branch>  # re-enter a session's VM
sandlot stop <branch>  # stop a VM without destroying it
sandlot rm <branch>    # tear down session (VM, worktree, local branch)

Use git directly for commits, pushes, merges, etc. The worktree is a normal git checkout.

Project config

Optionally add a sandlot.json to your repo root:

{
  "vm": {
    "cpus": 4,
    "memory": "8GB",
    "image": "ubuntu:24.04",
    "mounts": { "/path/to/deps": "/deps" }
  }
}