Contributing
Contributions are welcome across assets, runtimes, and documentation. Please read these guidelines before opening a pull request.
Development workflow
- Clone the repo (
~/hama) and install dependencies for both runtimes. - Create a feature branch with a descriptive name.
Run tests locally (see the Testing page) before opening a PR.
Record API, asset, and release changes in
llms.txtandCHANGELOG.md.
Code style
- Python: follow
ruff/blackdefaults. - TypeScript: use Bun’s formatter +
eslintconfig provided in the repo. - Keep changes modular; separate asset updates from runtime refactors when possible.
Documentation
Record API, asset, and release changes in llms.txt and
CHANGELOG.md.
Issue tracking
Use GitHub issues for bugs and feature requests. Include:
- Runtime + OS versions.
- Steps to reproduce (including sample text or audio).
- Log output or screenshots when available.
Release process
- Ensure parity checks pass.
- Update
llms.txt,CHANGELOG.md, and docs. - Publish
hamaandhama-jstogether. - Tag the repo with
vX.Y.Zand attach release notes.