blacksmith testbox warmup
Dispatches a testbox and returns an ID immediately. Required before any run command.
| Flag | Description |
|---|---|
--idle-timeout | Minutes of inactivity before the testbox is automatically stopped. Defaults to 20. |
--job | Specific job within the workflow to run. Useful when the workflow defines multiple jobs. |
--ref | Git ref (branch, tag, SHA) to dispatch the workflow against. Defaults to the repo’s default branch. |
--ssh-public-key | Path to an SSH public key to install on the testbox. When omitted, a keypair is auto-generated and cached at ~/.blacksmith/testboxes/{id}/. |
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.
| Flag | Description |
|---|---|
--id | Testbox ID returned by warmup. Required. |
--debug | Prints detailed rsync timing and transfer statistics. |
--ssh-private-key | Path to the SSH private key. Only needed when warmup was called with --ssh-public-key. |
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.
| Flag | Description |
|---|---|
--id | Testbox ID returned by warmup. Required. |
--wait | Block until the testbox reaches ready status. |
--wait-timeout | Maximum duration to wait before timing out. Defaults to 5m. |
queued → hydrating → ready → completed.
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:
- Scans the repo’s
.github/workflows/for workflow files - Prompts the user to select a workflow and job that has the dependencies and services they need
- Uses AI to transform the workflow into a testbox-compatible version (strips test execution, keeps setup, adds testbox actions)
- Writes
.github/workflows/blacksmith-testbox.ymland an agent skill file - Optionally creates a PR
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.