CONTRIBUTING.md•3.56 kB
# Contributing to Overseerr MCP Server
Thank you for your interest in contributing to Overseerr MCP Server! This document provides guidelines for contributing to the project.
## Code of Conduct
By participating in this project, you agree to maintain a respectful and inclusive environment for everyone.
## How to Contribute
### Reporting Bugs
Before creating bug reports, please check existing issues to avoid duplicates. When you create a bug report, include as many details as possible:
- **Clear title and description**
- **Steps to reproduce** the issue
- **Expected behavior** vs actual behavior
- **Environment details** (OS, Node.js version, Docker version if applicable)
- **Error messages or logs** if available
### Suggesting Enhancements
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, include:
- **Clear title and description**
- **Use case** - why this enhancement would be useful
- **Possible implementation** if you have ideas
### Pull Requests
1. **Fork the repository** and create your branch from `main`
2. **Make your changes**:
   - Follow the existing code style
   - Add tests if applicable
   - Update documentation as needed
3. **Test your changes**:
   - Ensure the code builds: `npm run build`
   - Test with your Overseerr instance
4. **Commit your changes**:
   - Use clear, descriptive commit messages
   - Reference issue numbers if applicable
5. **Push to your fork** and submit a pull request
## Development Setup
### Prerequisites
- Node.js 18.0 or higher
- npm or yarn
- Access to an Overseerr instance for testing
### Local Development
1. Clone the repository:
   ```bash
   git clone https://github.com/jhomen368/overseerr-mcp-server.git
   cd overseerr-mcp-server
   ```
2. Install dependencies:
   ```bash
   npm install
   ```
3. Create a `.env` file with your test credentials:
   ```env
   OVERSEERR_URL=https://your-test-overseerr.com
   OVERSEERR_API_KEY=your-api-key
   ```
4. Build the project:
   ```bash
   npm run build
   ```
5. Test locally:
   ```bash
   node build/index.js
   ```
### Development Workflow
- **Watch mode** for automatic rebuilds: `npm run watch`
- **Manual build**: `npm run build`
## Code Style
- Follow TypeScript best practices
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions focused and modular
## Testing
Before submitting a pull request:
1. Build the project successfully
2. Test with a real Overseerr instance
3. Verify all existing functionality still works
4. Test your new features/fixes
## Documentation
- Update README.md if you change functionality
- Add JSDoc comments for new functions/classes
- Include usage examples for new features
## Commit Message Guidelines
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters
- Reference issues and pull requests where appropriate
Example:
```
Add support for custom quality profiles
- Add profileId parameter to request_media tool
- Update documentation with examples
- Fixes #123
```
## Release Process
Maintainers handle releases:
1. Update version in `package.json`
2. Update CHANGELOG.md (if present)
3. Create git tag with version number
4. Push tag to trigger Docker build workflow
## Questions?
Feel free to open an issue for questions or clarifications about contributing.
## License
By contributing, you agree that your contributions will be licensed under the MIT License.