Thanks for helping improve ClipCash Mobile. This guide explains the expected contribution flow, local setup, branch names, commit messages, and pull request checklist.
Start with ISSUES.md and the GitHub issue tracker. Pick a clear issue, read the acceptance criteria, and check whether an open pull request already exists for the same work.
- Fork
ANYTECHS/clips-mobileto your GitHub account. - Clone your fork:
git clone https://github.com/<your-username>/clips-mobile.git
cd clips-mobile- Add the upstream repository:
git remote add upstream https://github.com/ANYTECHS/clips-mobile.git
git fetch upstream- Create your branch from the latest upstream
main:
git checkout -b feature/short-description upstream/mainUse short, descriptive branch names with one of these prefixes:
feature/for new screens, components, or user-facing behaviorfix/for bug fixes and regressionschore/for docs, tooling, cleanup, or maintenance
Examples:
feature/profile-screen
fix/android-bottom-tab-inset
chore/contributing-guide
Install dependencies:
pnpm installStart the Expo development server:
pnpm expo startYou can also use the package scripts:
pnpm start
pnpm android
pnpm ios
pnpm web- Follow the existing React Native, Expo Router, and TypeScript patterns in
src/. - Prefer shared theme values from
src/constants/theme.tsinstead of hard-coded spacing or colors. - Keep components focused and reusable when behavior appears in more than one screen.
- Avoid unrelated formatting changes or large refactors in focused issue PRs.
Use Conventional Commits:
type(scope): short summary
Common types:
feat: new feature or UI behaviorfix: bug fixdocs: documentation-only changechore: maintenance or toolingtest: tests onlyrefactor: code restructuring without behavior changes
Examples:
feat(tabs): add my clips navigation
fix(android): correct bottom tab inset
docs: add contributing guide
Run the checks that apply to your change:
pnpm lintIf you add tests, run the relevant test command and include the result in your PR description.
For UI changes, test the screen on the platforms affected by the issue:
- iOS simulator or device
- Android emulator or device
- Web, when the route supports web
Before submitting, confirm:
- The PR references the issue, for example
Closes #123. - The change is limited to the issue scope.
-
pnpm lintpasses, or any existing blocker is clearly explained. - The app was tested on iOS and/or Android when the change affects mobile UI.
- A screenshot or screen recording is attached for visual changes.
- New behavior is documented when future contributors need to understand it.
Keep PRs small, respond to maintainer feedback, and update the branch if main changes before merge:
git fetch upstream
git rebase upstream/main
git push --force-with-leaseDo not force-push over someone else's branch. If a requested change is unclear, ask for clarification in the PR thread.