A sane starting point for Expo projects.
- The latest Expo 50 SDK.
- Expo Router
- Tanstack Query with persistent cache
- Toasts!
- Push Notifications
- App settings section
- TailwindCSS for utility-first CSS via Nativewind v4.
- Built-in Dark Mode support
- CSS Variables for themes
- Async preloading with splash screen
- Bun as a package manager
- Typescript for a rock-solid codebase
- Strict, recommended ESLint and Prettier config using the Vercel Style Guide for readable, safe code.
- Extra linting power with Oxlint
- Vitest testing.
-
Clone this repo to your desired path:
git clone [email protected]:startkit-dev/expo.git my-new-project
-
Rename the project, including
ios.bundleIdentifier
andandroid.package
inapp.json
andpackage.json
-
Update your git remote to point to StartKit as
upstream
git remote rename origin upstream
In the future, you'll be able to pull in the latest StartKit changes without missing a beat by running:
git fetch upstream git pull upstream/main
First, run the setup script to install all dependencies and create a local .env.local
file:
bun run setup
bun run dev
To run a full check of the codebase (type-check, lint, prettier check, test), run:
bun run check
bun run lint
bun run oxlint
bun run type-check
bun run format
to check for format errors, run:
bun run format:check
bun run test
This project is MIT-licensed and is free to use and modify for your own projects.
It was created by Matt Venables.