Contributing
July 10, 2026 ยท View on GitHub
Thanks for wanting to contribute. One rule up front:
Human-authored pull requests targeting main must be raised through no-mistakes.
We require this to reduce the maintainer's burden of reviewing and merging contributions.
no-mistakes puts a local git proxy in front of your real remote.
Pushing through it runs an AI-driven review/test/build pipeline in an isolated worktree, forwards the push to the configured target only after every check passes, and opens a clean PR automatically.
Fork-based contributions require no-mistakes v1.30.1 or newer.
A GitHub Actions check (Require no-mistakes) runs on PRs targeting main and fails if the body is missing the deterministic signature that no-mistakes writes.
The release and dependency bots are exempt so their automation keeps working, but regular contributor PRs without the signature will not be reviewed or merged.
A second GitHub Actions check (Guard generated files) fails PRs that hand-edit release-please-generated files.
Release-please PRs are exempt because they are the only place those files should change.
Workflow
-
Fork the repo, then clone the parent repo or set your local
originback to the parent repo (git@github.com:kunchenguid/axi.git). -
Create a branch and make your changes.
-
Initialize or refresh the gate with your fork as the push target:
no-mistakes init --fork-url git@github.com:<you>/axi.git. -
Commit your changes.
-
Push through the gate instead of pushing to
origin:git push no-mistakes -
Run
no-mistakesto attach to the pipeline, watch findings, and auto-fix or review as needed. -
Once the pipeline passes, it pushes your branch to your fork and opens the PR against this repo for you.
See the no-mistakes quick start for the full first-run walkthrough.
Adding your AXI to the catalog
The catalog has one source of truth: catalog.yaml.
The tables in README.md and on axi.md are generated from it.
- Add one entry for your AXI to the
communitylist incatalog.yaml. - Run
pnpm run docs:gento regenerate README.md and docs/index.html. - Commit all three files and open your PR through the workflow above.
Do not hand-edit the generated table regions (marked with generated:... comments); the docs-check CI job fails on drift.
Repo conventions
-
AXI is a pnpm monorepo for the AXI docs, benchmark harnesses, installable agent skills, and the
axi-sdk-jspackage. -
Use Node 24 locally to match CI.
-
The SDK package lives in
packages/axi-sdk-js. -
Unit tests use Vitest and are co-located under
test/. -
Use pnpm for package scripts.
-
Run the same gate commands that CI runs before pushing:
pnpm install --frozen-lockfile pnpm run format:check pnpm run lint pnpm --dir packages/axi-sdk-js run build pnpm --dir packages/axi-sdk-js test -
packages/axi-sdk-js/dist/is generated bypnpm --dir packages/axi-sdk-js run buildand is intentionally not committed. -
Do not hand-edit
packages/axi-sdk-js/CHANGELOG.mdor.release-please-manifest.json. -
The
Guard generated filescheck enforces that rule on pull requests tomain. -
Those files are regenerated by release-please from conventional commit messages.
-
If you want your change to appear in release notes, use a conventional commit message such as
feat:,fix:, ordocs:. -
If you touch
bench-browser/orbench-github/, also run that package's relevant scripts before pushing.
Questions
Open an issue, or talk to me on Discord.