This is an Expo project created with create-expo-app.
-
Install dependencies
npm install
-
Start the app
npx expo start
In the output, you'll find options to open the app in a
- development build
- Android emulator
- iOS simulator
- Expo Go, a limited sandbox for trying out app development with Expo
You can start developing by editing the files inside the app directory. This project uses file-based routing.
When you're ready, run:
npm run reset-projectThis command will move the starter code to the app-example directory and create a blank app directory where you can start developing.
- Use Conventional Commits for all commit messages.
- Prefix your commit with one of the following types:
feat: New featurefix: Bug fixdocs: Documentation only changeschore: Maintenance, build, or tooling changesrefactor: Code change that neither fixes a bug nor adds a featuretest: Adding or updating testsstyle: Formatting, missing semi colons, etc; no code changeperf: Performance improvement
- Example:
feat(auth): add OAuth login with Google fix(product): correct price calculation bug docs: update README with setup instructions
- Use the format:
<devname>.<feature> - Example:
nafhan.auth,alex.product-listing,sarah.fix-login - Use short, descriptive feature names. Use hyphens for multi-word features:
john.product-table-fix
- PR titles should be clear and reference the main change (e.g.,
feat: add Kanban drag-and-drop) - Link related issues in the PR description if applicable.
- Provide a concise summary of changes and any special instructions for reviewers.
- Ensure all checks (CI, lint, tests) pass before requesting review.
- Assign at least one reviewer; self-merge is discouraged unless urgent.
- Use draft PRs for work-in-progress.
- Sync with the latest
mainbefore starting new work. - Keep PRs focused and as small as possible; large PRs should be split if feasible.
- Use code comments for complex logic or non-obvious decisions.
- Document new environment variables or configuration changes in the README.
- Discuss breaking changes or architectural decisions in issues before implementation.
- Be respectful and constructive in code reviews and discussions.
This project uses two main branches:
- main: Production branch (deploys to production)
- dev: Staging branch (for development and staging/testing)
All feature/fix branches must be merged into
dev, notmain. Only maintainers should mergedevintomainfor production releases.
- Sync your local repository
- Make sure you have the latest
devbranch:git checkout dev git pull origin dev
- Make sure you have the latest
- Create your feature/fix branch
- Use the branch naming convention:
git checkout -b <devname>.<feature> # Example: git checkout -b nafhan.auth
- Use the branch naming convention:
- Work on your changes
- Commit using the conventional commit format.
- Sync with
devbefore pushing- Before pushing, always pull the latest
devto avoid conflicts:git checkout dev git pull origin dev git checkout <your-branch> git merge dev # Resolve any conflicts if needed
- Before pushing, always pull the latest
- Push your branch
git push origin <your-branch>
- Open a Pull Request
- Target the
devbranch (notmain). - Fill out the PR template, link issues if applicable, and request review.
- Target the