Ctrl K
ComunidadGuías…

CONTRIBUTING.md

Rama develop · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Contributing to Chaptarr

Thanks for your interest in contributing to Chaptarr.

## How can you contribute?

### 1. Report Bugs
- 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)

### 2. Suggest Features
- 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

### 3. Submit Code
- Fork the repository
- Create a feature branch (`git checkout -b feature/amazing-feature`)
- Make your changes
- Test thoroughly
- Submit a Pull Request

### 4. Improve Documentation
- Fix typos, clarify instructions
- Add examples
- Document undocumented features
- Translate into other languages

## Development setup

### Prerequisites
- .NET SDK compatible with the repo targets (currently `net10.0`)
- Node.js + Yarn (see `package.json` `volta` section for recommended versions)
- FFmpeg and FFprobe on `PATH` when running or testing Chaptarr's native media features
- Git

### Building Chaptarr
```bash
# 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.dll
```

If you prefer `dotnet publish`:
```bash
dotnet publish src/NzbDrone.Console/Chaptarr.Console.csproj -c Release -o _output/publish
dotnet _output/publish/Chaptarr.dll
```

### Frontend-only development
```bash
# From repo root
yarn install

# Watch rebuilds
yarn watch
```

### Development Tips
- 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/`

## Code style

### C# / .NET
- Follow existing code style
- Use meaningful variable names
- Add XML documentation for public methods
- Keep methods focused and small

### JavaScript / React
- Use functional components where possible
- Follow existing component patterns
- Use PropTypes for type checking
- Keep components focused

## Testing

- Test your changes locally first
- Include unit tests for new functionality
- Ensure existing tests pass
- Test with both audiobooks and eBooks

## Submitting pull requests

1. **Before submitting:**
   - Rebase on the latest `develop` branch
   - Ensure all tests pass (`dotnet test src/Chaptarr.Core.Test/Chaptarr.Core.Test.csproj`)
   - Update documentation if needed
   - One feature/fix per PR

2. **PR Description should include:**
   - What changed and why
   - Any breaking changes
   - Screenshots for UI changes
   - Testing performed

3. **After submitting:**
   - Respond to code review feedback
   - Make requested changes
   - Be patient - reviews take time

## Questions?

- Ask in GitHub Discussions or on Discord

## Code of conduct

Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project, you agree to abide by its terms.

## Thank you

Every contribution, no matter how small, helps make Chaptarr better for everyone. We appreciate your time and effort!