Skip to main content

Prerequisites

  • Docker must be installed and running
  • macOS is the primary supported platform; Linux should also work
  • Windows is not currently supported
brew install schmitthub/tap/clawker

Install Script

Downloads a pre-built binary from GitHub releases. No Go toolchain required.
curl -fsSL https://raw.githubusercontent.com/schmitthub/clawker/main/scripts/install.sh | bash

Options

Pin a specific version:
curl -fsSL https://raw.githubusercontent.com/schmitthub/clawker/main/scripts/install.sh | CLAWKER_VERSION=v0.1.3 bash
Install to a custom directory:
curl -fsSL https://raw.githubusercontent.com/schmitthub/clawker/main/scripts/install.sh | CLAWKER_INSTALL_DIR=$HOME/.local/bin bash

Build from Source

Requires Go 1.25+. Use the Makefile entry point — go install is unsupported because the CLI //go:embeds several Linux binaries (clawkerd, clawker-cp, ebpf-manager, coredns-clawker) that are gitignored and produced by make clawker. Without them the build fails at compile time with a pattern assets/...: no matching files found error.
git clone https://github.com/schmitthub/clawker.git
cd clawker && make clawker
export PATH="$PWD/bin:$PATH"
On Linux, the BPF toolchain (clang, llvm, libbpf-dev, linux-libc-dev) must be installed before make clawker can generate the eBPF bindings. Run sudo make bpf-deps once on Ubuntu 24.04 (Noble). On macOS this is handled automatically — the bindings extract through Dockerfile.controlplane via docker buildx.

Verify Installation

clawker version

Staying Up to Date

Upgrade the same way you installed — brew upgrade schmitthub/tap/clawker, re-run the install script, or git pull && make clawker from source. After an upgrade, a one-time “What’s new” note appears on your first interactive run. For each release you gained since your previous version it shows that release’s changelog section — the grouped changes (Added, Fixed, Changed, …) with any docs links — then shows once and never repeats for that upgrade. The entries come from the curated CHANGELOG.md, which is fetched over the network and covers the handful of releases that actually changed what you see or do. The note is suppressed when you’re not at an interactive terminal (output piped or redirected, CI set) and can be opted out entirely by setting CLAWKER_NO_NOTIFIER — the same switch that silences the new-version update notifier.

First-Time Setup

Navigate to a project directory and initialize:
cd your-project
clawker init
This walks you through a guided setup — pick a language preset (Python, Go, Rust, TypeScript, Java, Ruby, C/C++, C#/.NET, Bare) and Clawker creates a .clawker.yaml config tailored for your stack. User settings and XDG directories are bootstrapped automatically on first run. Clawker stores data following the XDG Base Directory Specification:
DirectoryDefault PathContents
Config~/.config/clawker/settings.yaml, user-level clawker.yaml
Data~/.local/share/clawker/registry.yaml (project registry), build cache, worktree directories
State~/.local/state/clawker/Log files, PID files
See the Getting Started guide for the full walkthrough.