blogtato
A CLI RSS/Atom feed reader inspired by Taskwarrior.

Install
Usage
# Subscribe to a feed
# Fetch new posts
# Read posts
# Group by date, week, or feed
# Combine groupings
# Filter by feed shorthand
# Filter by date
# Open a post in the default browser
# Print a post URL (useful with CLI browsers)
# List subscriptions
# Remove a feed
Git sync
Why sync using git
blogtato is built around the idea of subscription detox. You shouldn't need to create yet another account or pay for yet another service just to read some blogs. If you're comfortable with the command line, you almost certainly already have access to a git host - GitHub, GitLab, a self-hosted Forgejo - where you can store a private repo for free.
Is git the ideal database for an RSS reader? No - but it is a pragmatic one for
these design goals. Your feeds and posts live as simple JSONL files in a repo,
and when two machines diverge, blogtato merges them automatically based on
timestamps. You never have to resolve conflicts or touch git yourself -
blog sync handles everything. There's no additional server to run, no account
to create, no continuous network dependency.
Even though git was not design to store databases, to anyone who uses
blogtato as intended (a personal RSS client) the repo stays small and syncs
are fast. It is not scalable to large archives at not technically optimal - but
the trad-off is worth it.
How to enable git based sync
To set it up, create a private repo on your git host, then:
# On your first machine
# From now on, sync fetches feeds and pushes/pulls from the remote
On another machine, run the same blog clone to pull down your feeds and
posts.