Skip to content

ADR Packs

What ADR packs are (curated, reviewed collections of Architecture Decision Records you can import into any project), the difference between curated packs and community links, and how importing works.

An ADR pack is a curated collection of Architecture Decision Records bundled under a shared theme, ready to import into any project. Packs let you bootstrap governance from proven conventions instead of writing every decision from a blank page. A new project can go from ungoverned to enforcing a tested TypeScript-strictness baseline, a testing standard, and a security baseline in a few commands.

Packs are hosted in the open-source awesome-adrs registry. Each pack contains:

  • A manifest with metadata: name, version, maintainers, and tags.
  • One or more ADR documents in an adrs/ directory.
  • Optional companion rules files that enforce each decision automatically the moment you import it.

The registry distinguishes two kinds of sources:

SourceWhat it isTrust signal
Curated packsPacks reviewed and maintained by Archgate maintainersEarn a “Curated” badge; full CI on the repo
Community linksPointers to external, archgate-compatible ADR repositoriesNot maintained by Archgate; “not curated”

Curated packs live in the registry’s packs/ directory and cover common architectural concerns. The catalog spans concerns such as TypeScript strictness, testing standards, security baselines, accessibility, observability, REST API conventions, Next.js App Router patterns, and full stack-specific bundles for setups like Tauri desktop apps, and it grows as the community contributes.

Community links are a lightweight, git-native contribution model: rather than vendoring every external ADR set into the registry, the community section simply points to external repositories that follow the Archgate ADR format. They carry a distinct visual treatment so you always know a source is external and unreviewed. Importing from one uses the same flow as a curated pack. You just point at its git URL instead of a packs/... path.

Importing is a CLI operation. You can pull an entire pack, cherry-pick a single ADR, or import from any third-party repository. The CLI clones the source, copies the ADRs (and their companion rules files) into your project’s .archgate/adrs/, and remaps the IDs to fit your project’s domain prefixes so there are no collisions with what you already have. Every import is recorded in a manifest so you can track exactly where each ADR came from and when.

Conceptually, the flow is:

  1. Browse the registry to find packs that match your stack and concerns.
  2. Import a whole pack, a single ADR, or a community-linked external repo.
  3. Adapt. Imported ADRs are now your ADRs; edit them with the adr-author skill to fit your project. Their rules work immediately.

Browsing packs in a terminal works, but a visual surface makes discovery and composition far easier. The Archgate platform provides an ADR builder: browse and filter packs (toggle curated-only or include community), read each pack and ADR, cherry-pick decisions into a custom set, and copy the exact import command to run locally. The platform composes and recommends; the CLI still does the actual import. This keeps the CLI fully functional offline while the platform adds visibility on top.