Thanks for your interest in contributing to Chaptarr.
- Use the GitHub Issues tab
- Search existing issues first to avoid duplicates
- Include:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Logs (System → Logs → Files in the UI;
/config/logs/in Docker) - Your environment (OS, Docker or built from source, version)
- Open a GitHub Issue with the [FEATURE] tag
- Describe the use case
- Explain how it benefits audiobook/eBook management
- Be open to discussion and feedback
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test thoroughly
- Submit a Pull Request
- Fix typos, clarify instructions
- Add examples
- Document undocumented features
- Translate into other languages
- .NET SDK compatible with the repo targets (currently
net10.0) - Node.js + Yarn (see
package.jsonvoltasection for recommended versions) - FFmpeg and FFprobe on
PATHwhen running or testing Chaptarr's native media features - Git
# Clone your fork
git clone https://github.com/<your-username>/Chaptarr.git
cd Chaptarr
# Install frontend dependencies
yarn install
# Build the UI bundle
yarn build
# Build the backend
dotnet build src/Chaptarr.sln -c Release
# Run (development output)
dotnet _output/net10.0/Chaptarr.dllIf you prefer dotnet publish:
dotnet publish src/NzbDrone.Console/Chaptarr.Console.csproj -c Release -o _output/publish
dotnet _output/publish/Chaptarr.dll# From repo root
yarn install
# Watch rebuilds
yarn watch- Frontend code is in
/frontend(React) - Backend code is in
/src(C#/.NET) - Database migrations are in
/src/NzbDrone.Core/Datastore/Migration/ - API endpoints are in
/src/Chaptarr.Api.V1/
- Follow existing code style
- Use meaningful variable names
- Add XML documentation for public methods
- Keep methods focused and small
- Use functional components where possible
- Follow existing component patterns
- Use PropTypes for type checking
- Keep components focused
- Test your changes locally first
- Include unit tests for new functionality
- Ensure existing tests pass
- Test with both audiobooks and eBooks
-
Before submitting:
- Rebase on the latest
developbranch - Ensure all tests pass (
dotnet test src/Chaptarr.Core.Test/Chaptarr.Core.Test.csproj) - Update documentation if needed
- One feature/fix per PR
- Rebase on the latest
-
PR Description should include:
- What changed and why
- Any breaking changes
- Screenshots for UI changes
- Testing performed
-
After submitting:
- Respond to code review feedback
- Make requested changes
- Be patient - reviews take time
- Ask in GitHub Discussions or on Discord
Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.
Every contribution, no matter how small, helps make Chaptarr better for everyone. We appreciate your time and effort!