Claude-skill-registry dev-server-sandbox

Run multiple isolated mux dev-server instances (temp MUX_ROOT + free ports)

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/dev-server-sandbox" ~/.claude/skills/majiayu000-claude-skill-registry-dev-server-sandbox && rm -rf "$T"
manifest: skills/data/dev-server-sandbox/SKILL.md
source content

dev-server
sandbox instances

make dev-server
starts the mux backend server, which uses a lockfile at:

  • <MUX_ROOT>/server.lock
    (defaults to
    ~/.mux-dev/server.lock
    in development)

This means you can only run one dev server per mux root directory.

This skill documents the repo workflow for starting multiple dev-server instances in parallel (including from different git worktrees) by giving each instance its own temporary

MUX_ROOT
.

Quick start

make dev-server-sandbox

What it does

  • Creates a fresh temporary
    MUX_ROOT
    directory
  • Copies these files into the sandbox if present:
    • providers.jsonc
      (provider config)
    • config.json
      (project list)
  • Picks free ports (
    BACKEND_PORT
    ,
    VITE_PORT
    )
  • Allows all hosts (
    VITE_ALLOWED_HOSTS=all
    ) so it works behind port-forwarding domains
  • Runs
    make dev-server
    with those env overrides

Options

# Use a specific root to seed from (defaults to ~/.mux-dev then ~/.mux)
SEED_MUX_ROOT=~/.mux-dev make dev-server-sandbox

# Keep the sandbox root directory after exit (useful for debugging)
KEEP_SANDBOX=1 make dev-server-sandbox

# Pin ports (must be different)
BACKEND_PORT=3001 VITE_PORT=5174 make dev-server-sandbox

# Override which make binary to use
MAKE=gmake make dev-server-sandbox

Security notes

  • providers.jsonc
    may contain API keys.
  • The sandbox root directory is created on disk (usually under your system temp dir).
  • This flow intentionally does not copy
    secrets.json
    .