create-nova-rn
v1.1.1
Published
Create a production-ready Expo app with TypeScript, auth, offline support, and dark mode — powered by NovaRN.
Downloads
22
Maintainers
Readme
create-nova-rn
A CLI to scaffold NovaRN — the vibe-coded, production-ready Expo boilerplate for 2025.
🌟 Why NovaRN?
NovaRN is the ultimate React Native boilerplate that eliminates the friction of starting a new project. It's designed for developers who want to build production-ready apps without the boilerplate headaches.
Key Benefits
✨ Zero Configuration - Get started in seconds, not hours
🔒 Production-Ready Security - Secure token handling built-in
📡 Offline-First Architecture - Works even when the internet doesn't
🎨 Modern Styling - NativeWind (Tailwind CSS) for beautiful UIs
⚡ Performance Optimized - Lightweight stack with best practices
📚 Well Documented - Comprehensive examples and guides
🛠 Developer Experience - TypeScript, ESLint, and more
🚀 Quick Start
# Create a new NovaRN app
npx create-nova-rn MyApp
# Navigate to your project
cd MyApp
# Install dependencies
npm install
# Start the development server
npx expo startThat's it! You now have a fully functional React Native app with authentication, offline support, and a rich component library.
✨ Features
- Expo Router + TypeScript
- Auth + API + Offline sync ("The Trinity")
- Dark/light/system mode
- TanStack Query + Zustand
- Form handling and validation
- Global error boundaries
- Rich UI component library
- NativeWind (Tailwind CSS for React Native)
- EAS Build ready
🧰 Commands
# Create a new app (default)
npx create-nova-rn MyApp
# List available templates
npx create-nova-rn list-templates
# Display information about NovaRN
npx create-nova-rn info
# Show version
npx create-nova-rn --version
# Show help
npx create-nova-rn --help🛠 Options
# Verbose output
npx create-nova-rn MyApp --verbose
# Template selection (currently only 'full' is available)
npx create-nova-rn MyApp --template full📁 Project Structure
Your new NovaRN app will include:
MyApp/
├── app/ # Expo Router (file-based routing)
├── src/ # Source code
│ ├── features/ # Feature-based modules
│ ├── shared/ # Shared functionality
│ └── components/ # UI components
├── package.json # Dependencies
└── README.md # Project documentation🎯 Key Features Included
- File-based routing with Expo Router
- Authentication flow with proper token handling
- State management with Zustand
- Data fetching with TanStack Query and Axios
- Secure storage for refresh tokens
- Cache persistence with MMKV
- TypeScript strict mode
- Path aliases configured (@/*)
- Feature-based organization for scalable codebase
- Theme management with light/dark/system mode
- Form handling with validation utilities
- Global error boundaries for crash recovery
- Rich UI component library for rapid development
- Dependency verification script for maintenance
- NativeWind (Tailwind CSS for React Native)
🎨 NativeWind (Tailwind CSS for React Native)
NovaRN now includes NativeWind for styling components with Tailwind CSS classes:
import { View, Text, TouchableOpacity } from 'react-native';
export const MyComponent = () => {
return (
<View className="flex-1 justify-center items-center bg-gray-100 dark:bg-gray-900 p-4">
<Text className="text-2xl font-bold text-blue-600 dark:text-blue-400 mb-4">
NativeWind Example
</Text>
<TouchableOpacity className="bg-blue-500 hover:bg-blue-600 dark:bg-blue-600 dark:hover:bg-blue-700 px-6 py-3 rounded-lg">
<Text className="text-white font-semibold">Click Me</Text>
</TouchableOpacity>
</View>
);
};🧪 Testing
NovaRN includes a comprehensive testing setup with Jest and React Native Testing Library:
# Run all tests
npm test
# Run tests in watch mode
npm test -- --watch
# Run tests with coverage
npm test -- --coverage🚀 Deployment
EAS Build (Recommended)
# Install EAS CLI
npm install -g eas-cli
# Configure your project
eas build:configure
# Build for iOS
eas build --platform ios
# Build for Android
eas build --platform android🤝 Contributing
We love contributions! NovaRN is built by developers for developers.
How to Contribute
- Fork the repo
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Reporting Issues
Found a friction point? That's a bug.
NovaRN is designed to be frictionless. If you hit a snag, open an issue. We treat developer experience bugs as seriously as code bugs.
📚 Learn More
📄 License
MIT
