skills/orbstack-best-practices/SKILL.md
Use when working with OrbStack Linux VMs, Docker on macOS, orbctl commands, or orb machine lifecycle.
npx skillsauth add awfixers-stuff/opencode-config orbstack-best-practicesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
OrbStack is a fast Docker and Linux VM runtime for macOS. Replaces Docker Desktop with better performance and seamless macOS integration.
# Machine lifecycle
orb list # List machines
orb create ubuntu:noble myvm # Create (distro:version name)
orb create --arch amd64 ubuntu x86vm # x86 emulation via Rosetta
orb create ubuntu myvm -c cloud.yml # With cloud-init
orb start/stop/restart/delete myvm
orb default myvm # Set default machine
# Shell and exec
orb # Shell into default machine
orb -m myvm -u root # Specific machine + user
orb -m myvm ./script.sh # Run command in machine
# File transfer
orb push ~/local.txt # Copy to default machine home
orb pull ~/remote.txt # Copy from default machine
orb push -m vm ~/f.txt /tmp/ # Specific machine + path
# Docker/K8s
orb restart docker # Restart Docker engine
orb logs docker # Docker engine logs
orb start k8s / orb delete k8s
# Config
orb config set memory_mib 8192
orb config set cpu 4
orb config set rosetta true
orb config set network_proxy http://proxy:8080
| Location | Path |
|----------|------|
| Linux files from macOS | ~/OrbStack/<machine>/ |
| Docker volumes from macOS | ~/OrbStack/docker/volumes/ |
| macOS files from Linux | /mnt/mac/Users/... (also at same path directly) |
| Other machines from Linux | /mnt/machines/<name>/ |
| SSH key | ~/.orbstack/ssh/id_ed25519 |
| Docker daemon config | ~/.orbstack/config/docker.json |
Servers in Linux machines are automatically available on localhost on macOS — no port mapping required.
DNS names:
| Pattern | Resolves to |
|---------|-------------|
| <machine>.orb.local | Linux VM |
| <container>.orb.local | Docker container |
| <svc>.<project>.orb.local | Compose service |
| host.orb.internal | macOS host (from Linux machine) |
| host.docker.internal | macOS host (from container) |
All .orb.local domains get zero-config HTTPS automatically.
Custom container domain: docker run -l dev.orbstack.domains=myapp.local nginx
VPN-compatible; follows macOS proxy settings automatically.
Single multiplexed SSH server — no per-machine setup needed:
ssh orb # Default machine
ssh myvm@orb # Specific machine
ssh user@myvm@orb # Specific user + machine
IDE config: VS Code "Remote - SSH" → orb or myvm@orb. JetBrains: host localhost, port 32222, key ~/.orbstack/ssh/id_ed25519. SSH agent forwarding is automatic.
web.orb.local instead of localhost:8080).docker run --platform linux/amd64 ubuntu or export DOCKER_DEFAULT_PLATFORM=linux/amd64.-v /run/host-services/ssh-auth.sock:/agent.sock -e SSH_AUTH_SOCK=/agent.sock.kubectl port-forward; cluster.local DNS works directly.mac open https://example.com # Open in macOS browser
mac notify "Build done" # macOS notification
ORBENV=AWS_PROFILE:EDITOR orb ./deploy.sh # Forward env vars
orb report # Generate diagnostic report
orb logs myvm # Machine boot logs
orb restart docker # Restart Docker engine
orb reset # Factory reset (deletes everything)
docker context use orbstack # Fix "cannot connect to Docker daemon"
Rosetta x86 error: sudo dpkg --add-architecture amd64 && sudo apt install libc6:amd64
Cloud-init debug: orb -m myvm cloud-init status --long or orb -m myvm cat /var/log/cloud-init-output.log
development
Use when starting dev servers, watchers, tilt, or any process expected to outlive the conversation. Provides zmx session management patterns for long-lived processes.
development
Zig testing skill for writing and running tests. Use when using zig build test, writing comptime tests, using test filters, working with test allocators to detect leaks, or using Zig's built-in fuzz testing (0.14+). Activates on queries about Zig tests, zig test, zig build test, comptime testing, test allocators, Zig fuzz testing, or detecting memory leaks in Zig tests.
development
Zig debugging skill. Use when debugging Zig programs with GDB or LLDB, interpreting Zig runtime panics, using std.debug.print for tracing, configuring debug builds, or debugging Zig programs in VS Code. Activates on queries about debugging Zig, Zig panics, zig gdb, zig lldb, std.debug.print, Zig stack traces, or Zig error return traces.
tools
Zig cross-compilation skill. Use when cross-compiling Zig programs to different targets, using Zig's built-in cross-compilation for embedded, WASM, Windows, ARM, or using zig cc to cross-compile C code without a system cross-toolchain. Activates on queries about Zig cross-compilation, zig target triples, zig cc cross-compile, Zig embedded targets, or Zig WASM.