MCPcopy Index your code
hub / github.com/collie-reader/collie

github.com/collie-reader/collie @v0.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.0 ↗ · + Follow
115 symbols 241 edges 24 files 1 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Collie

Collie is a minimal RSS feed reader application. With Collie, you can:

  • subscribe to multiple RSS/Atom feeds to organize your own news feed.
  • receive a real-time notification when a new item is added to the subscribed feed. (By default, it is checked every 5 minutes.)
  • and save the items to read again or later.

All you need is a local machine and the Internet. No virtual machine, no cloud infrastructures, no always-on database, and no account registration with privacy information required.

Collie is heavily inspired by Miniflux and RSS app for Slack.

Installation

Download the latest release for your system from release page. Collie provides .exe/.msi files for Windows, .app/.dmg files for macOS, and .deb/.AppImage files for Linux.

On macOS, you can also install Collie via Homebrew:

$ brew install parksb/x/collie

Screenshots

Build

If you want to build Collie from source, you should get code by forking and cloning the git repository or downloading a zip file. After placing the source in your local environment, go to the project directory, and install front-end dependencies using pnpm. (If pnpm is not installed, install pnpm first.)

$ pnpm install

Then, run the following command to build.

$ pnpm tauri build

This command builds and installs your own Collie based on the cloned source. To develop and modify the application, learn more about Tauri.

The following diagram illustrates the overview of the architecture of Collie.

If you want to share the features that you developed yourself with others, please feel free to open an issue and send a pull request on this repository. All contributions are welcome :)

Background

I've been getting tech news from HackerNews, Lobsters, etc. on Twitter (It's X now, but I'll keep calling it Twitter anyway), but many of them have been terminated due to changes in Twitter's API policy. I went from place to place: Bluesky, Mastodon, Slack, and newsletter. However, I couldn't settle anywhere. The social media services such as Bluesky and Mastodon had too many unnecessary features as news feed. Slack RSS was good to get the news in real-time, but the notifications mixed with other workspaces overwhelmed me. The newsletters gave me a lot of high-quality information, but not in real-time.

Then, I remembered Miniflux, the "minimalist and opinionated feed reader" that I had used past. This is the best option for my goal, but I had to pay for the hosted version or keep running docker machine on my local computer which did not have enough resources. Additionally, I didn't need a system that maintains multi-user sessions. Eventually, I had no choice but to create my own application, and that's why I made Collie, the minimal RSS reader just for me.

License

Collie is distributed under the terms of the GNU General Public License v3.0.

Extension points exported contracts — how you extend this code

Props (Interface)
(no doc)
src/routes/Items.tsx
ItemFeed (Interface)
(no doc)
src/api/items.ts
Item (Interface)
(no doc)
src/api/items.ts
ItemToCreate (Interface)
(no doc)
src/api/items.ts
ItemToUpdate (Interface)
(no doc)
src/api/items.ts
ItemToUpdateAll (Interface)
(no doc)
src/api/items.ts

Core symbols most depended-on inside this repo

upstream_url
called by 10
src-tauri/src/models/settings.rs
insert_settings
called by 8
src-tauri/src/models/database.rs
SaveButton
called by 7
src/routes/Settings.tsx
loadItems
called by 7
src/routes/Items.tsx
read
called by 7
src-tauri/src/fetchers/feeds.rs
read_all
called by 6
src-tauri/src/fetchers/feeds.rs
update
called by 6
src-tauri/src/fetchers/feeds.rs
setTheme
called by 5
src/App.tsx

Shape

Function 82
Interface 11
Method 11
Enum 8
Class 3

Languages

Rust54%
TypeScript46%

Modules by API surface

src/api/items.ts14 symbols
src-tauri/src/fetchers/auth.rs13 symbols
src-tauri/src/models/settings.rs11 symbols
src/routes/Items.tsx9 symbols
src/api/feeds.ts9 symbols
src/routes/Settings.tsx7 symbols
src/routes/Feeds.tsx6 symbols
src-tauri/src/worker.rs6 symbols
src-tauri/src/commands/feeds.rs6 symbols
src/api/settings.ts5 symbols
src-tauri/src/fetchers/items.rs5 symbols
src-tauri/src/fetchers/feeds.rs5 symbols

For agents

$ claude mcp add collie \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page