Install withvibe
Help a user install WithVibe on their own laptop or server for the first time. Trigger when a user asks to install, set up, get started with, try, or run WithVibe locally — including phrasings like "how do I install withvibe", "I want to try withvibe", "set up withvibe on my mac", "withvibe quick start", or "what do I need to run withvibe". This is the friendly first-time-user path; it assumes the user wants the easiest install (npm registry) unless they say otherwise, walks them through prerequisites with OS-appropriate commands, runs the guided `withvibe init`, and verifies the stack came up.From its SKILL.md
npx -y skills add withvibe/withvibe-skills --skill install-withvibeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
8.8 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it
Install WithVibe (user guide)
You're helping a real person — probably a developer trying WithVibe for the first time — get the stack running on their machine. They don't want to read docs; they want it working. Your job is to be the friendly guide who explains each step, runs commands with their permission, and bails them out if something breaks.
The CLI does the heavy lifting (withvibe doctor, withvibe init, withvibe start). You're the front desk.
The happy path
This is what 90% of installs look like. Stick to it unless the user says otherwise.
- Confirm goal — quick check: "Want me to walk you through installing WithVibe on this machine?" (default yes, but they may want to install on a server they SSH into).
- Detect OS —
uname -splusuname -m, so the prerequisite commands are correct. - Run
withvibe doctorif the CLI is already installed; otherwise jump to step 4. - Install the CLI —
npm install -g withvibe. Needs Node 20+. - Install missing prerequisites — Docker, Docker Compose,
gh(only with explicit user permission, using the right package manager for their OS). - Run
withvibe init— interactive by default; it'll prompt for install dir, ports, Anthropic API key, optional Google OAuth. - Start the stack —
withvibe start(orinitmay have done this for you). - Verify — open the URL it printed, confirm the login screen loads.
Always announce before you act when running anything that touches the user's machine (brew install, apt install, docker pull, mutating state). They should be able to interrupt between steps.
Step 1 — Prerequisites
WithVibe needs:
| Tool | Why | Minimum |
|---|---|---|
| Node.js | Runs the withvibe CLI | 20+ |
| Docker | Runs the api/web/postgres/traefik containers | 24+ |
| Docker Compose | Orchestrates the stack | v2 (bundled with Docker Desktop) |
| An Anthropic API key | The agent runtime | Any tier — workspace can override per-user later |
Optional but commonly wanted:
gh(GitHub CLI) — needed if envs will clone private repos- Google OAuth client ID/secret — only if the user wants Google Sign-In; otherwise they can use local auth
OS-aware install commands
Only run these with explicit user permission. Show the command first, ask "want me to run it?", then execute.
macOS (Homebrew):
brew install node docker gh
open -a Docker # start Docker Desktop
If they don't have Homebrew, point them at https://brew.sh rather than installing it for them — it touches /opt/homebrew and they should consent.
Linux (Debian/Ubuntu):
# Node 20 via NodeSource
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# Docker via Docker's official repo (don't use distro packages — too old)
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER # log out and back in for this to take effect
# gh
sudo apt-get install -y gh
Linux (Fedora/Rocky/RHEL):
sudo dnf install -y nodejs docker gh
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
Windows: recommend WSL2 + Docker Desktop. WithVibe runs inside the WSL2 distro (Ubuntu), not on Windows directly. From inside WSL2, the Debian/Ubuntu commands above apply.
Step 2 — Get the CLI
npm install -g withvibe
withvibe --version
If they get EACCES errors, suggest one of:
sudo npm install -g withvibe(works but ties global packages to root)- Set up an npm prefix in
$HOME—mkdir -p ~/.npm-global && npm config set prefix ~/.npm-global && export PATH=~/.npm-global/bin:$PATH(cleaner long-term)
npm install -g withvibe is the published CLI from https://github.com/withvibe/withvibe-cli (Apache 2.0). If the registry install fails or they want the latest unreleased CLI, they can build from source — but for first-time installs, push back gently toward the registry path.
Step 3 — Doctor
Once the CLI is on PATH:
withvibe doctor
This prints a checklist of what's present and what's missing (Docker, Docker Compose, gh, free ports, etc.). Read it back to the user in plain language — "Docker is good. You're missing gh — want me to install it?" Loop on missing items until doctor is green.
Don't proceed to init while doctor still has blocking failures. Warnings (e.g. gh not installed but no private repos planned) are fine to skip.
Step 4 — Init
withvibe init
This is interactive. It asks for:
- Install directory — where
.env,docker-compose.yml, and state will live. Default is fine (~/.withvibeor similar — let the CLI default). - Anthropic API key — paste it. Tell the user this is workspace-level; individual users can override later. Get one at https://console.anthropic.com/settings/keys.
- Google OAuth (optional) — only ask if the user wants Google Sign-In. Skip if they don't know what it is; they can add it later via
withvibe configure. - Public URLs — for a local install, the CLI will default to
http://localhost:3000(web) andhttp://localhost:3001(api). For a server install, they'll need real URLs and probably Traefik (see "Server install" below). - Ports — accept defaults unless something is already bound.
If the user wants a hands-off install with all defaults: withvibe init -y (after they've still answered the API-key prompt — that one's non-defaultable).
Step 5 — Start and verify
withvibe start # if init didn't already start it
withvibe status # should show all containers Up
curl -fsS http://localhost:3000 > /dev/null # web responds
Open the web URL the CLI printed. They should see a login screen. First sign-in creates the workspace owner account.
If status shows a container restarting or withvibe logs <service> reveals an error, common culprits:
- Postgres won't start — port 5432 already in use locally; re-run
initto pick a different host port. - API health failing — usually a bad/missing
ANTHROPIC_API_KEY.withvibe configureto fix. - Web → API CORS / cookie issues —
WEB_PUBLIC_URLandAPI_PUBLIC_URLmismatched. Re-runinitor edit the install dir's.env.
Server install (advanced)
If the user is installing on a public server (not laptop) and wants HTTPS:
- They need a domain pointed at the server's IP (A record).
- During
init, opt into Traefik when prompted, and provide:- A base domain (e.g.
withvibe.example.com) - An email for Let's Encrypt
- A base domain (e.g.
- Ports 80 and 443 must be free on the server.
- WithVibe envs will get subdomains like
<env-id>.<base>— make sure the DNS A record is a wildcard (*.<base>) or the env URLs won't resolve.
If they're behind a corporate proxy / can't use Let's Encrypt, they need BYOCERT mode — they bring their own fullchain + key. withvibe configure walks them through it.
When things go wrong
withvibe: command not foundafter npm install — npm's global bin dir isn't on PATH.npm config get prefixthen add<prefix>/binto PATH.- Docker permission denied — user not in the
dockergroup; they need to log out and back in afterusermod -aG docker $USER. inithangs at "pulling images" — check internet, checkdocker login ghcr.ioisn't required (the images are public by default).- Stack starts but login redirects in a loop —
COOKIE_DOMAINor URL mismatch. Re-runinitand let it set URLs to whatever the user is actually browsing to. - They want to start over —
withvibe uninstallremoves containers + state. Their.envis preserved unless they pass--purge.
What to suggest after install
Once the stack is up and they've logged in, useful next steps to mention:
- Create a workspace, invite teammates.
- Add their first repo and create an env.
- Install plugins (e.g. the roadmap plugin) via the workspace admin Plugins page.
- If they want to build their own plugin: there's a separate
withvibe-plugin-creatorskill for that.
Don't dump all of this on them at once — install is enough for one session. Offer one next step matched to whatever they mentioned wanting.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.