Skip to content

Latest commit

 

History

History
146 lines (97 loc) · 3.84 KB

File metadata and controls

146 lines (97 loc) · 3.84 KB

One-Click Bootstrap

This page defines the fastest supported path to install and initialize ZeroClaw.

Last verified: February 20, 2026.

Option 0: Homebrew (macOS/Linuxbrew)

brew install zeroclaw

Option A (Recommended): Clone + local script

git clone https://github.com/zeroclaw-labs/zeroclaw.git
cd zeroclaw
./bootstrap.sh

What it does by default:

  1. cargo build --release --locked
  2. cargo install --path . --force --locked

Resource preflight and pre-built flow

Source builds typically require at least:

  • 2 GB RAM + swap
  • 6 GB free disk

When resources are constrained, bootstrap now attempts a pre-built binary first.

./bootstrap.sh --prefer-prebuilt

To require binary-only installation and fail if no compatible release asset exists:

./bootstrap.sh --prebuilt-only

To bypass pre-built flow and force source compilation:

./bootstrap.sh --force-source-build

Dual-mode bootstrap

Default behavior is app-only (build/install ZeroClaw) and expects existing Rust toolchain.

For fresh machines, enable environment bootstrap explicitly:

./bootstrap.sh --install-system-deps --install-rust

Notes:

  • --install-system-deps installs compiler/build prerequisites (may require sudo).
  • --install-rust installs Rust via rustup when missing.
  • --prefer-prebuilt tries release binary download first, then falls back to source build.
  • --prebuilt-only disables source fallback.
  • --force-source-build disables pre-built flow entirely.

Option B: Remote one-liner

curl -fsSL https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/main/scripts/bootstrap.sh | bash

For high-security environments, prefer Option A so you can review the script before execution.

Legacy compatibility:

curl -fsSL https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/main/scripts/install.sh | bash

This legacy endpoint prefers forwarding to scripts/bootstrap.sh and falls back to legacy source install if unavailable in that revision.

If you run Option B outside a repository checkout, the bootstrap script automatically clones a temporary workspace, builds, installs, and then cleans it up.

Optional onboarding modes

Containerized onboarding (Docker)

./bootstrap.sh --docker

This builds a local ZeroClaw image and launches onboarding inside a container while persisting config/workspace to ./.zeroclaw-docker.

Container CLI defaults to docker. If Docker CLI is unavailable and podman exists, bootstrap auto-falls back to podman. You can also set ZEROCLAW_CONTAINER_CLI explicitly (for example: ZEROCLAW_CONTAINER_CLI=podman ./bootstrap.sh --docker).

For Podman, bootstrap runs with --userns keep-id and :Z volume labels so workspace/config mounts remain writable inside the container.

If you add --skip-build, bootstrap skips local image build. It first tries the local Docker tag (ZEROCLAW_DOCKER_IMAGE, default: zeroclaw-bootstrap:local); if missing, it pulls ghcr.io/zeroclaw-labs/zeroclaw:latest and tags it locally before running.

Quick onboarding (non-interactive)

./bootstrap.sh --onboard --api-key "sk-..." --provider openrouter

Or with environment variables:

ZEROCLAW_API_KEY="sk-..." ZEROCLAW_PROVIDER="openrouter" ./bootstrap.sh --onboard

Interactive onboarding

./bootstrap.sh --interactive-onboard

Useful flags

  • --install-system-deps
  • --install-rust
  • --skip-build (in --docker mode: use local image if present, otherwise pull ghcr.io/zeroclaw-labs/zeroclaw:latest)
  • --skip-install
  • --provider <id>

See all options:

./bootstrap.sh --help

Related docs