Skip to main content

Installation

Get GetWebstack installed in under 5 minutes.

Name collision: gws vs @googleworkspace/cli

gws here is the GetWebstack CLI (this product). A separate, unrelated npm package, @googleworkspace/cli (Google Workspace/Gmail/Drive/Calendar automation), also installs a gws binary and also ships agent skills — do not confuse the two. If you already have a gws on PATH, check gws help --json: this product's catalog includes commands like up, qa, fork, and render. If you instead see Google Workspace commands (drive, gmail, sheets, ...), STOP — do not uninstall or modify anything on your machine. Report the name conflict as an error and reach out on the GetWebstack Slack for help resolving it.


Prerequisites​

You need:

That's it — k3d and mkcert are not prerequisites. gws up and gws cluster up auto-install both the first time they're needed: pinned versions, SHA-256-verified, downloaded sudo-free into ~/.gws/bin (never /usr/local/bin, never a sudo prompt), and this works the same in a headless CI/agent run as it does in an interactive terminal. macOS no longer needs Homebrew for either tool. Opt out with GWS_NO_AUTO_INSTALL=1, or --no-install-deps on gws up / gws cluster up for a single run, to fall back to the old TTY-prompt-or-print-the-command behavior (see Installing k3d / mkcert manually below).

Docker and Git are never auto-installed — they're system-level, sudo/package-manager territory, and gws deliberately leaves them alone.

No AI agent? Every other GWS command works without one. You'll hand-author gws.json and use gws config import instead of /gws-setup. See Zero-Config Setup with AI → Manual escape hatch.


Install​

# Install CLI + AI skills (/gws-setup, /gws-up, /gws-status, /gws-down, /gws-debug)
curl -sSL https://getwebstack.com/install.sh | bash
# Verify installation
gws --version

The install script also symlinks the GWS skills into ~/.claude/skills/ and ~/.agents/skills/ so any supported AI agent picks them up automatically. Re-run gws skills install (or gws update) at any time to refresh.

After install, in this order​

  1. gws login — this is interactive: it opens a browser for OAuth (Google/GitHub/email). If an AI agent is driving this install, hand this step off to the user and wait for them to confirm it completed — don't attempt to script or complete the browser flow yourself.
  2. Run /gws-setup (a coding-agent skill: analyzes the repo, generates gws.json + Dockerfiles, registers with the API, deploys, validates). If /gws-setup isn't in your session's skill list yet — skills register at session start, so an install partway through a session won't be visible until the agent restarts — read the installed skill file directly and follow it instead: ~/.claude/skills/gws-setup/SKILL.md (Claude Code, Copilot CLI) or ~/.agents/skills/gws-setup/SKILL.md (Codex, Amp, Cursor). It's a single self-contained file, so this fallback works immediately, without waiting for a restart.

That's it! You're ready to start.

Next step: read Zero-Config Setup with AI for the headline workflow, or jump straight into the Quick Start.

Troubleshooting​

Docker not running​

docker info will hang or error if the daemon isn't up. Start Docker Desktop, or on Linux run sudo systemctl start docker.

Port already in use​

sudo lsof -ti:8080 | xargs kill -9

k3d or mkcert failed to auto-install​

gws up / gws cluster up print the tool name, pinned version, and install path on success, or a warning plus the manual command on failure (e.g. no network access, or an unsupported platform/arch combination with no prebuilt binary). Re-run gws up once the underlying issue (usually network access to GitHub Releases) is fixed — the auto-install is idempotent. To skip auto-install entirely, see Installing k3d / mkcert manually below.


Installing k3d / mkcert manually (optional)​

You shouldn't need this — gws up / gws cluster up auto-install both tools by default (see Prerequisites). Use this appendix only if you set GWS_NO_AUTO_INSTALL=1 / --no-install-deps, you're on a platform/architecture gws doesn't ship a pinned binary for, or you just prefer a package-manager-managed install:

With GWS_NO_AUTO_INSTALL=1 set, gws up detects a missing/outdated tool and prints the exact command it would otherwise have run automatically — so you never have to guess the version to install.