Project
Contributing
Thanks for helping build the open agent platform for banks and fintechs.
The short version
- Fork, branch, and make your change with a failing test first (TDD).
- All four gates must be green before you open a PR:
$ pytest -q && ruff check . && ruff format --check . && mypy
- Conventional commits:
feat:,fix:,test:,docs:,chore:. - Open the PR. CI runs the same gates plus
banditandpip-audit.
The full contract (setup commands, conventions, what NOT to do) lives in AGENTS.md. It binds human and AI contributors alike; if you use an AI coding agent, point it at that file first.
Hard rules
- Runtime dependencies are frozen:
pydantic,httpx,pyyaml. PRs adding a runtime dependency will be declined unless the maintainers agreed first. yaml.safe_loadonly. Noeval,exec, orpickle, anywhere, ever.- A bugfix PR includes the failing test that reproduces the bug.
- Test output must be pristine: no warnings, no stray prints.
- Public interfaces are typed;
mypy --strictstays clean.
Good first contributions
- Handover backends for ticketing systems (Freshdesk, Zendesk, Salesforce):
subclass one
HandoverBackendclass, roughly 50 lines each. ChannelAdapterimplementations for more customer channels (Twilio, telephony stacks): two methods,receiveandsend.- Bridge adapters for additional LLM providers or internal gateways.
- Eval cohorts and adversarial synthetic personas for common banking flows.
Security issues
Do not open a public issue. See the security policy.
License
Zolva is Apache-2.0. By contributing you agree your work is licensed under Apache-2.0.
This page mirrors CONTRIBUTING.md in the repository; if they ever disagree, the repository file is authoritative.