Thanks for contributing to Bolo.
Bolo is a macOS menubar app for push-to-talk dictation. Changes should be tested on macOS with both of these permissions enabled:
- Microphone
- Accessibility
You will also need a TELNYX_API_KEY to exercise the transcription flow.
- Clone the repository.
- Use Python 3.9 or newer.
- Install dependencies:
pip3 install -r requirements.txtIf you are not using requirements.txt yet, install.sh shows the packages required by the current app.
- Export your API key:
export TELNYX_API_KEY="your_key_here"- Run the app:
python3 bolo.pyLogs are written to:
/tmp/bolo.logUseful contributions include:
- Bug fixes
- Better install and setup documentation
- Reduced transcription latency or better error handling
- UI and menu improvements
- Tests for parsing, correction logic, and utility code
- macOS permission and startup fixes
Please open an issue with:
- What you expected
- What happened instead
- Steps to reproduce
- macOS version
- Python version
- Whether Microphone and Accessibility permissions were granted
- Relevant log lines from
/tmp/bolo.logwith secrets removed
Do not include API keys, tokens, or personal data.
- Fork the repo and create a focused branch.
- Keep changes narrow and explain the reason for the change.
- Update docs when behavior changes.
- Test your change locally.
- Open a pull request with a clear summary, screenshots if UI changed, and manual test notes.
Small, focused pull requests are easier to review than broad refactors.
- Keep dependencies minimal.
- Prefer simple changes over broad rewrites.
- Preserve existing behavior unless the pull request is intentionally changing it.
- Do not add telemetry, background recording, or behavior that weakens the push-to-talk privacy model without explicit discussion.
For security-sensitive issues, do not open a public issue first. Follow the process in SECURITY.md.