CLI to fetch RSS feeds and write full-text Markdown articles via r.jina.ai.
go install github.com/babarot/rss-fetcher@latestrss-fetcher --config ~/.config/rss-fetcher/feeds.toml --output ~/path/to/output/| Flag | Default | Description |
|---|---|---|
--config |
— | Path to feeds.toml (required) |
--output |
— | Output directory for article files (required) |
--log-level |
error |
Log verbosity: error, info, debug |
| Level | What is shown |
|---|---|
error |
Fatal errors only (default — stderr is silent on success) |
info |
Saved and skipped articles |
debug |
Feed fetch details, per-article processing, full-text fetch, already-exists skips |
# Show saved/skipped messages
rss-fetcher --config feeds.toml --output ~/path/to/output/ --log-level info
# [INFO] [cloudflare-blog] Saved: 2026-02-26-article-title.md
# [INFO] [cloudflare-blog] Skipped "Some Article": fetch full text: jina.ai returned 429
# Show full fetch trace
rss-fetcher --config feeds.toml --output ~/path/to/output/ --log-level debug
# [DEBUG] [cloudflare-blog] Fetched feed: 20 items
# [DEBUG] [cloudflare-blog] Processing: "Article Title"
# [DEBUG] [cloudflare-blog] Fetching full text: https://blog.cloudflare.com/...
# [INFO] [cloudflare-blog] Saved: 2026-02-26-article-title.md
# [DEBUG] [cloudflare-blog] Already exists, skipping: 2026-01-15-old-article.mdmkdir -p ~/.config/rss-fetcher
cp feeds.toml.example ~/.config/rss-fetcher/feeds.toml
# Edit feeds.toml to add your subscriptions[[feed]]
name = "cloudflare-blog"
url = "https://blog.cloudflare.com/rss"
[[feed]]
name = "my-blog"
url = "https://example.com/rss"For each new article, a Markdown file is written to {output}/{feed-name}/{date}-{slug}.md:
---
title: "Article Title"
url: https://example.com/article
feed: my-blog
published_at: 2026-02-26
fetched_at: 2026-02-26T10:00:00+09:00
---
(full text retrieved via r.jina.ai)Already-existing files are skipped (idempotent).
Processed article metadata is printed to stdout as JSON:
[
{
"feed_name": "cloudflare-blog",
"title": "Article Title",
"url": "https://example.com/article",
"published_at": "2026-02-26",
"file_path": "/path/to/output/cloudflare-blog/2026-02-26-article-title.md"
}
]