Thanks for your interest in contributing! This guide will help you get started.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/<your-username>/expo-forge-starter.git cd expo-forge-starter
- Install dependencies:
bun install
- Create a branch for your change:
git checkout -b feat/your-feature
- Start the dev server and test your changes:
bun expo start
Use prefixes to categorize your branch:
feat/— new feature or enhancementfix/— bug fixdocs/— documentation onlyrefactor/— code change that doesn't fix a bug or add a featurechore/— tooling, CI, dependencies
- TypeScript — no
anytypes - Imports — always use the
@/path alias - Text — use
AppTextfrom@/components/shared/app-text, neverTextfrom react-native - Images — use
expo-image, neverImagefrom react-native - Styling — Uniwind (
className) for most styling; avoid mixing withStyleSheetin the same component - Theme colors — use CSS variables, never hard-coded color values
- File size — keep files under 200 lines; extract logic into hooks, utils, or services
- No
console.login committed code
Run the linter before submitting:
bun expo lint- Make sure your branch is up to date with
default:git fetch origin git rebase origin/default
- Push your branch and open a PR against the
defaultbranch - Fill out the PR template — describe what changed and why
- Wait for review; address any feedback
Good first contributions:
- Bug fixes
- New color themes (see
src/themes/for examples) - Documentation improvements
- Accessibility improvements
- Example components showcasing HeroUI Native
Please open an issue first for larger changes so we can discuss the approach before you invest time building it.
Use the Bug Report issue template. Include:
- Steps to reproduce
- Expected vs actual behavior
- Platform (iOS, Android, web) and device/simulator info
- Screenshots or screen recordings if applicable
This project follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.