https://github.com/yegor256/rssp
RSS Puller (written entirely by Claude Code, I didn't touch a single line of code)
https://github.com/yegor256/rssp
go golang rss
Last synced: 11 months ago
JSON representation
RSS Puller (written entirely by Claude Code, I didn't touch a single line of code)
- Host: GitHub
- URL: https://github.com/yegor256/rssp
- Owner: yegor256
- Created: 2025-06-26T19:23:37.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-27T13:06:13.000Z (about 1 year ago)
- Last Synced: 2025-06-27T13:18:43.723Z (about 1 year ago)
- Topics: go, golang, rss
- Language: Go
- Homepage:
- Size: 141 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSES/MIT.txt
Awesome Lists containing this project
README
# RSS Stream Processor
[](https://github.com/yegor256/rssp/actions/workflows/ci.yml)
A smart RSS aggregator that helps you stay focused on news that matters. Instead of manually browsing through multiple RSS feeds and filtering irrelevant content, this tool monitors your favorite news sources, uses ChatGPT to intelligently filter and compress articles based on your interests, and outputs only the relevant news to a text file that you can read at your convenience or tail-follow in real-time.
[Claude Code] wrote this code base for me. I didn't touch a single line of code.
Install it from sources:
```bash
git clone https://github.com/yegor256/rssp.git
cd rssp
go build -o rssp
```
Then, monitor a single RSS feed and save output to a file:
```bash
rssp --output feed.txt https://example.com/rss.xml
```
It is advised to define `DIFFBOT_TOKEN` (from [Diffbot])
and `OPENAI_API_KEY` (from [OpenAI]) environment variables.
## How It Works
1. The tool accepts one or more RSS feed URLs as command-line arguments
2. It polls each feed every 30 seconds for new content
3. New items are printed to stdout (or to a file if `--output` is specified) with timestamps
4. Items are deduplicated using their GUID (or link if GUID is not available)
5. When using `--output`, content is appended to the file, preserving existing content
6. The tool runs continuously in the foreground until interrupted
## How to Contribute
```bash
make test # Run all tests
make test-race # Run tests with race detector
make test-coverage # Generate coverage report
make build # Build the binary
make clean # Clean build artifacts
```
[Diffbot]: https://www.diffbot.com/
[OpenAI]: https://openai.com/
[Claude Code]: https://www.anthropic.com/claude-code