Skip to content

[Extension]: Update gates (Quality Gates — Enforcement Layer) to 0.3.2 #3541

Description

@schwichtgit

Extension ID

gates

Extension Name

Quality Gates (Enforcement Layer)

Version

0.3.2

Description

Deterministic quality enforcement for Spec Kit projects at three boundaries: the agent boundary (Claude Code PreToolUse/PostToolUse/Stop hooks), the git boundary (pre-commit / commit-msg), and the CI boundary (projected GitHub Actions / GitLab CI / Jenkins pipelines). One policy file, one verify entrypoint, identical results at every boundary.

Author

schwichtgit

Repository URL

https://github.com/schwichtgit/spec-gates

Download URL

https://github.com/schwichtgit/spec-gates/releases/download/v0.3.2/gates-0.3.2.zip

License

MIT

Homepage (optional)

https://github.com/schwichtgit/spec-gates

Documentation URL (optional)

https://github.com/schwichtgit/spec-gates/blob/main/docs/how-it-works.md

Changelog URL (optional)

https://github.com/schwichtgit/spec-gates/releases

Required Spec Kit Version

=0.12.0

Required Tools (optional)

  • jq (required)
  • git (optional)
  • node with pinned prettier/markdownlint-cli2 (optional, for the lint gates)
  • shellcheck (optional, for shell linting)

Number of Commands

8

Number of Hooks (optional)

2

Tags

quality, enforcement, hooks, ci, governance

Key Features

  • /speckit.gates.init — Infer a quality policy from the repo, project the enforcement runtime, wire agent + git hooks, and run a self-test
  • /speckit.gates.verify — Run the full gate suite on demand (same checks as the Stop hook, pre-commit, and CI)
  • /speckit.gates.doctor — Check enforcement health: hooks wired, policy valid, runtime version matches extension
  • /speckit.gates.ci — Project CI enforcement for a platform: github | gitlab | jenkins
  • /speckit.gates.upgrade — Re-project the enforcement runtime after an extension update (never touches policy.json)
  • /speckit.gates.sync — Sync the policy baseline contract: pin, snapshot, and materialize the effective policy (--update moves the pin as a reviewable change)
  • /speckit.gates.propose — Propose this repo's policy deviations upstream as a change request against the baseline
  • /speckit.gates.constitution — Guided constitution session: interview to a profile, pick corpus principles, and produce an enforcement-annotated, ratifiable draft
  • /"policy.json" — Quality gate policy (user-owned; init seeds it, upgrade never overwrites)

Testing Checklist

  • Extension installs successfully via download URL
  • All commands execute without errors
  • Documentation is complete and accurate
  • No security vulnerabilities identified
  • Tested on at least one real project

Submission Requirements

  • Valid extension.yml manifest included
  • README.md with installation and usage instructions
  • LICENSE file included
  • GitHub release created with version tag
  • All command files exist and are properly formatted
  • Extension ID follows naming conventions (lowercase-with-hyphens)

Testing Details

Tested on: macOS (bash 3.2, BSD toolchain) and Linux/GNU (ubuntu-latest CI).

Test project: the extension repository dogfoods itself — CI projects the
released runtime and runs verify.sh --boundary ci, the canary suite
(planted violations must be rejected), and 10 test suites on every PR.
The release asset is sha256-checksummed and sigstore-signed; the release
workflow fails closed if the tag, manifest, and package versions disagree, or
if required package contents (manifest, constitution corpus, runtime) are
missing from the zip.

Downstream: in production use by real downstream projects (GitHub and
GitLab CI backstops); the 0.3.1 line carries fixes from structured downstream
feedback (issues #31#34).

Example Usage

# Install (this exact version)
specify extension add gates --from https://github.com/schwichtgit/spec-gates/releases/download/v0.3.2/gates-0.3.2.zip

# Or always the latest release
specify extension add gates --from https://github.com/schwichtgit/spec-gates/releases/latest/download/gates.zip

# Set up enforcement (infer policy, project runtime, wire hooks, self-test)
/speckit.gates.init

# Prove it holds
/speckit.gates.verify

Proposed Catalog Entry

{
  "_note": "This is an UPDATE of the existing 'gates' entry — replace version, download_url, provides, and updated_at in place; preserve created_at, downloads, and stars.",
  "gates": {
    "version": "0.3.2",
    "download_url": "https://github.com/schwichtgit/spec-gates/releases/download/v0.3.2/gates-0.3.2.zip",
    "requires": {
      "speckit_version": ">=0.12.0"
    },
    "provides": {
      "commands": 8,
      "hooks": 2
    },
    "tags": [
      "quality",
      "enforcement",
      "hooks",
      "ci",
      "governance"
    ],
    "updated_at": "2026-07-15T00:00:00Z"
  }
}

Additional Context

Update of the existing gates catalog entry (first listed at 0.1.0 via
github/spec-kit PR #3431). The entry's provides counts changed since
listing: 8 commands and 2 hooks.

Changes since the listed catalog version (0.1.0):
full commit-level delta at schwichtgit/spec-gates@v0.1.0...v0.3.2
release-by-release notes at https://github.com/schwichtgit/spec-gates/releases.

Release assets are sha256-checksummed and sigstore keyless-signed;
verification instructions are in the release notes. Release notes are
generated from Conventional Commits per release (no hand-maintained
changelog to drift).

Metadata

Metadata

Assignees

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions