Documentation

Development Setup

Prepare your machine for local development and safe iteration.

Prerequisites

Contributor setup requirements:

  • macOS 13+
  • Xcode 26+ (Swift 6.2+)
  • Homebrew
  • xcodegen
  • cmake

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:

  1. make focused change in StenoKit or Steno
  2. run relevant tests in StenoKit
  3. run app in Xcode and manually validate target flow
  4. 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.