Thanks for your interest in contributing! Here's how to get started.
git clone https://github.com/JeremiahM37/librarr.git
cd librarr
go build -o librarr ./cmd/librarr/
go test ./...Check the good first issue label for beginner-friendly tasks.
- Fork the repo
- Create a branch (
git checkout -b feature/my-feature) - Make your changes
- Run tests (
go test ./...) - Commit and push
- Open a Pull Request
- Standard Go formatting (
gofmt) - Table-driven tests with
t.Run() - Mock HTTP calls with
httptest.NewServer - No external test frameworks — just
testing
- Create
internal/search/yoursource.goimplementing theSourceinterface - Add it to the source registry in
internal/search/searcher.go - Add config vars in
internal/config/config.go - Write tests in
internal/search/yoursource_test.go
- Security audit — review HTTP clients for SSRF/injection (#4)
- New search sources — more book/audiobook/manga sources
- UI improvements — the web UI is functional but minimal
- Documentation — guides for specific setups (Readarr integration, Calibre-Web, etc.)
By contributing, you agree that your contributions will be licensed under GPL-3.0.