UNPKG

create-expo-jmobile

Version:

A modern CLI tool to create Expo apps with reusable components, custom theming, and navigation setup

108 lines (82 loc) • 3.04 kB
# Create Modern Expo App A modern CLI tool to quickly scaffold Expo applications with: - šŸŽØ **Custom theming** with your brand colors - 🧩 **Reusable UI components** (Text, Button, TextField, Layouts) - 🧭 **Expo Router navigation** with conditional setup - šŸŽÆ **TypeScript** support out of the box - šŸ’… **TailwindCSS** with NativeWind - šŸ” **Optional authentication** pages - šŸ“± **Bottom tab navigation** when needed - āœ… **Form validation** with React Hook Form ## Quick Start ```bash npx create-expo-jmobile ``` Or install globally: ```bash npm install -g create-expo-jmobile create-expo-jmobile ``` ## Features ### šŸŽØ Modern UI Components All components support variants, sizes, and custom colors: ```tsx // Text with variants <Text variant="heading" color="primary">Welcome</Text> <Text variant="body" color="textSecondary">Subtitle</Text> // Buttons with different styles <Button title="Primary Action" variant="primary" size="lg" /> <Button title="Secondary" variant="outline" size="md" /> // Form fields with validation <TextField control={control} name="email" label="Email" placeholder="Enter email" rules={validationRules.email} /> ``` ### 🧭 Smart Navigation Setup The CLI automatically sets up: - **Simple navigation** for basic apps - **Bottom tabs** with 4 pre-built screens (Home, Explore, Notifications, Profile) - **Authentication flow** with login/signup pages - **Expo Router** with proper TypeScript integration ### šŸŽØ Custom Theming - Choose from popular fonts (Inter, Poppins, Montserrat, Roboto, Lato) - Set custom primary and secondary colors - Automatic color palette generation - Consistent theming across all components ## Project Structure ``` my-app/ ā”œā”€ā”€ app/ # Expo Router pages │ ā”œā”€ā”€ _layout.tsx # Root layout │ ā”œā”€ā”€ (tabs)/ # Tab navigation (optional) │ ā”œā”€ā”€ login.tsx # Auth pages (optional) │ └── signup.tsx ā”œā”€ā”€ components/ui/ # Reusable components │ ā”œā”€ā”€ Text.tsx │ ā”œā”€ā”€ Button.tsx │ ā”œā”€ā”€ TextField.tsx │ ā”œā”€ā”€ SafeAreaLayout.tsx │ └── FullScreenLayout.tsx ā”œā”€ā”€ constants/theme.ts # Theme configuration ā”œā”€ā”€ hooks/ # Custom hooks ā”œā”€ā”€ utils/ # Utility functions └── global.css # TailwindCSS styles ``` ## Requirements - Node.js 16+ - npm or yarn - Expo CLI (will be installed automatically) ## Contributing 1. Fork the repository 2. Create your feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request ## License MIT Ā© [Your Name] ## Support If you encounter any issues, please [open an issue](https://github.com/jameshardey/create-expo-jmobile/issues) on GitHub.