Files
popcorntime/CONTRIBUTING.md
2025-10-02 16:06:16 -04:00

3.6 KiB

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 for instructions on building and running Popcorn Time.

Table of Contents


Code of Conduct

Popcorn Time follows the Rust Code of Conduct. We expect all contributors to help create a respectful, inclusive, and welcoming environment.


Ways to Contribute

No Rust skills 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 CLI that takes
our english dictionary 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:

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.

  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.