This commit introduces a comprehensive `CONTRIBUTING.md` file that outlines the process for local development, code style, branching strategy, and pull request submissions. It also adds issue templates for bug reports and feature requests to streamline the issue triage process.
2.9 KiB
Contributing to Stremio Web
First off, thank you for considering contributing to Stremio Web! It's people like you that make Stremio Web such a great app.
Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
Getting Started
Prerequisites
- Node.js: This project uses a specific version of Node.js. Please use a version manager like
nvmto ensure you are using the correct version.nvm use - pnpm: This project uses
pnpmas its package manager. Please do not usenpmoryarn. You can installpnpmwith:npm install -g pnpm
Installation
- Fork the repository: Fork the project to your own GitHub account.
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/stremio-web.git - Navigate to the project directory:
cd stremio-web - Install dependencies:
pnpm install - Run the development server:
pnpm start
Code Style & Linting
To ensure code consistency, we use ESLint. Before submitting a pull request, please make sure your code adheres to the project's linting rules.
You can run the linter with the following command:
pnpm run lint
Any pull request with linting errors will not be merged.
Branching & Pull Request Process
We have a structured process for submitting pull requests to ensure a clear and organized workflow.
All pull requests must target the development branch.
Branch Naming Convention
Your branch name should follow this convention:
feature/<brief-description>for new features (e.g.,feature/add-skip-intro-button)fix/<issue-number-or-bug>for bug fixes (e.g.,fix/123-library-loading-bug)chore/<housekeeping-task>for maintenance tasks (e.g.,chore/update-dependencies)
Pull Request Titles
PR titles must follow the Conventional Commits specification. This helps us automate changelogs and clearly document changes.
Examples:
feat: Add user profile pagefix: Resolve issue with video player crashingdocs: Update CONTRIBUTING.md guidechore: Refactor state management module
Pull Request Descriptions
Your PR description must link to the issue it resolves. Use keywords like Closes or Fixes to automatically close the corresponding issue when the PR is merged.
Example:
This PR introduces a new settings panel for subtitles.
Closes #456
Issue Reporting
- Bug Reports: Please use the "Bug Report" template when creating a new issue.
- Feature Requests: For new ideas, please use the "Feature Request" template.
Thank you for your contribution!