A minimalistic, modern RSS Reader built specifically for macOS using Flutter.
- Three-Pane Layout: A classic macOS-native layout style featuring:
- Sidebar: Manage your feed subscriptions.
- Feed Item List: Quickly browse articles within the selected feed.
- Reader View: Read selected articles comfortably.
- Auto Updates: Integrated with Sparkle framework to support secure, automated over-the-air updates.
- Local Persistence: Powered by Drift (SQL) for offline access, fast querying, and caching of feed items.
- Modern State Management: Built using Riverpod for robust, testable state management.
- Detailed Logging: Built-in logging configured to trace application behavior and fetch errors.
- Summarization: Utilizes the offline FoundationalModel on macOS, keeping all processing local.
- Framework: Flutter (macOS desktop target)
- Updates: Sparkle (macOS software update framework)
- State Management: Riverpod
- Database: Drift (SQLite)
- Logs: Logging
To run this application locally, you need:
- Flutter SDK installed on your Mac.
- Xcode installed (with macOS development support enabled).
- Clone or navigate to the repository directory.
- Get dependencies:
flutter pub get
- Run code generator for database components (Drift):
dart run build_runner build
- Run the app in development mode:
flutter run -d macos
To generate a release build of the macOS application:
flutter build macosAutomated building, codesigning, notarization, Sparkle appcast generation, and publishing are managed via the custom release script:
./scripts/release.sh \
--signing-identity "Developer ID Application: Your Name" \
--apple-id "your-apple-id@email.com" \
--team-id "YOURTEAMID" \
--password "your-app-specific-password"This script automates packaging the app, generating Sparkle signatures, updating the updates/appcast.xml feed, and uploading artifacts directly to GitHub Releases.