Isolated AI-assisted development facility using Lima VMs for sandboxed cloning and worktree-based workflows.
- Lima installed (
brew install lima) - GCP application default credentials configured (
gcloud auth application-default login)
git clone <repo-url>
cd quaydev
./setup.shsetup.sh will prompt for your quay fork URL and GCP project ID, generate an SSH key pair for the VM, and produce quaydev.yaml. Add the printed public key to https://github.com/settings/keys before starting the VM.
limactl create --name=quaydev quaydev.yaml
limactl start quaydevThis provisions a Fedora 43 VM with 8 CPUs and 24 GiB of memory. During provisioning it will:
- Install build dependencies (git, tmux, nodejs, python3-pip, podman-compose)
- Install Claude Code globally
- Copy SSH keys from
.quaydev-ssh/into the VM - Bare-clone the quay repository
limactl shell quaydev- Install the Remote - SSH extension.
- Add the following line to
~/.ssh/configon the host machine:Include ~/.lima/*/ssh.config - In VS Code, open the Command Palette and run Remote-SSH: Connect to Host, then select
lima-quaydev.
- Ensure the
Include ~/.lima/*/ssh.configline from the VS Code step is in~/.ssh/config. - Find the SSH port for the VM:
limactl show-ssh quaydev
- Go to File > Remote Development > New Connection and create an SSH configuration with host
lima-quaydevand the port from the previous step. - Set authentication type to OpenSSH config and authentication agent.
limactl stop quaydev
limactl delete quaydevpodman run --rm -it \
--network host \
-v $(pwd):/work:z \
-w /work \
mcr.microsoft.com/playwright:v1.57.0-noble \
npx playwright test playwright/e2e/organization/org-mirroring.spec.tsTo inspect cloud-init provisioning logs inside the VM:
sudo journalctl -u cloud-init-main.service --no-pager