Skip to content

How to configure the RSS/Atom source

This guide walks you through setting up gtdhelper to show items from RSS and Atom feeds with optional keyword filtering.

  • uv installed (for Python venv management)

Create ~/.gtdhelper/rss.toml with the following content (or download the template):

[[feeds]]
name = "Rust releases"
url = "https://blog.rust-lang.org/feed.xml"

Each [[feeds]] entry defines one RSS or Atom feed to watch. Add as many as you need:

[[feeds]]
name = "Rust releases"
url = "https://blog.rust-lang.org/feed.xml"
type = "release"
[[feeds]]
name = "NVD CVE Feed"
url = "https://nvd.nist.gov/feeds/xml/cve/misc/nvd-rss.xml"
type = "security"
include = ["CVE"]
[[feeds]]
name = "Tauri releases"
url = "https://github.com/tauri-apps/tauri/releases.atom"
type = "release"

Use include and exclude keywords to control which items appear. Keywords are matched case-insensitively against the item title and description.

[[feeds]]
name = "Rust releases"
url = "https://blog.rust-lang.org/feed.xml"
include = ["release", "stable"] # item must match at least one keyword
exclude = ["beta", "nightly"] # items matching any keyword are dropped

Filter evaluation order: max_age first, then exclude, then include (if non-empty).

FieldRequiredDefaultDescription
nameyesHuman label, used as project in the task list
urlyesRSS or Atom feed URL
typeno"rss"Task type for UI filtering (e.g. "release", "security")
max_age_daysno7Ignore items older than N days
includeno[] (accept all)Case-insensitive keywords, item must match at least one
excludeno[]Case-insensitive keywords, item is dropped if any match

Restart gtdhelper (or wait for the next 5-minute refresh). Feed items should appear in the overlay, grouped by feed name.

Check for errors in the gtdhelper logs if nothing shows up — common causes:

  • Feed URL is incorrect or unreachable
  • All items are older than max_age_days (default 7)
  • include keywords are too restrictive — no items match
  • Feed format is not valid RSS 2.0 or Atom