Skip to main content

Enforce Architecture Decision Records as executable rules — for both humans and AI agents

Project description

Archgate

Enterprise-grade linting and guardrails for AI work.

License: Apache-2.0 Release Docs OpenSSF Best Practices


AI agents write code fast, but they don't know your rules. Archgate turns your team's decisions into executable checks: a lint step for architecture, conventions, and AI output. Your agents read the rules before writing code, and archgate check blocks what slips through. In CI, in pre-commit hooks, and inside every major AI coding tool.

Write an ADR once. Enforce it everywhere.

How it works

Archgate has two layers:

  1. ADRs as documents: markdown files with YAML frontmatter stored in .archgate/adrs/. Each ADR records a decision: what was decided, why, and what to do and not do.
  2. ADRs as rules: each ADR can have a companion .rules.ts file that exports automated checks. Archgate runs these checks against your codebase and reports violations.
.archgate/
└── adrs/
    ├── ARCH-001-command-structure.md          # human-readable decision
    ├── ARCH-001-command-structure.rules.ts    # machine-executable checks
    ├── ARCH-002-error-handling.md
    └── ARCH-002-error-handling.rules.ts

When a rule is violated, archgate check reports the file, line, and which ADR was broken. Exit code 1 means violations. Wire it into CI and it blocks merges automatically.

The CLI is free and open source. Writing ADRs, enforcing rules, running checks in CI, and wiring up pre-commit hooks all work without an account or subscription.

Installation

Install via standalone script, npm, pip, dotnet, Go, gem, Maven, or proto. See the installation guide for all options and platform support.

Quick start

# 1. Initialize governance in your project
cd my-project
archgate init

# 2. Edit the generated ADR to document a real decision
# .archgate/adrs/ARCH-001-*.md

# 3. Add a companion .rules.ts to enforce it automatically
# .archgate/adrs/ARCH-001-*.rules.ts

# 4. Run checks
archgate check

Writing rules

Each ADR can have a companion .rules.ts file that exports automated checks. See the writing rules guide for examples and the full rule API reference.

Supercharge with AI plugins

Make your AI agent architecture-aware. With the optional editor plugins, your AI coding agent reads ADRs before writing code, validates changes against your rules, and captures new architectural patterns back into ADRs, automatically.

Plugins are available for Claude Code and Cursor.

archgate login             # one-time GitHub auth
archgate init              # installs the plugin automatically

Get started with plugins. The CLI works fully without them, but plugins close the loop between decisions and code.

Documentation

Full documentation is available at cli.archgate.dev, including guides for writing ADRs, writing rules, CI integration, editor plugin setup, and the complete CLI reference.

Contributing

See CONTRIBUTING.md for development setup and workflow.

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

archgate-0.48.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

archgate-0.48.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file archgate-0.48.0.tar.gz.

File metadata

  • Download URL: archgate-0.48.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for archgate-0.48.0.tar.gz
Algorithm Hash digest
SHA256 dc5ad3595156c65d50c8fad6c3f13cab32fa06a7c87c50876c04822ca2d53f30
MD5 fec036d070b52f711bc10592a341db83
BLAKE2b-256 17d8272916acac1aa5a0ddb0aca0abffa173af9c45569a2cc5127d08c4cad1c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for archgate-0.48.0.tar.gz:

Publisher: publish-shims.yml on archgate/cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file archgate-0.48.0-py3-none-any.whl.

File metadata

  • Download URL: archgate-0.48.0-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for archgate-0.48.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea60e261164ee89b86e77f1d9ee2e7e990d4ab9d1f935033c8bb01a01b8ecd26
MD5 8f3a37a02e8e5a8be219d01424c6548b
BLAKE2b-256 db7372e8f5dc5ec8dca07046faf8fadbfd5d0e4a6629eb58357c689d14dfd7f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for archgate-0.48.0-py3-none-any.whl:

Publisher: publish-shims.yml on archgate/cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page