
From zero to accessibility findings in your editor, your pull requests, and one shared dashboard: about 10 minutes, one time. Every step below is copy-paste.
What you'll set up
One identity across four surfaces. Each is optional, but together they close the loop from writing code to shipping accessible code.
Command line
Find real issues in your code in seconds, before anything is sent anywhere.
Your editor
Your AI assistant gains Binclusive's audit and fix skills, in-editor.
Pull requests
Every PR is reviewed inline, with plain-language findings and fixes.
Dashboard
Findings become tracked tickets your whole team can see and resolve.
Before you start
- Node.js 20 or newer. Check with
node --version. - A GitHub repository where you can add a workflow, a secret, and a variable. You need admin or maintainer access.
- A Binclusive account. Sign in at app.binclusive.io (opens in new tab). You'll need admin access on your org to install the GitHub App.
- An editor that supports remote MCP, such as Claude Code. This is only needed for the in-editor skills in Step 5.
1. Install the CLI
The CLI is b8e. It powers local scans, setup, and the CI check.
npm install -g @binclusive/cli b8e --version # 0.8.0 or newer
If b8e isn't recognized, which is common on Windows, the npm global bin folder probably isn't on your PATH. Either add it by running npm config get prefix and adding that folder to PATH, then restarting the terminal, or skip PATH entirely and prefix every command with npx, for example npx @binclusive/cli login.
2. Sign in
This opens your browser once. No tokens to copy.
b8e login b8e whoami # confirms your user and active org
3. Scan your code
Point it at your repo. The scan runs locally, so nothing leaves your machine.
b8e scan .
You'll see findings with file locations, the WCAG criterion, and a plain-language fix for each. This is the fastest way to see value before any account setup, and it needs no key.
4. Wire it up
One command scaffolds the config, the CI workflow, and the editor-skills connection for this repo.
b8e init # interactive, asks which pieces to add # or, non-interactively, add everything at once: b8e init --all
This writes:
| File | What it is |
|---|---|
binclusive.json | Project config, detected stack, and enforcement settings. |
.github/workflows/binclusive.yml | The CI accessibility check. |
.mcp.json | The editor-skills server entry. |
After init, commit these files. The CI check only runs once the workflow is pushed.
5. Add the audit skills to your editor
This gives your editor's AI the Binclusive skills: map a project, run an audit, and apply fixes. No token needs to be pasted; it signs you in through the browser.
claude mcp add --transport http binclusive https://mcp.binclusive.io/mcp
Or paste this into your editor's MCP config:
{ "mcpServers": { "binclusive": { "type": "http", "url": "https://mcp.binclusive.io/mcp" } } }
Restart your editor. On first use, it opens a browser to sign in, then the skills are available. Try prompting: "Use Binclusive to map this project and run an accessibility audit."
6. Turn on CI checks
Two values connect the workflow to your dashboard: a key, stored as a secret, and a project id, stored as a variable.
a. Provision a CI key
In the dashboard, go to Settings -> CI Access -> Provision CI Token. Copy the b8e_... key. It is shown only once.
b. Add it as a repository secret
In your repo, go to Settings -> Secrets and variables -> Actions -> New repository secret:
| Name | Value |
|---|---|
BINCLUSIVE_API_KEY | the b8e_... key from step a |
c. Add your project id as a repository variable
Open your project in the dashboard and copy its id. It starts with prj_. Then go to Settings -> Secrets and variables -> Actions -> Variables -> New repository variable:
| Name | Value |
|---|---|
BINCLUSIVE_PROJECT_ID | your prj_... project id |
The workflow already references both values because init wrote it that way. You just supply the values here.
7. Install the GitHub App
This lets findings post as inline review comments from Binclusive-Bot on your pull requests, with your branding and plain-language guidance.
Install it from the dashboard: Settings -> CI Access -> Install GitHub App. Choose your organization and the repositories to enable. Installing from the dashboard automatically links the installation to your Binclusive org, which is what lets the bot post.
Why from the dashboard? The App must be tied to your Binclusive organization, not just installed on GitHub. The dashboard flow does both in one step. Permissions needed: read metadata, read and write checks, and read and write pull requests.
8. Open a pull request
That's the whole loop. On your next PR:
- Binclusive-Bot posts inline reviews on the changed lines, each with a fix.
- Findings appear as tickets in your dashboard project.
- The check is advisory by default with
fail-on: warn. It reports but never blocks the merge. Change tofail-on: blockto gate.
Configuration reference
| Name | Set as | Value |
|---|---|---|
BINCLUSIVE_API_KEY | repo secret | The b8e_... CI key from Settings -> CI Access. Authenticates the CI send. Not a personal key. |
BINCLUSIVE_PROJECT_ID | repo variable | Your prj_... project id. Routes findings to the right dashboard project. |
The interactive CLI uses browser sign-in with b8e login, so no key is needed for local use. The key above is only for CI.
Review surfaces: no duplicates by design
Findings surface in two complementary places, split so a pull request is never annotated twice.
On pull requests
Binclusive-Bot posts each finding as a review comment on the diff, with the fix. This is the PR surface.
On the default branch
Pushes to main upload a SARIF report, so findings also appear as native code-scanning alerts in your Security tab.
What it checks
Binclusive runs static analysis across your source, plus the full axe-core ruleset on any live URL. Every finding is mapped to a WCAG success criterion.
- web: React / TSX
- iOS: SwiftUI
- Android: layouts
- Shopify: Liquid themes
- Unity: scenes
- web: any live URL with axe-core
Troubleshooting
b8e: command not found / "not recognized"
The npm global bin folder isn't on your PATH. Run npm config get prefix and add that folder to PATH, then restart the terminal. You can also prefix commands with npx, for example npx @binclusive/cli <command>. On Windows, a fresh terminal after the global install is usually enough.
CI says "no project id was found"
Set the BINCLUSIVE_PROJECT_ID repository variable to your prj_... id, or add "project": "prj_..." to binclusive.json. The key alone isn't enough because findings need a project to file to.
The check runs but no tickets appear in the dashboard
Confirm BINCLUSIVE_API_KEY is the CI key from Settings -> CI Access. It should be an org key, not a personal API key. If your org is brand-new, dashboard ingestion may need to be enabled. Contact support.
I see code-scanning annotations but no Binclusive-Bot reviews
The GitHub App isn't linked to your Binclusive org yet. Install it from the dashboard in Step 7. Installing directly on GitHub doesn't create the link the branded reviews need.
Findings show up twice (two bots)
You're on an older workflow that uploaded SARIF on every event. Re-run b8e init --ci to regenerate it. The current workflow posts branded reviews on PRs and uploads SARIF only on main, so there's no double-posting.
CI finds "0 changed files"
The checkout is shallow. The workflow needs fetch-depth: 0 on the actions/checkout step, which the scaffolded one already has, so the diff against the base branch works.
Your source stays yours
Your code never leaves your machine. Scanning runs locally in your CI runner. Only a small metadata fingerprint of each finding, a location marker and never file contents or source lines, is sent to your dashboard. Pull-request annotations are posted to GitHub, which already holds your code.
Binclusive builds accessibility infrastructure for engineering teams. Start at app.binclusive.io (opens in new tab).