Skip to content

SeanLF/claude-rss-news-digest

Repository files navigation

News Digest

Automated daily news digest powered by Claude. Fetches from diverse RSS sources across 5 continents, deduplicates against recent history, curates stories into tiers with bias-aware source attribution, and emails an HTML summary via Resend.

Two components: newsroom (Python pipeline that fetches, curates, and emails) and circulation (Rust web server for the online archive).

Quick Start

Prerequisites

  • Docker
  • A Claude subscription (Max or Pro) or API key
  • Resend account (free tier: unlimited broadcasts to 1,000 contacts)

1. Clone and configure

git clone https://github.com/yourusername/news-digest.git
cd news-digest
cp .env.example .env

Edit .env with your settings. The required values are:

# Claude authentication (choose one):
CLAUDE_CODE_OAUTH_TOKEN=sk-ant-oat01-...   # Subscription: `claude setup-token`
# ANTHROPIC_API_KEY=sk-ant-...              # Pay-per-use: console.anthropic.com

# Resend (https://resend.com)
RESEND_API_KEY=re_xxxxxxxx_xxxxxxxxxxxxxxxxxxxx
RESEND_FROM=onboarding@resend.dev
RESEND_AUDIENCE_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

See .env.example for optional settings (digest name, author, archive URL, etc).

2. Run

# Test run: fetches articles, generates digest, skips email
docker compose run --rm digest-newsroom --dry-run

# Full run: fetch, curate, email, record
docker compose run --rm digest-newsroom

The database is created automatically on first run.

3. Schedule (optional)

# Daily at 07:00 UTC
0 7 * * * cd /path/to/news-digest && docker compose run --rm digest-newsroom >> data/cron.log 2>&1

4. Web archive (optional)

docker compose up -d digest-circulation
# Browse at http://localhost:8080

Sources

Diverse sources weighted toward high-factuality outlets, spanning center to lean-left with lean-right representation. Bias rated on the Ground News 7-point scale. See newsroom/sources.json for the full list.

Troubleshooting

Problem Fix
No digest generated Check data/digest.log; verify auth with docker compose run --rm digest-newsroom claude --version
Email not sending Verify RESEND_API_KEY and RESEND_FROM in .env; test with docker compose run --rm digest-newsroom --test-email you@example.com
Container issues docker compose build --no-cache
MCP tool not available Check newsroom/.mcp.json uses .venv/bin/python not python3

More

  • Production deployment -- docs/DEPLOYMENT.md
  • Architecture and dev context -- CLAUDE.md
  • All CLI flags -- docker compose run --rm digest-newsroom --help

License

MIT

About

Automated daily news digest: RSS feeds → Claude curation → HTML email via Resend

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors