expo-comet
v1.0.1
Published
Expo 57 + React Native starter template: navigation, MMKV-backed Zustand store, themed design system.
Readme
Comet
Expo 57 + React Native 0.86 starter: navigation, MMKV-backed Zustand store, and a themed design system.
Create a project
npx create-expo-app --template expo-comet
# or
bun create expo-app --template expo-cometIt prompts for the app name (or pass it: npx create-expo-app MyCoolApp --template expo-comet).
Then, inside the new project:
bun install
bun run setup # prompts for your bundle-id prefix, e.g. com.acmeMyCoolApp becomes name "My Cool App", slug my-cool-app, bundle id com.acme.mycoolapp
(.dev suffix on the dev flavour) — all derived in app.config.ts from package.json's name,
so there is nothing else to rename.
Run
cd Hello
bun install # or npm install
bun ios # or: bun android, bun webios/android use expo run:*, so they build natively — needs Xcode / Android Studio.
bun start runs Metro alone.
Build variants
Every script sets APP_VARIANT. dev (default) installs alongside prod with its own
bundle id (.dev suffix), name and icon — see app.config.ts. Use bun ios:prod /
bun android:prod for the production flavour.
Layout
src/
assets/ icons, splash
components/ shared UI
navigation/ root navigator + stacks
screens/
services/
store/ zustand + mmkv persistence
theme/ palette, tokens, useTheme, makeStylesImports use the ~/* alias for ./src/*.
Conventions
kebab-casefilenames, one named-export component per file.- No hardcoded colors — pull from
~/themeand style withmakeStyles. - Adding a color means adding it to
ColorTokensand both light/dark palettes.
Icons are regenerated with scripts/gen-icons.sh.
Screenshots
| Home | Photo | Settings |
| ---------------------- | ------------------------ | ------------------------------ |
|
|
|
|
Contributing
Issues and PRs welcome. Run npx tsc --noEmit before opening one.
License
MIT — see LICENSE.
