@ouremode/create-expo-stack
v1.0.3
Published
CLI tool to initialize a React Native application with Expo - Fork with tabs navigation support
Readme
@ouremode/create-expo-stack
A fork of create-expo-stack maintained by OUREMODE with full tabs and drawer navigation support for React Native students and developers.
Why This Fork?
The original create-expo-stack temporarily disabled tabs and drawer+tabs navigation templates. This fork restores those features for students who need them for learning React Native navigation patterns.
Features
✅ Full Navigation Support
- Stack Navigation
- Tabs Navigation ✨ (Re-enabled)
- Drawer + Tabs Navigation ✨ (Re-enabled)
✅ All other features from create-expo-stack:
- TypeScript support
- Expo Router or React Navigation
- NativeWind, NativeWindUI, Unistyles, or StyleSheets
- Supabase or Firebase authentication
- Zustand state management
- EAS setup
Installation & Usage
Quick Start (npx - recommended)
npx @ouremode/create-expo-stack my-appOr use the shorthand command:
npx @ouremode/create-expo-stack my-appWith Options (Non-interactive)
# Create app with Expo Router and Tabs
npx @ouremode/create-expo-stack my-app --expo-router --tabs --nativewind
# Create app with Drawer + Tabs
npx @ouremode/create-expo-stack my-app --expo-router --drawer+tabs --stylesheet
# Create app with React Navigation and Tabs
npx @ouremode/create-expo-stack my-app --react-navigation --tabs --nativewindAvailable Flags
Navigation:
--expo-router- Use Expo Router (file-based routing)--react-navigation- Use React Navigation (configuration-based)--tabs- Use tabs navigation--drawer+tabs- Use drawer with nested tabs
Styling:
--nativewind- Use NativeWind (Tailwind for React Native)--nativewindui- Use NativeWindUI components--stylesheet- Use React Native StyleSheet--unistyles- Use Unistyles
Authentication:
--supabase- Add Supabase authentication--firebase- Add Firebase authentication
State Management:
--zustand- Add Zustand state management
Other:
--no-install- Skip installing dependencies--no-git- Skip git initialization--eas- Setup EAS configuration--npm|--yarn|--pnpm|--bun- Choose package manager
Interactive Mode
Just run the command without flags and you'll be prompted with options:
npx @ouremode/create-expo-stack my-appYou'll see:
- TypeScript? (Yes/No)
- Package manager? (npm/yarn/pnpm/bun)
- Navigation type? (React Navigation/Expo Router/None)
- Navigation structure? (Stack/Tabs/Drawer+Tabs) ✨
- Styling library? (NativeWind/NativeWindUI/StyleSheet/Unistyles)
- State management? (Zustand/None)
- Authentication? (Supabase/Firebase/None)
- Setup EAS? (Yes/No)
Examples
Example 1: Simple Tabs App
npx @ouremode/create-expo-stack StudentApp --expo-router --tabs --nativewind --bunGenerated structure:
StudentApp/
└── app/
├── (tabs)/
│ ├── _layout.tsx # Tabs configuration
│ ├── index.tsx # Tab One
│ └── two.tsx # Tab Two
└── _layout.tsx # Root layoutExample 2: Drawer with Tabs
npx @ouremode/create-expo-stack CourseApp --expo-router --drawer+tabs --stylesheetGenerated structure:
CourseApp/
└── app/
├── (drawer)/
│ ├── (tabs)/
│ │ ├── _layout.tsx # Tabs configuration
│ │ ├── index.tsx # Tab One
│ │ └── two.tsx # Tab Two
│ ├── _layout.tsx # Drawer configuration
│ └── index.tsx # Home screen
└── _layout.tsx # Root layoutExample 3: Full-Featured App
npx @ouremode/create-expo-stack MyApp \
--expo-router \
--tabs \
--nativewindui \
--supabase \
--zustand \
--eas \
--bunFor Students
This package is specifically maintained for React Native courses and workshops. It ensures you have access to all navigation patterns commonly taught in React Native development:
- Stack Navigation: For hierarchical navigation (push/pop)
- Tabs Navigation: For app sections (bottom tabs)
- Drawer Navigation: For side menu navigation
Attribution & License
This is a fork of create-expo-stack by Dan Stepanov.
Original project: https://github.com/roninoss/create-expo-stack
Changes in this fork:
- ✅ Re-enabled tabs navigation option
- ✅ Re-enabled drawer+tabs navigation option
- ✅ All templates functional and tested
License: MIT (same as original)
Technical Details
What Changed?
The only modification from the original is uncommenting the tabs and drawer+tabs options in the CLI prompts (file: cli/src/utilities/runCLI.ts):
// Before (original)
options: [
{ value: 'stack', label: 'Stack' }
// { value: 'tabs', label: 'Tabs' },
// { value: 'drawer + tabs', label: 'Drawer + Tabs' }
]
// After (this fork)
options: [
{ value: 'stack', label: 'Stack' },
{ value: 'tabs', label: 'Tabs' },
{ value: 'drawer + tabs', label: 'Drawer + Tabs' }
]All templates were already present in the original codebase, just temporarily disabled.
Support
- Original Project Issues: https://github.com/roninoss/create-expo-stack/issues
- Fork-specific Issues: https://github.com/OUREMODE/create-expo-stack/issues
Contributing
Since this is a fork for educational purposes, we keep changes minimal. The main goal is to maintain tabs navigation support while staying close to the upstream project.
If the original project re-enables tabs navigation, this fork may be deprecated.
Made with ❤️ for React Native students
Original by Dan Stepanov | Fork maintained by OUREMODE
