← all docs
← all docs
willow
swiftswiftuiiosmacosatprotobluesky
willow is a native SwiftUI Bluesky / AT Protocol client targeting iOS and macOS from one shared codebase.
Status
Early stage. The repository is currently still the initial Xcode SwiftData template — a WillowApp entry point, a placeholder ContentView listing Item records, and the default test targets. No Bluesky functionality exists yet; a successful build only proves the template compiles.
Planned Architecture
- SwiftUI-first — UI defined in each view's
body; shared code stays shared, platform differences isolated behind#if os(...) - Structured concurrency —
async/awaitandAsyncSequencethroughout, no Combine - Keychain-backed sessions — access/refresh tokens from
com.atproto.server.createSession/refreshSessionstored in the Keychain, never in SwiftData orUserDefaults - DID-keyed identity — resolves handle → DID → PDS and keys state by DID, not handle, with support for custom PDS hosts
Reads/writes will live under the app.bsky.* and com.atproto.* lexicons, cross-checked against the canonical bluesky-social/atproto implementation and wolfram, the author's C AT Protocol SDK powering the sibling console clients Channel Blue and cobalt.
Testing
WillowTests— Swift Testing framework (@Test,#expect)WillowUITests— XCUIAutomation
Licence
AGPL-3.0 — see LICENSE.
← all docs