Skip to Content
ContributingFirst Contribution

Your First Contribution

A straight path from “I want to help” to an open pull request. For the deeper reference material this page links out to, see Coding Standards, Branching & PRs, and CI/CD.

1. Fork and Clone

git clone https://github.com/your-username/opndrive.git cd opndrive git remote add upstream https://github.com/Opndrive/opndrive.git

2. Set Up Your Environment

Follow Development Setup to get the app running locally.

3. Create a Branch

git checkout -b feature/your-feature-name # or git checkout -b fix/issue-description

See Branching & PRs for the naming convention.

4. Make Your Change

5. Test Your Change

From the repository root:

pnpm typecheck # both packages pnpm lint # both packages pnpm check # lint + format check, what CI runs

Then the test suite for the package you changed, also from the root:

pnpm test # frontend pnpm --filter @opndrive/s3-api test # s3-api

The frontend has no coverage gate, but s3-api does - CI runs its suite with coverage thresholds, so removing covered behaviour there fails the build (see Testing). Either way, if you touched a hook, a state transition, or anything async, a Vitest test is the difference between “works on my machine” and “works.”

6. Commit

git add . git commit -m "feat: add file upload progress indicator" git push origin feature/your-feature-name

See Coding Standards for the commit message convention. The pre-commit hook (Husky + lint-staged) will lint and format your staged files automatically.

7. Open a Pull Request

Open a PR against Opndrive/opndrive’s main branch. The PR template will ask what the change does, which issue it relates to, and how to test it. See Branching & PRs for what happens after you open it (required reviewers, CI checks, merge).

Reporting Bugs or Requesting Features

Use the issue templates: Bug report asks for reproduction steps and environment details; Feature request asks for the problem you’re solving and alternatives you considered. Both are pre-filled when you click “New Issue” on GitHub.

Getting Help

  1. Check the docs in /docs.
  2. Search existing issues before opening a new one.
  3. Open a GitHub Discussion, or an issue with the “question” label.

Thank you for contributing to Opndrive. Every fix, however small, is appreciated.

Last updated on