feat: initial implementation of LLM RSS aggregator with DeepSeek summarisation
- Add core aggregation engine (`internal/aggregator/`)
- Parse RSS/Atom/JSON feeds using `gofeed`
- Extract article metadata (title, link, date, author)
- Fallback to web scraping with `goquery` for minimal content
- Add content processing and filtering (`internal/processor/`)
- Keyword-based include/exclude filtering
- Sort by date, title, or source
- Token estimation and context preparation
- Add DeepSeek API integration (`internal/llm/`)
- OpenAI-compatible client for chat completions
- Configurable model, max tokens, temperature
- Support custom system prompts
- Add command-line interface (`internal/cli/`)
- `go-arg` based argument parsing
- Options for feeds file, prompt, filtering, output formats
- Environment variable support for API key
- Add output formatting (`internal/output/`)
- Plain text, GitHub‑flavoured markdown, and JSON outputs
- Optional inclusion of original articles
- Add terminal user interface (`internal/tui/`)
- Bubble Tea based progress bar with gradient colours
- Live article counters and elapsed time
- Keyboard controls (q/Ctrl+C to quit)
- Add runtime orchestration (`internal/runtime/`)
- Pipeline execution (aggregate → process → summarise → output)
- File output support
- Add project documentation
- `README.md` with usage examples and dependencies
- `CHANGELOG.md` for version 0.1.0
- `LICENCE.txt` (EUPL 1.2)
- Third‑party library READMEs in `docs/` for reference
- Add build configuration
- `go.mod` with dependencies (gofeed, openai-go, bubbletea, lipgloss,
go-arg, goquery)
- `.goreleaser.yaml` for cross‑platform releases
- `.gitignore` for Go binaries and test artifacts
Maxwell Jensen 85795372+maxwelljens@users.noreply.github.com
Tue, 21 Apr 2026 14:44:42 +0200