- Swift 100%
feather-ai-chat #
Native Swift chat client for one OpenAI-compatible proxy. Mac, iPad, and iPhone.
This project is built with LLM assistance. Design, code, and docs are written with AI help.
The first implementation, including look, themes, and haptics, is RFC 0001. The current interface is RFC 0002, with search, rename, pin, and share from RFC 0003. Chats and settings sync through iCloud as described in RFC 0004. The first launch opens the welcome sheet from RFC 0006.
just test
just build
just screenshots
just testflight
Open FeatherAiChat.xcodeproj to run it on macOS or the iOS Simulator.
just screenshots runs the UI tests in FeatherAiChatUITests/ against a built-in fake proxy and writes PNGs to build/screenshots/<iphone|ipad|mac>/. It needs the simulators named in the justfile, and on the Mac the test runner needs Accessibility permission the first time.
just testflight archives the iPhone and iPad build (just archive on its own stops there) and uploads it to App Store Connect as the Apple ID signed in to Xcode. The build number is a YYYYMMDDHHMM timestamp. The app record must already exist in App Store Connect, and the CloudKit schema must be deployed to Production first, because TestFlight builds use the Production container. The Mac isn't on TestFlight: it would need the App Sandbox, which blocks reading ~/.agents/skills.