Contributing
Small, focused changes are easier to review and safer to merge. Keep public behavior explicit, tested, and documented.
Development setup
git clone https://github.com/sachncs/btx.git
cd btx
./setup.sh Use Python 3.12 or newer. The setup script installs locked development dependencies, the site dependencies, and runs the validation suite.
Before opening a change
- Run
make test-all. - Run
make docker-testfor changes to packaging, CI, or dependencies. - Run the site screenshot and mobile inspector for visual changes.
- Update the standalone site docs when user-facing behavior changes.
Commit style
Use Conventional Commits, for example fix: bound provider responses, docs: clarify source installation, or feat: add taproot helper. Keep commits atomic and explain compatibility-sensitive changes.
Pull requests
- Describe the behavior change and its compatibility impact.
- Include regression tests for defects and edge cases.
- Do not claim PyPI availability until the release workflow is explicitly enabled.
- Keep generated environments and build output out of commits.