StackMap
Subscribe
Explore / govctl
govctl-org

govctl

Governance-as-code CLI for AI-assisted development: prompts and patches become RFCs, ADRs and work items with executable verification gates — reviewable, traceable, phase-gated delivery.

237 11 Rust MITupdated yesterday
Curator's take

The uncomfortable truth it addresses: with AI coding, 'done' drifts toward 'the agent stopped typing'. govctl makes governed artifacts part of the loop — RFCs state what must be true, ADRs record why, work items carry acceptance criteria, and verification guards gate completion. If your team ships AI-generated code into anything regulated or long-lived, this is the missing control plane. NOT lightweight: it's process-as-code, and process you don't enforce becomes decoration; also young (~240 stars) — expect to shape it as much as use it.

Mapped by ShipWithAI editors · links verified
README.md

govctl logo

govctl

CI codecov Crates.io License: MIT Discord governed by govctl

A governance harness for AI coding.
Turn prompts and patches into RFCs, ADRs, work items, and guarded delivery.

govctl hero illustration showing AI coding workflows flowing through RFCs, ADRs, work items, and guards into reviewed delivery


govctl is a governance-as-code CLI for teams using AI to build software seriously.

It gives AI-assisted development a control plane that lives in your repo:

  • RFCs say what must be true
  • ADRs record why a design was chosen
  • Work items track execution and acceptance criteria
  • Verification guards enforce executable completion gates

The point is not bureaucracy. The point is that AI-generated changes become reviewable, traceable, and phase-gated.

Why govctl

Most AI coding tools optimize for generation. govctl optimizes for delivery.

Without explicit governance, teams drift into the same pattern:

  • ideas jump straight into implementation
  • decisions live in chat history instead of artifacts
  • code and specs diverge silently
  • "done" means "the agent stopped typing", not "the work passed verification"

govctl closes that gap by making governed artifacts, lifecycle, and verification part of the normal workflow.

Without govctl:
  prompt -> code -> drift -> arguments

With govctl:
  RFC / ADR -> work item -> guarded implementation -> stable history

What Makes It Different

1. Spec-first by default

govctl is built around the idea that implementation follows governed artifacts.

In practice, that means:

  • RFCs describe externally relevant behavior and constraints
  • ADRs record design choices and trade-offs
  • work items execute against those artifacts
  • verification guards and lifecycle gates decide when work is actually done

Instead of treating prompts as the source of truth, the source of truth becomes governed artifacts in the repository.

2. Artifacts are the control plane

govctl does not hide governance behind a web app or an MCP server.

Artifacts live in gov/ as TOML files with schema headers, references, and stable CLI access. That means:

  • changes are diffable
  • decisions are reviewable in PRs
  • agents can operate against files and commands you already understand

3. One CLI agents can reliably operate

The CLI is the operating surface for agents:

  • list, show, get, edit
  • resource-specific lifecycle verbs like adr accept, rfc advance, rfc supersede, and work move
  • path-first mutation through edit
  • explicit help text designed to act as a reliable command contract

This matters because agent workflows get better when the interface is stable, local, and inspectable.

4. Works in brownfield repositories

This is not only for greenfield projects.

Continue your stack

What teams reach for next — and why each earns a place beside govctl. Ranked by curator confidence.