Please see Documentation
This repository serves as the Central Contract Repository for the following API Specifications / Contracts
- OpenAPI
- GraphQL
- gRPC
- Async API
These contracts govern interactions between sample applications which you can find here
Backward compatibility between API specifications is now automatically checked using our GitHub Actions workflow. This ensures that changes in your branch are compatible with the main branch before merging.
- When you push changes to a branch or create a pull request targeting the main branch, the CI workflow is triggered.
- The workflow identifies changed API specification files (YAML, JSON, and GraphQL).
- For changed OpenAPI specifications, it runs a backward compatibility check using the Specmatic.
- For changed GraphQL schemas, it performs a similar check using the Specmatic GraphQL.
Below is the instruction to run the OpenAPI linter on your local machine.
docker run --rm \
-v "$(pwd):/usr/src/app" \
-v "$HOME/.specmatic:/root/.specmatic:ro" \
-w /usr/src/app \
specmatic/enterprise \
lint 'io/specmatic/examples/store/openapi/*.yaml'
This runs Specmatic Linter on all OpenAPI specs under io/**/openapi using the recommended ruleset from specmatic-linter.yaml.