Development
Prerequisites
- mise β tool version manager
- Git
mise will install the correct versions of Go, Node, and other tools automatically.
Setup
git clone https://github.com/yuler/airvoice.git
cd airvoice
mise trust
mise install
Project Structure
airvoice/
βββ cli/ # Go CLI β WebSocket server + keystroke injection
βββ ios/ # iOS SwiftUI app
βββ www/ # Documentation site (Astro)
βββ scripts/ # Build and dev scripts
βββ mise.toml # Task runner + tool versions
βββ go.mod
Common Tasks
| Task | Command |
|---|---|
| Build CLI | mise run cli:build |
| Run server | mise run cli:dev |
| Run tests | mise run cli:test |
| Build iOS (simulator) | mise run ios:dev |
| Build iOS (device) | mise run ios:build |
| Docs dev server | mise run www:dev |
| Build docs | mise run www:build |
iOS Development
Open the project in Xcode:
open ios/Airvoice.xcodeproj
The project uses XcodeGen to generate project.yml. If you modify project settings, edit ios/project.yml and regenerate:
xcodegen generate
Signing
For device builds, create your signing config:
cp ios/Signing.xcconfig.example ios/Signing.xcconfig
Edit ios/Signing.xcconfig and set DEVELOPMENT_TEAM to your Apple Team ID (find it in Xcode β Settings β Accounts).