Skip to content
Operations
Skill

/cli-local-build

Build and test the Kurtosis CLI from source. Compile the CLI binary locally, run it against Docker or Kubernetes engines, and iterate on CLI changes without creating a release. Use when developing or debugging CLI commands.

BOOST
From plugin
kurtosis
55722 skills
Install
$ npx -y skills add kurtosis-tech/kurtosis --skill cli-local-build --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/cli-local-build

Context preview

The summary Claude sees to decide when to auto-load this skill.

Build and test the Kurtosis CLI from source. Compile the CLI binary locally, run it against Docker or Kubernetes engines, and iterate on CLI changes without creating a release. Use when developing or debugging CLI commands.

SKILL.md

cli-local-build.SKILL.md
name: cli-local-build
description: Build and test the Kurtosis CLI from source. Compile the CLI binary locally, run it against Docker or Kubernetes engines, and iterate on CLI changes without creating a release. Use when developing or debugging CLI commands.
compatibility: Requires Go 1.23+.
metadata:
  author: ethpandaops
  version: "1.0"

CLI Local Build

Build and test the Kurtosis CLI from source for local development.

Quick build

# Build the CLI binary
go build -o /tmp/kurtosis ./cli/cli/

# Verify it works
/tmp/kurtosis version

Using the local CLI

The locally built CLI works exactly like the installed one. Use the full path to avoid conflicts with the system-installed `kurtosis`:

# Start engine
/tmp/kurtosis engine start

# Run a package
/tmp/kurtosis run github.com/ethpandaops/ethereum-package

# Clean up
/tmp/kurtosis clean -a

# Stop engine
/tmp/kurtosis engine stop

Switching between Docker and Kubernetes

# Check current cluster setting
/tmp/kurtosis cluster get

# Switch to Docker
/tmp/kurtosis cluster set docker

# Switch to Kubernetes (uses current kubectl context)
/tmp/kurtosis cluster set kubernetes

# Restart engine after switching
/tmp/kurtosis engine restart

# Verify engine is running on the expected backend
/tmp/kurtosis engine status
/tmp/kurtosis cluster get

Build with race detector

For debugging concurrency issues:

go build -race -o /tmp/kurtosis ./cli/cli/

Running tests

# Run CLI command tests
go test ./cli/cli/commands/...

# Run a specific test
go test -run TestName ./cli/cli/commands/...

# Run with verbose output
go test -v ./cli/cli/commands/...

Key source locations

| Component | Path | |-----------|------| | CLI entry point | `cli/cli/main.go` | | CLI commands | `cli/cli/commands/` | | Engine launcher | `engine/launcher/` | | API container launcher | `core/launcher/` | | Container engine abstraction | `container-engine-lib/` | | gRPC API definitions | `api/protobuf/` | | Version constant | `kurtosis_version/kurtosis_version.go` |

Module dependency order

The monorepo has multiple Go modules. If you change a dependency, rebuild in order:

container-engine-lib
  → contexts-config-store
    → grpc-file-transfer
      → name-generator
        → api
          → metrics-library
            → engine
              → core
                → cli

Most CLI-only changes just need `go build ./cli/cli/`.

Common issues

  • **`go build` fails with import errors**: Run `go mod tidy` in the failing module directory
  • **CLI shows wrong version**: The version comes from `kurtosis_version/kurtosis_version.go` — it's compiled into the binary
  • **Engine image mismatch**: The CLI pulls engine images matching its compiled version. For dev testing with custom images, see the `k8s-dev-deploy` skill
Read more
Ships withkurtosis

A platform for packaging and launching blockchain infra. Think docker compose for blockchain

Get the whole plugin
Stats
557
Stars
100
Forks
Active
Maintenance
Go
Language
Apache-2.0
License
9h ago
Last commit
3y ago
Created
4h ago
Added

Repo: kurtosis-tech/kurtosis

Other skills on kurtosis.