Skip to content

[Extension]: Update gates (Quality Gates — Enforcement Layer) to 0.3.3 #3755

Description

@schwichtgit

Extension ID

gates

Extension Name

Quality Gates (Enforcement Layer)

Version

0.3.3

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.3/gates-0.3.3.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 11 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.3/gates-0.3.3.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.3",
    "download_url": "https://github.com/schwichtgit/spec-gates/releases/download/v0.3.3/gates-0.3.3.zip",
    "requires": {
      "speckit_version": ">=0.12.0"
    },
    "provides": {
      "commands": 8,
      "hooks": 2
    },
    "tags": [
      "quality",
      "enforcement",
      "hooks",
      "ci",
      "governance"
    ],
    "updated_at": "2026-07-26T00: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.3.2):
full commit-level delta at schwichtgit/spec-gates@v0.3.2...v0.3.3
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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions