Skip to content
donutdanielPublic

About

cli for recording and transcription

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

Repository files navigation

scribecli

A Rust CLI for local meeting recording and transcription on macOS. Native ScreenCaptureKit capture, local whisper.cpp, no backend.

Default output is human-readable. Use --output json or --output yaml for machine-stable formats.

Install

Pick one:

Method Command / Steps
Homebrew (macOS) brew install donutdaniel/homebrew-tap/scribecli
Binary (GitHub Releases) Download the archive for your platform, extract it, and move scribecli somewhere on your PATH.
Cargo / local checkout cargo install --path . or cargo build --release

Homebrew and release archives bundle whisper-cli. Raw Cargo or repo builds do not. For those, install whisper-cpp yourself first, for example:

brew install whisper-cpp

For a prod-like local package layout:

./scripts/package_local_release.sh
./dist/local/scribecli-local/bin/scribecli --help

Quickstart

  1. Bootstrap the local runtime:
scribecli setup
  1. Verify capture and model readiness:
scribecli --output json doctor
  1. Record a meeting:
scribecli record

Or use the split lifecycle if an agent wants explicit start/stop control:

scribecli start
scribecli stop

Global Flags

Flag Description
--output <format> human (default), json, or yaml
--verbose Increase log verbosity. Repeat for more detail

Commands

setup

scribecli setup
scribecli setup --model large-v3-turbo
scribecli setup --model medium-en --force-download

model

scribecli model list
scribecli model use small-en
scribecli model use large-v3-turbo --force-download
scribecli model remove small-en
scribecli model remove --all

record

scribecli record
scribecli --output json record --duration-seconds 30
scribecli record --input-mode single-device
scribecli record --input-mode mic-system-mix
scribecli record --display-id 1 --duration-seconds 15

start / stop

scribecli start
scribecli --output json start --session-name weekly-sync
scribecli start --duration-seconds 1800
scribecli stop

transcribe

scribecli transcribe ./meeting.wav
scribecli transcribe weekly-sync-20260326T120000Z-1234
scribecli transcribe ~/Library/Application\ Support/com.scribecli.scribecli/sessions/<session-id>

doctor / devices / config / cleanup

scribecli doctor
scribecli devices list
scribecli config get
scribecli config set input-mode single_device
scribecli cleanup --sessions
scribecli cleanup --all

Storage

Managed state lives under:

~/Library/Application Support/com.scribecli.scribecli

Important subdirectories:

  • models/: managed Whisper model files
  • sessions/: recordings, transcripts, and event logs
  • bin/: managed whisper-cli wrapper
  • native-helper/: compiled native capture helper

brew uninstall scribecli removes the package, but not this app data. To purge managed state:

scribecli cleanup --all

Notes

  • macOS only.
  • Native macOS capture is the only backend.
  • Terminal installs show permissions under the terminal app that launched scribecli (for example, Ghostty).
  • mic-system-mix still uses ffmpeg for post-capture audio mixing.
  • Speaker labels are heuristic only. They are segmentation hints, not identity.

About

cli for recording and transcription

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages