Skip to content

docs: add implementation plan for RSS/Atom article feed support#91

Open
allenhutchison wants to merge 1 commit intomainfrom
claude/plan-rss-feeds-VvftS
Open

docs: add implementation plan for RSS/Atom article feed support#91
allenhutchison wants to merge 1 commit intomainfrom
claude/plan-rss-feeds-VvftS

Conversation

@allenhutchison
Copy link
Owner

@allenhutchison allenhutchison commented Feb 9, 2026

Comprehensive plan for adding article feed support as a new content type
alongside podcasts. Covers database changes, feed detection, article
fetching, pipeline integration, search, email digests, and web UI.

https://claude.ai/code/session_01Yaeio8uaqmLiJnuhwHV1GY

Summary by CodeRabbit

  • Documentation
    • Added comprehensive planning documentation for RSS/Atom article feed support as a first-class content type alongside podcasts. Outlines phased implementation spanning feed parsing, content synchronization, metadata extraction, search integration, email digests, web API, and CLI enhancements. Includes detailed migration strategy and testing roadmap.

Comprehensive plan for adding article feed support as a new content type
alongside podcasts. Covers database changes, feed detection, article
fetching, pipeline integration, search, email digests, and web UI.

https://claude.ai/code/session_01Yaeio8uaqmLiJnuhwHV1GY
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 9, 2026

Walkthrough

This pull request introduces a comprehensive planning document for implementing RSS/Atom article feed support as a first-class content type alongside existing podcast functionality. The plan outlines a multi-phase implementation strategy addressing database models, feed parsing, synchronization pipelines, content fetching, metadata extraction, and user-facing features.

Changes

Cohort / File(s) Summary
RSS/Atom Feed Support Planning
docs/rss-feed-plan.md
Comprehensive implementation plan for article feed support including phased rollout, database schema changes (content_type discriminator), parsing extensions, synchronization updates, content fetching and metadata extraction workers, UI/API modifications, email digest changes, testing strategy, and migration approach with safety considerations.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

In fields where feeds once held just sounds,
Now articles dance all around,
A plan so neat, with phases bright,
From parse to fetch to search's light,
Hop-hoppity-hop, content takes flight! 🐰📰

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately summarizes the main change: adding an implementation plan for RSS/Atom article feed support, which directly matches the PR's primary objective.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch claude/plan-rss-feeds-VvftS

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@docs/rss-feed-plan.md`:
- Around line 506-510: Add a language identifier to the fenced code block
containing the CLI output ("Podcasts: 12 (45 episodes indexed) ... - Pending
article fetch: 5") so markdownlint rule MD040 is satisfied; replace the opening
triple backticks with triple backticks followed by the language token (e.g.,
"text") in the fenced block that surrounds that output in docs/rss-feed-plan.md.
- Around line 250-256: Add a language identifier (e.g., "text") to the two
fenced code blocks containing the pipeline diagrams so they satisfy MD040;
update the block markers around the lines "Sync → Download → Transcribe →
[Post-process: Metadata → Index → Cleanup]" and "Sync → Fetch Article Content →
[Post-process: Metadata → Index]" to use ```text instead of ``` so markdownlint
stops flagging them.
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 37efc0f and 99d57d5.

📒 Files selected for processing (1)
  • docs/rss-feed-plan.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.20.0)
docs/rss-feed-plan.md

[warning] 250-250: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


[warning] 255-255: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


[warning] 506-506: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Comment on lines +250 to +256
```
Sync → Download → Transcribe → [Post-process: Metadata → Index → Cleanup]
```

For article feeds, the pipeline becomes:
```
Sync → Fetch Article Content → [Post-process: Metadata → Index]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add a language to these fenced code blocks to satisfy MD040.

These blocks are missing a language identifier, which triggers markdownlint and can hurt rendering consistency.

✅ Suggested fix
-```
+```text
 Sync → Download → Transcribe → [Post-process: Metadata → Index → Cleanup]
-```
+```

-```
+```text
 Sync → Fetch Article Content → [Post-process: Metadata → Index]
-```
+```
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion
🧰 Tools
🪛 markdownlint-cli2 (0.20.0)

[warning] 250-250: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


[warning] 255-255: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In `@docs/rss-feed-plan.md` around lines 250 - 256, Add a language identifier
(e.g., "text") to the two fenced code blocks containing the pipeline diagrams so
they satisfy MD040; update the block markers around the lines "Sync → Download →
Transcribe → [Post-process: Metadata → Index → Cleanup]" and "Sync → Fetch
Article Content → [Post-process: Metadata → Index]" to use ```text instead of
``` so markdownlint stops flagging them.

Comment on lines +506 to +510
```
Podcasts: 12 (45 episodes indexed)
Feeds: 3 (127 articles indexed)
- Pending article fetch: 5
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add a language to this fenced block to satisfy MD040.

The CLI output snippet should declare a language to keep markdownlint happy and improve rendering.

✅ Suggested fix
-```
+```text
 Podcasts: 12 (45 episodes indexed)
 Feeds: 3 (127 articles indexed)
   - Pending article fetch: 5
-```
+```
</details>

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 markdownlint-cli2 (0.20.0)</summary>

[warning] 506-506: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

In @docs/rss-feed-plan.md around lines 506 - 510, Add a language identifier to
the fenced code block containing the CLI output ("Podcasts: 12 (45 episodes
indexed) ... - Pending article fetch: 5") so markdownlint rule MD040 is
satisfied; replace the opening triple backticks with triple backticks followed
by the language token (e.g., "text") in the fenced block that surrounds that
output in docs/rss-feed-plan.md.


</details>

<!-- fingerprinting:phantom:triton:eagle -->

<!-- This is an auto-generated comment by CodeRabbit -->

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants