Bootstrap Claude Code web environments with one command.
uvx ccweb init
Generates setup.sh, session-start.sh, diagnose.sh, and wires .claude/settings.json for your project. When you start a Claude Code web session, the VM is automatically provisioned with your selected toolchains.
# In your project root
uvx ccweb init
# Commit and push
git add scripts/ .claude/settings.json
git commit -m "Add Claude Code web environment setup"
git push
# Start a Claude Code web session — it auto-provisions
# Then verify:
uvx ccweb doctoruvx ccweb init --toolchains node,python # Just Node + Python
uvx ccweb init --toolchains go --extras gh # Go with gh CLI
uvx ccweb init --force # Overwrite existing files
uvx ccweb init --scripts-dir ci/scripts # Custom scripts directory
node, python, go, rust, ruby, java, deno, elixir, zig, dotnet, php — default: all
gh, uv, pnpm, yarn, bun, browser, sqlite, postgres, redis, docker — default: all
-
setup.shruns once when a new VM is created. Installs system packages, toolchains, and persists environment variables to/etc/environment. -
session-start.shruns on every session start (new + resumed). Sources env vars, detects project lockfiles, and installs dependencies. Auto-runssetup.shif the VM hasn't been provisioned yet. -
diagnose.shchecks what's installed, what's missing, and what's misconfigured. -
.claude/settings.jsonwires the SessionStart hook sosession-start.shruns automatically.
Use the interactive configurator at ccweb.nicolaeandrei.com to pick toolchains and copy the command.
MIT