Skip to content

Add SpecShield - #816

Open
specshield26 wants to merge 1 commit into
apisyouwonthate:mainfrom
specshield26:add-specshield
Open

Add SpecShield#816
specshield26 wants to merge 1 commit into
apisyouwonthate:mainfrom
specshield26:add-specshield

Conversation

@specshield26

Copy link
Copy Markdown

SpecShield is a contract compatibility testing tool for OpenAPI. It compares two OpenAPI descriptions to detect breaking changes, verifies a provider description against consumer contracts, and gates deployments in CI via can-i-deploy.

Against the contribution guidelines:

  • Real-world use — ~7,400 npm downloads over the last 12 months, ~1,900 in the last 30: https://www.npmjs.com/package/specshield
  • Testable — published on npm and usable with no account: npx specshield compare old.yaml new.yaml. There is also a free, no-login comparison at https://specshield.io/diff if you would rather not install anything to review this.
  • Relevant — OpenAPI-native, MIT licensed.
  • Terminology — I have used "OpenAPI description" throughout per the glossary; please correct me if I have slipped anywhere.

Categories: misc and schema-validators — matching where the other change-detection tools sit (oasdiff, openapi-diff, api-smart-diff) and vacuum's use of schema-validators for linting. Happy to move it if you would place it differently. One note: bdct verify-provider does execute requests against a live provider and validate the responses against the description, so testing may also apply — your call.

Version supportv2: true is included because the parser accepts Swagger 2.0 documents; I verified a 2.0-to-2.0 comparison end to end before claiming it. v3_2 is left false as I have no 3.2-specific handling to point to.

@netlify

netlify Bot commented Aug 16, 2026

Copy link
Copy Markdown

👷 Deploy request for openapi-dot-tools pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit 90befad

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant