contd documentation
Run work. Keep the result.
contd runs dependency-aware jobs in isolated Docker containers and keeps every run available for later inspection. It also supports read-only AI jobs with temporary workspaces and declared outputs.
The application
The contd command is the client. It validates pipeline
configuration, starts and stops the daemon, submits work, follows live
output, and reads saved results.
The local daemon owns the durable queue and executes one request at a time. A client can exit after submission without stopping the run.
Start here
For a first working pipeline, follow Getting started.
For the YAML language, see Configuration. For background execution and sockets, see Daemon and client.
For output, cancellation, and durable state, see Runs and results.
For Copilot-backed jobs, see AI jobs. For post-failure diagnosis, see Failed-job analysis.
The shortest useful session
contd daemon start contd validate contd run --follow --logs contd runs contd status <run-id> contd logs <run-id> contd artifacts <run-id> contd inspect <run-id>
Use contd run --foreground when the client should own
execution. Add --json to commands that feed another
program.
Requirements
- Go 1.25.5 or newer when building contd.
- Docker Engine or another reachable Moby-compatible daemon for container jobs.
- Git and working authentication for jobs that clone private sources.
- A logged-in GitHub CLI or Copilot account for the Copilot provider.
AI jobs do not need Docker. Container jobs do.