Ways to contribute
Report bugs
Open an issue on GitHub to report a bug or unexpected behavior. Include steps to reproduce, the platform, and any relevant logs.
Submit code
Fix a bug or implement a feature. Fork the repository, make your changes, and open a pull request.
Improve translations
Stremio translations are managed in a separate repository. Contribute missing or improved translations there.
Build addons
Addons extend Stremio with new content sources. The addon SDK is the starting point for building your own.
Opening issues
Before opening a new issue, search existing issues to avoid duplicates. When reporting a bug, include:- A clear description of the problem
- Steps to reproduce
- Expected vs. actual behavior
- Platform and browser (or Stremio app version)
- Any relevant console errors or screenshots
Do not spam issues asking for ETAs on open issues. This is explicitly against the project’s code of conduct.
Pull request guidelines
When submitting a pull request:- Fork the repository and create a branch from
master. - Make sure your changes address an existing issue, or discuss the change beforehand.
- Follow the existing code style — run
pnpm run lintbefore submitting. - Write clear commit messages.
- Open the PR against the
masterbranch and fill in the description.
Technologies used
Familiarize yourself with the stack before contributing:- React 18 — UI components and hooks
- TypeScript / JavaScript — mixed codebase; new code should prefer TypeScript
- Less — CSS preprocessor for all styles
- Webpack 5 — build system with Babel and ts-loader
- stremio-core-web — WebAssembly core that provides all business logic and state via a message-passing transport
- i18next / react-i18next — internationalization
- Jest — unit testing
- ESLint — linting with
typescript-eslintand@stylistic/eslint-plugin
Code of conduct
All contributors are expected to follow the Code of Conduct. The key points are: Expected behavior:- Use welcoming language.
- Be respectful of differing viewpoints.
- Accept constructive criticism.
- Harassment, trolling, or personal attacks.
- Publishing others’ private information.
- Submitting PRs that are entirely AI-generated without understanding the code.
- Spamming issues about missing ETAs.
Contributors may use AI tools as a coding aid, but you must understand and verify all code you submit. PRs that are majority AI-generated content, or that include excessive AI-generated comments and docs, will not be accepted.
License
Stremio Web is copyright 2017-2023 Smart Code and is available under the GNU General Public License v2.0 (GPLv2). By contributing, you agree that your contributions will be licensed under the same terms. See theLICENSE.md file in the repository for the full license text.