--- name: mainline-sources description: Adding new RSS feeds and data sources to Mainline compatibility: opencode metadata: audience: developers source_type: codebase --- ## What This Skill Covers This skill covers how to add new data sources (RSS feeds, poetry) to Mainline. ## Key Concepts ### Feeds Dictionary (engine/sources.py) All feeds are defined in a simple dictionary: ```python FEEDS = { "Feed Name": "https://example.com/feed.xml", # Category comments help organize: # Science & Technology # Economics & Business # World & Politics # Culture & Ideas } ``` ### Poetry Sources Project Gutenberg URLs for public domain literature: ```python POETRY_SOURCES = { "Author Name": "https://www.gutenberg.org/cache/epub/1234/pg1234.txt", } ``` ### Language & Script Mapping The sources.py also contains language/script detection mappings used for auto-translation and font selection. ## Adding a New RSS Feed 1. Edit `engine/sources.py` 2. Add entry to `FEEDS` dict under appropriate category: ```python "My Feed": "https://example.com/feed.xml", ``` 3. The feed will be automatically discovered on next run ### Feed Requirements - Must be valid RSS or Atom XML - Should have `