Add a published pack with backstop pack add org/pack@version. That pins the version in backstop.yml and writes backstop.lock. Restore locked packs with backstop pack install. Confirm them with backstop pack list.
Pack examples
Published packs.
Choose a pack
Choose the narrowest maintained pack that owns the standard and supports the repository’s tools. Check its release, engine requirements, fixture coverage, and maintenance state before composing it with other packs.
Published pack catalog
| Pack | Version | Covers | Engines | Source |
|---|---|---|---|---|
| backstop-ai/backstop-core-architecture | 0.1.7 | go enforcement: Backstop Core package-topology enforcement pack | go-arch-lint | https://github.com/backstop-ai/backstop-core-architecture |
| backstop-ai/backstop-design-system | 0.1.5 | any recipes: Backstop's visual system as executable policy. | semgrep-design | https://github.com/backstop-ai/backstop-design-system |
| backstop-ai/backstop-harness-toolchain-pack | 0.1.1 | typescript enforcement: Harness-specific Backstop toolchain pack for the OpenCode Bun monorepo | harness-core-test, harness-core-typecheck, harness-coverage, harness-format, harness-lint, harness-schema-test, harness-schema-typecheck, harness-test, harness-typecheck | https://github.com/backstop-ai/backstop-harness-toolchain-pack |
| backstop-ai/backstop-self | 1.1.3 | go enforcement: Backstop's own dogfood pack: zero-baked-language enforcement over the backstop spine | — | https://github.com/backstop-ai/backstop-self |
| backstop-ai/bash-toolchain | 0.1.2 | bash enforcement: Bash mechanism pack for static test-function discovery and exactly-once execution of the repository's supported canonical verifiers. | bash-documentation-semantics-test, bash-test | https://github.com/backstop-ai/bash-toolchain |
| backstop-ai/bun-toolchain | 1.3.0 | typescript enforcement: Backstop toolchain pack: Bun (lint/build/test/coverage) | bun-coverage, bun-test, oxlint, prettier, typecheck | https://github.com/backstop-ai/bun-toolchain |
| backstop-ai/ci-workflows | 0.1.2 | any recipes: Four per-platform gate-workflow recipes — GitHub Actions, GitLab CI, Bitbucket Pipelines and Jenkins — that scaffold a CI job which installs a pinned backstop CLI, installs the pack fleet, and runs `backstop gate` as the blocking step, plus the twelve semgrep rules that keep those invariants from being silently undone by later edits. | semgrep-ci | https://github.com/backstop-ai/ci-workflows |
| backstop-ai/cobra-cli-standards | 0.2.1 | go enforcement: Backstop enforcement pack: cobra CLI discipline (secrets, streams, exit codes) | — | https://github.com/backstop-ai/cobra-cli-standards |
| backstop-ai/documentation-semantics | 0.1.1 | any enforcement: Reusable documentation semantics for canonical definition ownership and deterministic consumer-corpus dispatch proof. | — | https://github.com/backstop-ai/documentation-semantics |
| backstop-ai/go-contracts | 1.4.0 | go enforcement: Contracts pack (SPEC-038, BUNDLE-009 Seed 4) — the REAL installable pack SOURCE. | ast-grep-contracts, grep | https://github.com/backstop-ai/go-contracts |
| backstop-ai/go-distribution | 0.1.0 | go recipes: backstop pack: the Go release trinity — goreleaser, tag-gated release workflow, Homebrew formula, version stamping. Recipes + nine falsified rules. | semgrep-godist | https://github.com/backstop-ai/go-distribution |
| backstop-ai/go-standards | 1.2.1 | go enforcement: Backstop enforcement pack: Go code standards | — | https://github.com/backstop-ai/go-standards |
| backstop-ai/go-substantiveness | 1.2.1 | go enforcement: Substantiveness pack (SPEC-037, BUNDLE-009 Seed 3) — the REAL installable pack source. | ast-grep-substantiveness | https://github.com/backstop-ai/go-substantiveness |
| backstop-ai/go-toolchain | 1.9.0 | go enforcement: Backstop toolchain pack: Go (build/test/lint/coverage, test-name discovery) | go-build, go-coverage, go-test, golangci | https://github.com/backstop-ai/go-toolchain |
| backstop-ai/secrets | 1.1.0 | any enforcement: Backstop enforcement pack: secrets scanning (gitleaks → SARIF) | gitleaks | https://github.com/backstop-ai/secrets |
| backstop-ai/typescript-contracts | 1.4.0 | typescript enforcement: Backstop enforcement pack: TypeScript contract signatures | ast-grep-contracts, grep | https://github.com/backstop-ai/typescript-contracts |
| backstop-ai/typescript-standards | 1.1.1 | typescript enforcement: Backstop enforcement pack: TypeScript code standards | — | https://github.com/backstop-ai/typescript-standards |
| backstop-ai/typescript-substantiveness | 1.1.2 | typescript enforcement: Backstop enforcement pack: TypeScript test substantiveness | ast-grep-substantiveness | https://github.com/backstop-ai/typescript-substantiveness |
| backstop-ai/typescript-toolchain | 1.3.1 | typescript enforcement: Backstop toolchain pack: TypeScript (tsc/eslint/vitest, single-run coverage) | ts-audit, ts-coverage, ts-lint, ts-test, ts-typecheck | https://github.com/backstop-ai/typescript-toolchain |
| backstop-ai/vercel-supabase-standup | 0.2.0 | typescript recipes: Backstop pack: Vercel + Supabase standup recipe (founding fixture: bclabs-portal go-live) | bun-vehicle | https://github.com/backstop-ai/vercel-supabase-standup |
Install a published pack
Add the pack and version from the catalog:
backstop pack add backstop-ai/<pack>@<version>
That command clones the tagged release, validates it, installs it, merges configuration, pins the version in backstop.yml, and writes backstop.lock.
On a later clone, restore from the lock:
backstop pack install
Confirm the installed set:
backstop pack list
Commit backstop.yml and backstop.lock with the change. Git packs later move with backstop pack update.
Try a local pack first
Build the pack in its own directory and install that path into the project you want to prove against. Do this before you publish a tagged release.
Scaffold, check, and test in the pack directory:
backstop pack new --type engine --language go --slug my-standard
backstop pack check ./my-standard
backstop pack test ./my-standard
--type is engine, mechanism, or toolchain. What those types mean, and when to choose. Authoring details live in the guide.
From the consumer project, add the local path:
backstop pack add ./my-standard
That command validates the directory, copies it into .backstop/packs/, pins it as local in backstop.yml, and writes backstop.lock. There is no git tag yet.
Run the project’s gate:
backstop gate
After you edit the installed pack, refresh the lock:
backstop pack relock ./my-standard
Relock is local-source only. When the pack is ready to ship, publish a tagged release from its repository and add it with backstop pack add org/pack@version.