Contributor conventions¶
Topics: architecture, contributing
Repository-wide Python and documentation rules come from the shared Haidra standards. SDK changes also preserve typed endpoint metadata and deterministic generated reference output.
Required workflow¶
- Make behavior, tests, and documentation changes together.
- Run
uv run pre-commit run --all-filesand the affected tests. - Run
uv run python docs/build_docs.py generateafter changing included modules or request metadata. - Run
uv run python docs/check_docs.py --fastbefore committing documentation. - Run
uv run python docs/build_site.py --clean --strictfor changes affecting rendered structure or links.
Public modules, classes, methods, fields, and variables use Google-style docstrings. Request classes declare endpoint, method, model name, and successful response types as class methods. Pydantic aliases preserve wire compatibility while Python names follow snake case.
Code map¶
| Rule | Source |
|---|---|
| Python conventions | docs/haidra-assets/docs/meta/python.md |
| Documentation conventions | docs/haidra-assets/docs/meta/documentation.md |
| Pull-request conventions | docs/haidra-assets/docs/meta/pull_requests.md |
| API reference generation | docs/build_docs.py, main |
| Documentation fast checks | docs/check_docs.py, main |
Generated pages and indexes are reviewed as tracked output. CI rejects drift, broken code references, em dashes in curated prose, unresolved internal links, and front matter that renders as page text.