Welcome! We're glad you're here. This guide will help you get started with contributing to the Pera Wallet React Native project.
- Setup: Follow the README for prerequisites and installation
- Initialize: Run
pnpm installthenpnpm run setup(installs Git hooks) - Explore: Read Architecture to understand the codebase
- Reusability — Build flexible, reusable components and patterns
- Clean Code — Self-documenting code; comments explain why, not what
- Concise Docs — Keep documentation accurate but brief
- Separation — Business logic in
packages/*, UI inapps/mobile
Use the format <your-name>/<feature-or-fix>:
john/add-login-screen
sarah/fix-balance-display
We use Conventional Commits:
feat(accounts): add account import functionality
fix(settings): correct theme toggle behavior
docs: update testing guide
refactor(hooks): simplify useAccountBalance
Common prefixes:
| Prefix | Use For |
|---|---|
feat |
New features |
fix |
Bug fixes |
docs |
Documentation only |
refactor |
Code changes that don't add features or fix bugs |
test |
Adding or updating tests |
chore |
Build, tooling, or maintenance |
- Target the
mainbranch - Ensure all tests pass
- Use Squash Merge when merging
- Fill out the PR template
Run these checks locally:
pnpm pre-push # Lint, format, copyright, i18n
pnpm test # Run all testsThe pre-push hook runs these automatically, but catching issues early is faster.
Before making changes, review the documentation in docs/:
- Architecture — Understand packages vs mobile app separation
- Folder Structure — Know where to put different types of code
- Naming Conventions — Follow consistent naming patterns
If you have questions:
- Check the documentation in
docs/ - Search existing issues and PRs
- Ask in the team chat/discussion
Thank you for contributing!