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.git2. 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-descriptionSee Branching & PRs for the naming convention.
4. Make Your Change
- Follow the Coding Standards.
- Follow the Component Guidelines if you’re touching UI.
- Update documentation alongside code when behavior changes.
5. Test Your Change
From the repository root:
pnpm typecheck # both packages
pnpm lint # both packages
pnpm check # lint + format check, what CI runsThen the test suite for the package you changed, also from the root:
pnpm test # frontend
pnpm --filter @opndrive/s3-api test # s3-apiThe 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-nameSee 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
- Check the docs in
/docs. - Search existing issues before opening a new one.
- Open a GitHub Discussion, or an issue with the “question” label.
Thank you for contributing to Opndrive. Every fix, however small, is appreciated.