mirror of
https://github.com/popcorn-official/popcorn-desktop.git
synced 2026-10-23 11:15:02 +02:00
136 lines
3.6 KiB
Markdown
136 lines
3.6 KiB
Markdown
# Contributing to Popcorn Time
|
|
|
|
Popcorn Time is starting fresh. The project is being rebuilt from the ground up, and we need contributors to help shape this new era.
|
|
|
|
Whether you're a seasoned developer, a designer, a translator, or just someone who wants to test and give feedback - there's a place for you here.
|
|
|
|
> [!NOTE]
|
|
> See [DEVELOPMENT.md](DEVELOPMENT.md) for instructions on building and running Popcorn Time.
|
|
|
|
## Table of Contents
|
|
|
|
- [Code of Conduct](#code-of-conduct)
|
|
- [Ways to Contribute](#ways-to-contribute)
|
|
- [Developers](#1-developers)
|
|
- [Designers & UX](#2-designers--ux)
|
|
- [Translators](#3-translators)
|
|
- [Testers](#4-testers)
|
|
- [Documentation & Community](#5-documentation--community)
|
|
- [How to Start](#how-to-start)
|
|
- [Contributing in Issues](#contributing-in-issues)
|
|
- [Pull Requests](#pull-requests)
|
|
- [Commit Messages](#commit-messages)
|
|
- [Reviews](#reviews)
|
|
- [Not Just Code](#not-just-code)
|
|
|
|
---
|
|
|
|
## Code of Conduct
|
|
|
|
Popcorn Time follows the [Rust Code of Conduct](CODE_OF_CONDUCT.md).
|
|
We expect all contributors to help create a respectful, inclusive, and welcoming environment.
|
|
|
|
---
|
|
|
|
## Ways to Contribute
|
|
|
|
No [Rust skills](https://www.rust-lang.org/) are required for most of these, if you can run the app and provide feedback, you can contribute.
|
|
|
|
### 1. Developers
|
|
|
|
- React/TypeScript: Most of the visible app is React. You don't need to know Rust to make meaningful contributions.
|
|
|
|
- Rust: If you want to dive deeper, there's plenty of work close to the metal: networking, system integration, performance.
|
|
|
|
### 2. Designers & UX
|
|
|
|
- Help refine the interface and overall user experience.
|
|
- Contribute mockups, interaction flows, or polish existing UI.
|
|
|
|
### 3. Translators
|
|
|
|
Bring Popcorn Time to your language and region.
|
|
|
|
We currently leverage our custom [translator](packages/translator/) CLI that takes
|
|
our [english dictionary](packages/translator/src/en.jsonc) and generates all required translations.
|
|
|
|
#### Requirements
|
|
|
|
- `OPENAI_API_KEY` → used for full-sentence/context translations.
|
|
- `GOOGLE_CLOUD_PROJECT_ID` → used for short words.
|
|
|
|
#### Usage
|
|
|
|
Run translations with:
|
|
|
|
```bash
|
|
pnpm translate
|
|
```
|
|
|
|
This will update the localized dictionaries automatically.
|
|
|
|
### 4. Testers
|
|
|
|
- Run nightly builds.
|
|
- Report bugs, UI quirks, or performance issues.
|
|
- Suggest improvements based on real usage.
|
|
|
|
### 5. Documentation & Community
|
|
|
|
- Improve README, guides, FAQs.
|
|
- Help answer questions from new users and contributors.
|
|
- Share ideas about what features matter most.
|
|
|
|
---
|
|
|
|
## How to Start
|
|
|
|
1. Join the conversation: check our [Call for Contributors](/popcorntime/popcorntime/issues/3109).
|
|
|
|
2. Pick a way to help: code, design, docs, testing, or translation.
|
|
|
|
3. Open an Issue/PR:
|
|
|
|
- Issues → report bugs, suggest features, or volunteer for tasks.
|
|
- PRs → contribute code, docs, translations, or fixes.
|
|
|
|
---
|
|
|
|
## Contributing in Issues
|
|
|
|
If you find a bug, spot missing docs, or have an idea, open an issue.
|
|
|
|
---
|
|
|
|
## Pull Requests
|
|
|
|
- Small, focused PRs are easier to review and merge.
|
|
- If you're planning a large change, open an issue first to discuss.
|
|
- Add tests when needed.
|
|
|
|
---
|
|
|
|
## Commit Messages
|
|
|
|
We use conventional commit style for squash merges:
|
|
|
|
```
|
|
feat(ui): add dark mode toggle
|
|
fix(ui): resolve onboarding crash
|
|
docs: update installation guide
|
|
```
|
|
|
|
---
|
|
|
|
## Reviews
|
|
|
|
- Expect feedback. It's part of the process.
|
|
- Keep discussions focused and respectful.
|
|
- Incremental improvements are fine - PRs don't have to be perfect to land.
|
|
|
|
---
|
|
|
|
## Not Just Code
|
|
|
|
Popcorn Time is an open-source project, but it's not just about code. Translators, designers, testers, writers, and community members are equally important. If you're here, you're part of the process.
|