Skip to content

CLI overview

The CLI is the scriptable companion to the desktop app. Both run the same engine, share the same .overwire/ config, and write to the same run store.

Terminal window
overwire [options] [command]
CommandPurpose
initScaffold a flat .overwire/ config tree
doctorHealth-check Node, the container engine, and your config
parseParse a workflow YAML file and print its structure
listList workflows with their triggers and jobs
lintLint a workflow file for common issues
explainExplain how Overwire would support a workflow without running it
simulatePrint a simulated event payload
runExecute a workflow locally, mock by default
chainRun or inspect workflow-chain scenario sessions
resolveFetch and parse an action’s action.yml
seed-mocksWrite a mock contract for every uses: in a workflow
statusShow latest workflow and check status for a ref or SHA
historyList recent workflow runs for the current project
cacheInspect or clear the action cache
validateValidate every workflow and config file without running anything
schemaPrint the JSON Schema for a .overwire/ config format
agentsPrint the guide for AI agents driving Overwire
licenseManage the Overwire Pro license shared with the desktop app

Most commands accept --config-root <dir> to point at a .overwire/ directory outside the current working directory. When the config root is some/repo/.overwire, the project identity derives from some/repo.

Every introspection and execution command has structured output: parse, list, lint, explain, status, history, chain, validate, doctor, doctor capabilities, init, seed-mocks, cache, and license status accept --json; simulate and schema always print JSON; run --json streams run events as JSON lines and ends with a single run:result envelope. Unhandled errors in --json invocations print one structured {"error":{"kind","label","message","guidance"}} object to stderr.

CodeMeaning
0Success — including a run correctly skipped by trigger filters and validation that found only warnings.
1The run (or lint/validate) concluded failure or cancelled, or an unhandled error occurred.
2Parse, configuration, validation, usage, or licensing errors — nothing executed.
130 / 143Interrupted by SIGINT / SIGTERM.

overwire.io

Overwire is not affiliated with, endorsed by, or sponsored by GitHub, Inc., Microsoft Corporation, or Docker, Inc. GitHub and GitHub Actions are trademarks of GitHub, Inc.