feat(news): add news ingestion and panel integration

Co-Authored-By: Oz <oz-agent@warp.dev>
This commit is contained in:
2026-04-08 23:23:38 -04:00
parent 51e2f74d5b
commit 7696464b64
57 changed files with 7440 additions and 250 deletions

View File

@@ -6,6 +6,30 @@ This template should help get you started developing with Tauri, React and Types
- [Rig Agent Harness Architecture](./docs/rig-agent-harness.md)
## Local-First News
The news runtime lives in `src-tauri/src/news/` and stores feed state plus articles in a local SQLite database under the app data directory. Reads are local-first: the UI and `/news` terminal command render cached articles immediately, while refreshes update the local cache in the background.
Frontend example:
```ts
import { useNewsFeed } from './src/news';
const { articles, refresh, toggleSaved, markRead } = useNewsFeed({
onlyHighlighted: true,
limit: 20,
});
```
Terminal usage:
```text
/news
/news NVDA
```
`/news` never fetches the network at read time. It filters articles already persisted in the local news database.
## Recommended IDE Setup
- [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)