Pull Request Guidelines
How to contribute changes back to Rarebox.
Before You Start
- Check existing issues — someone might already be working on the same thing
- Open an issue first for non-trivial changes — discuss the approach before writing code
- Fork the repo and create a feature branch from
main
Branch Naming
feat/deck-export-csv
fix/snapshot-cleanup-on-delete
docs/api-rate-limits
refactor/price-fetching-composableMaking a PR
Keep It Focused
One PR should do one thing. A PR that adds a feature, fixes two bugs, and refactors a component is three PRs.
What to Include
- Clear title — what the PR does, not how
- Description — explain the change, why it's needed, and any trade-offs
- Screenshots — for UI changes, include before/after screenshots (desktop and mobile)
- Testing notes — how you tested the change, edge cases considered
What to Check Before Submitting
- [ ] App builds without errors (
npm run build) - [ ] No console errors or warnings in the browser
- [ ] Tested on mobile viewport (Chrome DevTools device mode at minimum)
- [ ] Persistence works — add data, close tab, reopen, data is still there
- [ ] If you changed store logic: verify
persist()is called after state mutations - [ ] If you changed API calls: verify caching, timeout, and retry behavior
Things That Will Get Your PR Rejected
- Breaking persistence — changes that could lose user data are a non-starter
- Removing privacy features — Rarebox doesn't send user data to servers. Don't add tracking, analytics beyond what's already there, or server-side storage of collection data
- Uncached API calls — every external API call must go through the caching layer
- Desktop-only UI — Rarebox has a strong mobile user base. All UI changes must work on mobile
Review Process
- Submit the PR against
main - The maintainer will review, provide feedback, and may request changes
- Once approved, the PR is squash-merged into
main - Vercel auto-deploys from
main— your change goes live immediately after merge
Good First Issues
Look for issues tagged good first issue for approachable contributions. These are typically:
- UI polish or responsive improvements
- Documentation additions
- Small bug fixes with clear reproduction steps
- New export formats