Forge multiple RSS/Atom feeds into organized JSON groups. Runs on GitHub Actions with scheduled updates and releases.
- Fork this repo
- Edit
recipes/recipes.tomlwith your feeds (supports.tomland.opml) - Enable GitHub Actions — uncomment the
scheduletrigger in.github/workflows/main.yml - Feeds are published as GitHub Releases
uv sync --all-extras
uv run feedforger build # build feeds from recipes/
uv run feedforger build --help # see all options
uv run feedforger cleanup # clean old cache entries
uv run feedforger report # dump per-URL failure stats → cache/failure_report.jsonEach scheduled run uploads a failure-report artifact (30-day retention)
with every URL's continue_fail_count and last error. Use it to find URLs
that have been failing for many consecutive runs and remove them from
recipes/recipes.toml:
gh run download -R <owner>/<repo> -n failure-report -D /tmp/ff
jq '.entries | map(select(.continue_fail_count >= 30))' /tmp/ff/failure_report.json[recipes.MyFeeds]
urls = [
"https://example.com/feed.xml",
"https://example.com/rss",
]
# filters = [{ title = "pattern to exclude", invert = true }]
# fulfill = true # fetch full article contentAlso supports OPML files — just drop .opml files into the recipes/ directory.