Skip to main content
The MergeGuide CLI ships as the Python package mergeguide and installs a single mergeguide executable.
Requires Python 3.11 or newer. See Install the CLI for details.

Global options

These apply to mergeguide before any subcommand:

Command overview

The CLI has nine top-level commands and five command groups:

mergeguide check

Check files against policies.
PATHS are files or directories to check. With no paths, check reads git-staged changes (or from stdin).

mergeguide init

One-shot first-run orchestrator. After pip install mergeguide, run init to preflight your environment, write config, authenticate, install the MCP server via npx, register it in your project’s .mcp.json, and install git hooks. Every step is idempotent.

mergeguide bootstrap

Install Semgrep, install git hooks, and emit MCP config in one step. Each step is best-effort and idempotent.

mergeguide policies

List the policies available to you.

mergeguide completions

Generate a shell completion script for bash, zsh, or fish.

mergeguide doctor

Diagnose MergeGuide configuration and connectivity. Run this first when something isn’t working.

mergeguide login

Authenticate with the dashboard. This is a top-level alias for mergeguide auth login.

mergeguide install

Install or uninstall the MergeGuide PreToolUse hook for an AI agent runtime.

mergeguide verify-evidence

Verify a signed MergeGuide evidence artifact. Exits 0 if valid, 1 if invalid/tampered, 2 if malformed, and 3 if a required network step was unreachable.

mergeguide auth

Authentication subcommands.

mergeguide config

Manage MergeGuide configuration.

mergeguide hooks

Manage git hooks for local policy enforcement. hooks install options:

mergeguide sbom

Generate a Software Bill of Materials from your dependency manifests. sbom generate options:

mergeguide scan

Run the specialized security scanners. Both subcommands share these options: scan iac supports Terraform, CloudFormation, Kubernetes, and Helm.

Exit codes

verify-evidence and the scan subcommands use their own exit-code conventions — see each command above.