suky ships your contracts to CI as ODCS (Open Data Contract Standard) YAML. A workflow bundles the contract files in your repo and posts them to the github-ci-check function, which classifies every proposed change as breaking, additive, or cosmetic and fails the pull request on breaking changes.
Setup
- Generate a workspace API key in Settings → Security and add it as a repository secret named
SUKY_API_KEY. Add your suky API host as a repository variableSUPABASE_URL. - Run
npx suky initin your repo — it scaffolds acontracts/folder and.github/workflows/suky-contract-check.yml.
Condensed for readability — npx suky init writes the full workflow (multi-file bundling with --- separators and an empty-bundle guard) for you.
What it checks
- Each proposed contract change is classified as breaking, additive, or cosmetic against the active contract.
- The workflow fails the job when the response status isn't
passed— a breaking change (e.g. a removed event or a property type change) blocks the merge; additive and cosmetic changes pass. - With the suky GitHub App installed, the check result is also reported back on the pull request.