A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
AI-first React Native + Expo boilerplate. Feature-first architecture, TypeScript, auth, i18n, theming, Redux Toolkit — w
The React Native foundation I use on every production project — open-sourced.
Feature-first architecture, TypeScript strict, auth, i18n, theming, Redux Toolkit, and Expo SDK 54 with the New Architecture. Structured so Cursor, Claude Code, and Antigravity generate consistent code without hallucinating your patterns.
Want the full version? RevenueCat, Firebase, U-AMOS 2.0 memory bank, and AI Pro features are in the paid tier.
→ AI Mobile Launcher — aimobilelauncher.com
Most React Native starters give you a blank canvas. That's fine for a side project — it's a liability on production work or when you're using AI coding tools.
After 7 years of shipping React Native apps — enterprise clients, health tech, coaching platforms — I kept rebuilding the same foundation from scratch. Authentication, onboarding, theming, i18n, state management, folder structure, TypeScript config. Every time.
This is that foundation, extracted and open-sourced.
Three reasons to use it over npx create-expo-app:
CLAUDE.md and AGENTS.md so Claude Code, Cursor, and Antigravity understand your architecture from session one. No re-priming. No hallucinated patterns.CLAUDE.md and AGENTS.md for AI coding toolsExperience the complete user journey from onboarding to main features
src/
├── features/ # Feature-specific code
│ ├── auth/ # Authentication feature
│ │ ├── api/ # API calls and endpoints
│ │ ├── components/ # Feature-specific components
│ │ ├── hooks/ # Custom hooks
│ │ ├── screens/ # Screen components
│ │ ├── services/ # Business logic
│ │ ├── store/ # State management
│ │ └── types/ # Type definitions
│ ├── onboarding/ # Onboarding flow
│ ├── home/ # Home screen
│ ├── settings/ # Settings screen
│ └── todos/ # Todos feature
├── navigation/ # Navigation configuration
│ ├── navigators/ # Navigator components
│ ├── routes.ts # Route definitions
│ └── routes.types.ts # Navigation types
├── services/ # Global services
│ ├── api/ # API configuration
│ ├── storage/ # Storage services
│ ├── analytics/ # Analytics service
│ └── logging/ # Logging services
├── store/ # Global store configuration
│ ├── store.ts # Store setup
│ ├── reducers.ts # Root reducer
│ └── app.slice.ts # App-level state
├── ui/ # Shared UI components
│ ├── components/ # Reusable components
│ ├── style/ # Theme and styling
│ └── tokens/ # Design tokens
├── utils/ # Utility functions
├── schemas/ # Data validation schemas
├── config/ # Configuration files
├── entrypoints/ # App entry points
├── providers/ # App providers
└── locales/ # Translation files
This boilerplate ships with a layered AI rules system. Every tool — Claude Code, Cursor, Antigravity, or any agent — reads from the same source of truth and generates architecture-consistent code from session one.
| File | Tool | Purpose |
|---|---|---|
CLAUDE.md | Claude Code | Loaded automatically at session start. Routes to rule files, surfaces the project skill. |
AGENTS.md | Cursor, Antigravity, all agents | Cross-tool context: architecture, banned patterns, what to generate and what not to. |
CLAUDE_SKILL.md | Claude Code | Documents the /mobilelauncher skill and all available commands. |
boilerplate_content.md | Reference | Full architecture reference: every package, every pattern, every rule in one file. |
.claude/skills/mobilelauncher/ | Claude Code | Executable skill — generates features, screens, components, hooks, slices, endpoints, and schemas that match this codebase exactly. |
Once you clone the repo, run /mobilelauncher orient to get a full project briefing. Then use the skill to scaffold new code:
/mobilelauncher feature notifications → full feature scaffold (8 files)
/mobilelauncher screen home dashboard → typed, memoized screen
/mobilelauncher component avatar → Restyle UI component
/mobilelauncher hook use-pagination → custom hook
/mobilelauncher schema invoice → Zod schema
Every generated file follows the repo's conventions — feature-first, Restyle-only, typed selectors, FlashList, i18next — with a post-generation checklist of what to register (reducer, route, translations, tests).
Without these files, AI tools guess your patterns and produce code you have to rewrite. With them:
.cursor/rules/ before writing any codeCLAUDE.md, then the skill generates compliant filesAGENTS.md and knows exactly what to produce and what to never generateai_articles/memory-bank/ gives AI tools architectural context that doesn't fit in rulesOne set of rules. Every tool, every session, every engineer.
git clone https://github.com/chohra-med/expo_boilerplate.git
cd expo_boilerplate
yarn install
yarn start
# iOS
yarn ios
# Android
yarn android
# Web
yarn web
Each feature is self-contained with its own:
No cross-feature imports. Each feature can be deleted or moved without breaking others.
Create a .env file in the root directory:
API_BASE_URL=https://your-api-url.com
The project uses path mapping for clean imports:
// Instead of
import { Button } from '../../../ui/components/button';
// Use
import { Button } from '#ui/components/button';
mkdir -p src/features/new-feature/{api,components,hooks,screens,services,store,types}
types/index.tsstore/components/screens/hooks/src/locales/:{
"common": {
"loading": "Loading...",
"error": "An error occurred"
}
}
src/config/i18n.ts to include the new languageimport { useTranslation } from 'react-i18next';
const MyComponent = () => {
const { t } = useTranslation();
return <Text>{t('common.loading')}</Text>;
};
src/ui/tokens/colors.ts:const palette = {
brand: '#FF6B6B',
};
<Box backgroundColor="brand" />
import { createBox } from '@shopify/restyle';
import { Theme } from '#ui/style/theme';
const StyledComponent = createBox<Theme>();
export const MyComponent = ({ ...props }) => {
return <StyledComponent {...props} />;
};
Secure token storage, automatic token refresh, login/logout, protected routes, and user profile management — all pre-wired.
import { useAuth } from '#features/auth';
const MyComponent = () => {
const { user, isAuthenticated, login, logout } = useAuth();
};
src/navigation/routes.ts:export const routes = {
NewFeature: {
name: 'NewFeature',
args: noArgs,
} as const,
};
src/navigation/routes.types.tsimport { secureStorage } from '#services/storage/secure-storage';
await secureStorage.setItem('auth_token', token);
const token = await secureStorage.getItem('auth_token');
import { mmkv } from '#services/storage/mmkv-storage';
mmkv.set('user_preferences', JSON.stringify(preferences));
const preferences = mmkv.getString('user_preferences');
import Animated, { useSharedValue, withSpring } from 'react-native-reanimated';
const MyComponent = () => {
const scale = useSharedValue(1);
const handlePress = () => {
scale.value = withSpring(1.2);
};
return (
<Animated.View style={{ transform: [{ scale }] }}>
{/* content */}
</Animated.View>
);
};
import { FlashList } from '@shopify/flash-list';
const MyList = () => (
<FlashList
data={data}
renderItem={renderItem}
estimatedItemSize={100}
/>
);
import { logger } from '#services/logging';
logger.logEvent('screen_load_time', {
screen: 'HomeScreen',
loadTime: 150,
});
yarn test
yarn test:watch
yarn test:coverage
yarn lint
yarn lint:fix
yarn format
yarn format:fix
| Script | Description |
|---|---|
yarn start | Start Expo dev server |
yarn ios | Run on iOS simulator |
yarn android | Run on Android emulator |
yarn web | Run in browser |
yarn test | Run all tests |
yarn test:watch | Run tests in watch mode |
yarn test:coverage | Run tests with coverage |
yarn lint | Check linting issues |
yarn lint:fix | Fix linting issues |
yarn format | Format code |
yarn format:fix | Fix formatting issues |
git checkout -b feature/your-feature)git commit -m 'Add your feature')git push origin feature/your-feature)MIT — see the LICENSE file for details.
Built by Malik Chohra — AI-first mobile engineer, founder of CasaInnov and AI Mobile Launcher.
A scaffold demonstrating how to use a turbo, mono repo, trpc, better auth, react, postgres and cursor ai rules.
Cursor AI 编程规则精选集 | 132+ 规则,覆盖前端/后端/AI/DevOps 等 32 个领域
📄 Configuration files that enhance Cursor AI editor experience with custom rules and behaviors