CI integration and badge
Block a pull request below a threshold, and show the score in a README.
GitHub Actions
- name: cabfy audit
env:
CABFY_API_KEY: ${{ secrets.CABFY_API_KEY }}
run: npx cabfy audit https://my-store.com --fail-under 60That's all. Commit, branch and run URL are picked up from the environment automatically — no extra flags. The step fails if the score drops below 60, which fails the job.
Choosing the threshold
60 is the boundary between fail and warn: below it, a structural obstacle stops an agent from working. That's the right starting point for a blocking gate, because it only fires on a real problem. Moving to 85 (the pass boundary) means demanding excellence on every commit — workable once the store is already in good shape, brutal before that.
GitLab CI
audit:
image: node:22
script:
- npx cabfy audit https://my-store.com --fail-under 60
variables:
CABFY_API_KEY: $CABFY_API_KEYGitHub App (native integration)
Install cabfy directly on your repository as a native GitHub App. It runs automatically on every PR, posts results as a Check Run, and optionally blocks the merge if the score falls below your threshold.
Step 1: Install cabfy
- From your dashboard, go to Settings → GitHub.
- Click "Connect GitHub" and authorize the app.
- Select the repository where cabfy should run.
- cabfy now creates a Check Run on every PR to your repository.
Step 2: Enable branch protection (required)
- Go to your repository Settings → Branches → Branch protection rules.
- Create a new rule for your main branch (e.g., main, master).
- Check "Require status checks to pass before merging".
- In the list of checks, find and select "cabfy".
- Save. From now on, any PR with a failed Check cabfy cannot be merged — the Merge button is grayed out.
Step 3 (optional): Set a fail threshold with .cabfy.yml
By default, the Check always passes (green). To make it fail (red) below a certain score, add a .cabfy.yml file to your repository root:
business: https://my-store.com
fail_under: 70 # optional: check fails if score drops below this- fail_under is optional. Without it, the Check is always green (informational).
- fail_under is a Growth plan feature. On Free plans, this line is ignored and the Check remains green.
The badge
A public SVG badge showing a site's latest Agent Readiness tier, to embed in a README. It updates after a completed Agent Readiness scan.
- Dashboard, "Badges" section: pick a store you've already audited, or type its URL.
- The token and badge URL are shown only once — copy the suggested Markdown snippet.
- The badge updates itself after each new Agent Readiness scan completes: nothing to regenerate.
[](https://my-store.com)The badge is cached for five minutes: allow for that delay before a new tier shows up.
What the badge doesn't say
A revoked token, and a project with no completed Agent Readiness scan, both render a gray "no data" badge rather than a broken image or an HTTP error. That's intentional: a public badge should never reveal why it has no data. If you see "no data", check that an Agent Readiness scan has completed for the project.