Warble

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 ~/Applications

Preview 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 start

Scenes: 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 dev

Pull requests

  1. Branch from main.
  2. Add tests for logic changes; UI and permissions need a manual check on a Mac.
  3. Run swift test and, for docs changes, bun run build.
  4. 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.

On this page