Contributing
Build, test, take screenshots and send a pull request.
Contributions are welcome, from typo fixes to new features. Keep Warble local-first: no feature should send audio or text off the Mac.
Build and test
swift build
swift test --disable-sandbox
scripts/install.sh # build, bundle and install to ~/ApplicationsPreview mode and screenshots
WARBLE_PREVIEW opens any screen on sample data, without touching your real history, dictionary or settings:
WARBLE_PREVIEW=history .build/Warble.app/Contents/MacOS/warble startScenes: menubar, history, dictionary, settings, onboarding-0 to onboarding-5, and pill-recording, pill-transcribing, pill-inserted, pill-error. Permissions always read as granted in preview mode, so every Mac renders the same screens.
scripts/capture-screenshots.sh renders them all into docs-site/public/screenshots. It uses screencapture, so the terminal running it needs Screen Recording permission. Each scene is launched with open, which brings the window to the front, so captures show it active even when the terminal is in the background.
Docs
The site lives in docs-site, built with Fumadocs and exported as static HTML.
cd docs-site
bun install
bun run devPull requests
- Branch from
main. - Add tests for logic changes; UI and permissions need a manual check on a Mac.
- Run
swift testand, for docs changes,bun run build. - Open the pull request with a short description and a screenshot for UI changes.
Credits
Warble grew out of open-wispr by human37 and uses FluidAudio to run NVIDIA Parakeet. Warble and open-wispr are MIT licensed; FluidAudio is Apache 2.0. The Parakeet model has its own license, listed on its Hugging Face page.