npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

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

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 start

That'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

  1. File-based routing with Expo Router
  2. Authentication flow with proper token handling
  3. State management with Zustand
  4. Data fetching with TanStack Query and Axios
  5. Secure storage for refresh tokens
  6. Cache persistence with MMKV
  7. TypeScript strict mode
  8. Path aliases configured (@/*)
  9. Feature-based organization for scalable codebase
  10. Theme management with light/dark/system mode
  11. Form handling with validation utilities
  12. Global error boundaries for crash recovery
  13. Rich UI component library for rapid development
  14. Dependency verification script for maintenance
  15. 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

  1. Fork the repo
  2. Create a 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

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