sandlot/README.md
Chris Wanstrath e3e4419933 Refactor config command and fix default memory limit
Move defaults and normalization into KEYS metadata, validate config
file shape on load, and lower default container memory from 32G to 16G.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 10:24:57 -07:00

62 lines
1.5 KiB
Markdown

# sandlot
A CLI for branch-based development using git worktrees and [Apple Container](https://github.com/apple/container). Each branch gets its own worktree and isolated container.
## Prerequisites
- macOS on Apple Silicon
- [Bun](https://bun.sh)
- [Apple Container](https://github.com/apple/container) (`brew install container`)
- Git
### First-time setup
After installing Apple Container, run `container system start` in your terminal. It will prompt to install the Kata kernel — say yes. This is a one-time step.
## Install
```bash
git clone https://github.com/your/sandlot
cd sandlot
bun install
bun link
alias sl=sandlot
```
## Usage
Run all commands from inside a cloned git repo.
### Start a session
```bash
sandlot new fix-POST
```
Creates a worktree, boots a container, and launches Claude Code inside it.
### Other commands
```bash
sandlot list # show all sessions
sandlot open <branch> # re-enter a session
sandlot stop <branch> # stop a container without destroying it
sandlot rm <branch> # tear down session (container, worktree, local branch)
```
Use git directly for commits, pushes, merges, etc. The worktree is a normal git checkout.
### Configuration
```bash
sandlot config # show all options and current values
sandlot config memory # show current memory setting
sandlot config memory 32G # set container memory limit
```
Config is stored in `~/.config/sandlot/config.json`.
| Key | Default | Description |
|-----|---------|-------------|
| `memory` | `16G` | Container memory limit (e.g. 4G, 16G, 32G, 64G) |