Skip to main content

Contributing

Bank2ai is an open standard maintained at github.com/bank2ai/bank2ai. Contributions are welcome.

Working in the monorepo​

The repo is a uv workspace. From the root:

uv sync # install library + examples + dev deps
uv run --package bank2ai-demo bank2ai-demo # run the demo server
uv run pytest examples/demo # run the demo example tests
uv run python scripts/generate_spec.py # regenerate specs/bank2ai.json

Where to make changes​

If you're changing…Edit…Then run…
Tool inputs/outputssrc/bank2ai/tools.py, src/bank2ai/models.pyuv run python scripts/generate_spec.py; the drift test in examples/demo/tests/test_schema_sync.py should pass.
Spec narrativespecs/bank2ai.spec.mdNothing, the docs site renders it directly.
Library docsdocs/docs/library/*.mdcd docs && npm run start to preview.
Tool / model reference pagesDon't, they're generated from specs/bank2ai.json by docs/scripts/sync-spec.mjs.

Pull request flow​

  1. Open an issue first for anything spec-affecting, so the design is discussed before code lands.
  2. Fork, branch, and make your change.
  3. Run the relevant tests (see the table above).
  4. Open a PR and link the issue.

Code of conduct​

Be the kind of collaborator you'd want on the other side of the conversation.

Working on the docs site​

cd docs
npm install
npm run start

The docs build runs the spec-sync script automatically (prestart / prebuild). If you change anything under specs/, those changes flow into the site automatically.