# Kordophone macOS Client (Cocoa)

SwiftUI/Cocoa client for Kordophone on macOS. This app uses the Rust `core` library via the local client daemon (`kordophoned`) and communicates over XPC.

## Project

- Open `osx/kordophone2.xcodeproj` in Xcode.
- Target bundle id: `net.buzzert.kordophone2`.

## XPC + Daemon

The macOS client talks to the `kordophoned` XPC service (`net.buzzert.kordophonecd`). During development, register the daemon with launchd:

```bash
cd core/kordophoned
launchctl load include/net.buzzert.kordophonecd.plist
```

The app can also register programmatically using `SMAppService` (see inline comments in `XPC/XPCClient.swift`).

## Running

1. Ensure the XPC service is registered and the `kordophoned` binary is available (see `core/README.md`).
2. Build and run the `kordophone2` app.
3. Configure the app to point the daemon at your Kordophone server URL (mock or real).

## Notes

- Attachments are staged under the user’s temp directory (see `Attachments.swift`).
- Entitlements and daemon files are included under `kordophone2/Daemon/` and `Supporting Files/`.

