Overview
On this page
coprctl is a reimagined command-line and agent interface for the Fedora
Copr build system. Copr is Fedora's lightweight build service: you give it
sources and it gives you signed RPM repositories.
The project has two audiences:
- Humans who use Copr as a daily driver and want a coherent command grammar, live build logs, and declarative project state.
- Agents who need a discoverable, deterministic, machine-readable
interface that can be driven from
schemaoutput and structured events.
Goals
- One grammar:
coprctl <resource> <verb> [ref]. A new source type is a flag value, never a new command. - Official Copr terminology as canonical, with aliases accepted.
- Everything machine-readable:
--output json|jsonl|yamlon every command, stable exit codes, structured error objects. - Live logs as a first-class verb, including concurrent multi-chroot tail.
- Declarative project state with apply, diff, and export.
- Webhooks configured end to end in one command.
- A TUI only where it beats text and never blocks automation.
- A generated agent skill that cannot drift from the CLI.
- A single static binary with no runtime.
- Instance-agnostic: Fedora, staging, openEuler, and self-hosted are all first-class profiles.
See the design section for how these are realized.