Prerequisites
Contributor setup requirements:
- macOS
13+ - Xcode
26+(Swift6.2+) - Homebrew
xcodegencmake
Install tools:
brew install xcodegen cmake
Repository Setup
Clone repository and build transcription dependency:
git clone https://github.com/Ankit-Cherian/steno.git
cd steno
git clone https://github.com/ggerganov/whisper.cpp vendor/whisper.cpp
cd vendor/whisper.cpp
git checkout v1.8.3
cmake -B build && cmake --build build --config Release
./models/download-ggml-model.sh small.en
cd ../..
Project Generation
Generate Xcode project from declarative config:
xcodegen generate
Important:
- do not manually edit
Steno.xcodeproj/project.pbxproj - update
project.yml, then regenerate
Open project and set your own team in Signing and Capabilities.
Developer Workflow
Recommended loop:
- make focused change in
StenoKitorSteno - run relevant tests in
StenoKit - run app in Xcode and manually validate target flow
- confirm permission-sensitive behavior if affected
For signing-sensitive changes, remember that TCC grants can reset when identity changes.
Code signing and permission resets
Changing development team or signing identity can invalidate existing macOS permission grants. Re-check Microphone, Accessibility, and Input Monitoring after such changes.