Native macOS client for the traverse-starter reference app. Uses shared TraverseCore for HTTP command dispatch + SSE app state (same pattern as web-react / ios-swift).
- Xcode 16+ on macOS
- Traverse runtime running locally
git clone https://github.com/traverse-framework/Traverse.git /tmp/traverse
cd /tmp/traverse && git checkout v0.6.0
cargo run -p traverse-cli -- serveOpen TraverseStarterMac → Settings… (⌘,) and set:
- Runtime URL — default
http://127.0.0.1:8787(auto-filled from.traverse/server.jsonwhen present) - Workspace — default
local-default
Values persist in UserDefaults.
cd apps/traverse-starter/macos-swift
xcodebuild -scheme TraverseStarterMac -destination 'platform=macOS' build testPackage unit tests:
cd apps/traverse-starter/TraverseCore && swift testOr open TraverseStarterMac.xcodeproj in Xcode and run on macOS 14+.
| Shortcut | Action |
|---|---|
| ⌘↩ | Submit note |
| ⌘R | Reset output |
| ⌘, | Preferences (runtime URL + workspace) |
| File / package | Role |
|---|---|
../TraverseCore/ |
Shared Swift package: client, SSE, AppStateViewModel |
ContentView.swift |
Main window — input, output, toolbar health strip |
PreferencesView.swift |
Runtime settings (Settings scene) |
AppDelegate.swift |
NSApplicationDelegate lifecycle |
AppSettings.swift |
UserDefaults + optional ServerDiscovery |
UI renders runtime-owned fields only — no business logic in the shell.