Skip to main content
Testboxes are in early beta. The interface and behavior may change as we iterate.

blacksmith testbox warmup

Dispatches a testbox and returns an ID immediately. Required before any run command.
The returned testbox ID is the handle for all subsequent commands.

blacksmith testbox run

Syncs local changes and executes a command on the testbox. If the testbox is still hydrating, the command blocks until the testbox is ready.
File sync uses rsync --delete --checksum to mirror the local working tree to the testbox. Deleted files locally are also removed on the testbox, so it always matches your local state exactly. The command exits with the remote command’s exit code, so agents can check it directly for pass/fail.

blacksmith testbox status

Shows the current status of a testbox. Supports --wait to block until the testbox is ready.
Testbox statuses progress through: queuedhydratingreadycompleted.

blacksmith testbox stop

Stops a running testbox and cancels the underlying GitHub Actions run.

blacksmith testbox init

Interactive onboarding TUI. Sets up a testbox workflow and agent skill for the current repository. The init command:
  1. Scans the repo’s .github/workflows/ for workflow files
  2. Prompts the user to select a workflow and job that has the dependencies and services they need
  3. Uses AI to transform the workflow into a testbox-compatible version (strips test execution, keeps setup, adds testbox actions)
  4. Writes .github/workflows/blacksmith-testbox.yml and an agent skill file
  5. Optionally creates a PR
The generated workflow is a workflow_dispatch-only workflow containing only setup steps, no test execution. The generated skill file teaches agents how to use Testbox in this repository.

blacksmith auth login

Authenticates with Blacksmith. Opens a browser for the OAuth flow. Saves a token to ~/.blacksmith/credentials. Required once per machine.