#release-automation #agent #ci #owner #json-output #mcp #changelog #io-command

bin+lib cargo-governor

Machine-First, LLM-Ready, CI/CD-Native release automation tool for Rust crates

12 stable releases

Uses new Rust 2024

new 2.0.3 Apr 12, 2026
1.12.0 Feb 20, 2026
0.0.6 Feb 6, 2026

#189 in Cargo plugins

MIT/Apache

555KB
13K SLoC

cargo-governor

CLI and public integration surface for cargo-governor.

cargo-governor is the executable crate in the workspace. It provides:

  • owners commands for crates.io owner management
  • release commands for semantic versioning, changelog generation, publish, and push
  • JSON output for CI and agents
  • MCP transport and agent context export

The CLI is the main end-user interface. If you need programmatic use inside Rust code, prefer the governor-application crate.

Installation

cargo install cargo-governor

Then authenticate with crates.io once:

cargo login

The token is stored in ~/.cargo/credentials.toml and used automatically by cargo-governor.

Release Workflow

The default UX is commit-first:

git commit -m "fix: complete release flow"

cargo-governor --dry-run release full --format json
cargo-governor release full --format json

Mutating release commands reject dirty worktrees and manifest/tag version drift by default. That keeps the release path predictable and lets the tool own the release commit, tag, and changelog changes.

Command Groups

Owners

cargo-governor owners show

cargo-governor owners check
cargo-governor owners sync --dry-run

Release

cargo-governor release status --format json
cargo-governor release analyze --format json
cargo-governor release plan --format json
cargo-governor release bump --format json
cargo-governor release publish --format json
cargo-governor release full --format json

Agent And MCP

cargo-governor agent context --format json
cargo-governor agent export-docs --output-dir .
cargo-governor mcp serve

JSON Output

Every machine-oriented command returns the same outer envelope:

{
  "schema_version": 2,
  "success": true,
  "command": "release.analyze",
  "workspace": "my-workspace",
  "data": {},
  "errors": [],
  "metrics": {
    "execution_time_ms": 12
  }
}

Owners Configuration

[workspace.metadata.governor.owners]
users = ["org-bot"]

[workspace.metadata.governor.owners.groups]
core = ["alice", "github:myorg:core-team"]

[package.metadata.governor.owners]
users = ["bob"]
groups = ["core"]
strategy = "merge"

License

MIT OR Apache-2.0

Dependencies

~22–32MB
~588K SLoC