Overview

Referencestable
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 schema output and structured events.

Goals

  1. One grammar: coprctl <resource> <verb> [ref]. A new source type is a flag value, never a new command.
  2. Official Copr terminology as canonical, with aliases accepted.
  3. Everything machine-readable: --output json|jsonl|yaml on every command, stable exit codes, structured error objects.
  4. Live logs as a first-class verb, including concurrent multi-chroot tail.
  5. Declarative project state with apply, diff, and export.
  6. Webhooks configured end to end in one command.
  7. A TUI only where it beats text and never blocks automation.
  8. A generated agent skill that cannot drift from the CLI.
  9. A single static binary with no runtime.
  10. Instance-agnostic: Fedora, staging, openEuler, and self-hosted are all first-class profiles.

See the design section for how these are realized.