A personalised RSS news aggregator with a dark-mode "Liquid Glass" UI.
Two implementations live in this repo:
| Path | Status | Stack | |
|---|---|---|---|
| Native app (primary) | macos-app/ |
Active development | Swift 6, SwiftUI, SwiftData |
| Web dashboard (reference) | discover-dashboard/ |
Reference only | Next.js 15, React 19, TypeScript |
open macos-app/Discover.xcodeprojIn Xcode: scheme Discover, destination My Mac, then Cmd+R. Tests: Cmd+U.
cd discover-dashboard
npm install
npm run dev # http://localhost:3000Start here, in this order:
AGENTS.md— repo-wide routing and rules (Codex, Antigravity, Claude).macos-app/AGENTS.md— native-app instructions (where most work happens).discover-dashboard/AGENTS.md— dashboard instructions.LLM_HANDOFF.md— most recent session state.BUG_REPORT.md— known bugs and fix status.docs/HANDOFF.md— comprehensive porting / architecture guide.docs/IOS_TARGET_SETUP.md— how to add the iOS target.
Older overview docs (AGENT_CONTEXT.md, PROJECT_MAP.md) are still accurate for context but narrower in scope than AGENTS.md.
.
├── AGENTS.md # agent entry point
├── README.md # you are here
├── macos-app/ # PRIMARY: SwiftUI Xcode project
├── discover-dashboard/ # REFERENCE: Next.js dashboard
├── docs/ # HANDOFF, iOS setup, product spec
├── prototypes/ # Liquid Glass static design prototype
├── scripts/ # build_app.sh (legacy WebView wrapper only)
├── assets/ # app icon source
├── Latest app/ # legacy .app bundle (not the SwiftUI build)
├── NewsApp-Swift/ # parallel SPM experiment — NOT the active app
├── taste-skill-main/ # unrelated third-party skills collection
├── build/ # Xcode build output (gitignored)
└── _archive/ # superseded files (do not edit)
- No third-party dependencies in the native app.
- Dark mode only.
- SF Symbols only.
- Feed config is duplicated across
macos-app/Discover/Data/DefaultFeeds.swiftanddiscover-dashboard/lib/feeds.ts— keep them in sync.
See AGENTS.md for the full ruleset.