crawbl CLI
These pages often point at shared systems. Confirm the cluster, namespace, and ownership boundary before running mutating commands.
The crawbl CLI handles local development, testing, builds, and Pulumi-based infrastructure operations.
The backend repo ships a repo-local launcher at ./crawbl. You do not need to install the binary globally.
cd crawbl-backend
make setup
make setup installs the pre-push hook, checks your machine, and prepares the repo-local ./crawbl launcher. On first run, ./crawbl builds bin/crawbl automatically.
Top-Level Commands
| Command | Description |
|---|---|
./crawbl setup | Check local prerequisites and create .env |
./crawbl dev ... | Local development commands (start, stop, reset, lint, verify, ...) |
./crawbl test unit | Run Go unit tests |
./crawbl test e2e | Run Godog/Cucumber e2e tests |
./crawbl app build <component> | Build a component image |
./crawbl infra init | Initialize or select Pulumi stack |
./crawbl infra plan | Preview infrastructure changes |
./crawbl infra update | Apply infrastructure changes |
./crawbl infra destroy | Destroy infrastructure resources |
./crawbl infra bootstrap | Bootstrap cluster + platform end-to-end |
Infrastructure Commands
Manage the DigitalOcean Kubernetes cluster and ArgoCD bootstrap.
./crawbl infra init
./crawbl infra plan
./crawbl infra update
./crawbl infra destroy
./crawbl infra bootstrap
Build Commands
Build and optionally push container images to DOCR. Deployments themselves are handled by ArgoCD, not by a crawbl app deploy command.
Platform Image
Single unified image for the orchestrator, userswarm webhook, migration job, backup, and reaper. The active component is selected via entrypoint.
./crawbl app build platform --tag dev --push
Auth Filter
Separate image for the TinyGo/WASM Envoy auth filter.
./crawbl app build auth-filter --tag dev --push
Docs
Docusaurus static site image.
./crawbl app build docs --tag dev --push
Test Commands
./crawbl test unit
./crawbl test e2e
Repo-Local Workflow
Use the CLI from inside crawbl-backend:
./crawbl --help
./crawbl dev start
./crawbl dev start --database-only
If you want to force a rebuild of the local binary, set CRAWBL_REBUILD=1 for one command:
CRAWBL_REBUILD=1 ./crawbl --version
Pre-Push Hook
make setup installs a repo-managed pre-push hook.
That hook runs make ci-check, which does:
- a repo-local
crawblbuild ./crawbl test unit- a linux/amd64
crawblbuild to match the CI compile path
Notes
- CI is the source of truth for deployed image updates.
- The CLI is primarily for local development, manual builds, and infrastructure work.
- ZeroClaw images are built from
crawbl-zeroclaw, not fromcrawbl app build. - Environment Variables: Commands requiring credentials (like
./crawbl infra plan) must be run with environment variables sourced from.env. Use:or alternatively:set -a && source .env && set +a && ./crawbl <command>export $(grep -v '^#' .env | xargs) && ./crawbl <command>