feedreader is a small Go service that aggregates Hacker News, GitHub Trending,
Hugging Face Papers Trending, and alphaXiv into a private, server-rendered feed
reader backed by SQLite. It ships as a Docker container.
go run ./cmd/feedreader serve --host 127.0.0.1 --port 8080Configuration is env-var driven — see internal/config/config.go for the full list and defaults rather than duplicating it here.
gofmt -l $(git ls-files '*.go') # must print nothing
go test ./...Both checks run in CI (.github/workflows/ci.yml) on every PR.
gofmt is the only formatter. No additional linter is configured.
See docs/ARCHITECTURE.md for the package-by-package layout.
Implement the sources.Source interface and register it in sources.Build()
in internal/sources/sources.go.
There is no authentication on the HTTP API surface — this is designed for
private/personal deployment behind your own network or reverse proxy. Do not
add public write endpoints beyond the existing POST /api/refresh.
Conventional Commits (feat:, fix:, chore:, ...) — releases are automated
via release-please based on commit
messages.