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-core-stack

v0.1.0

Published

Create production-ready full-stack mobile apps with React Native (Expo) and Node.js backend

Readme

create-core-stack

npm version License: MIT Node.js Version

Beta Release: This is version 0.1.0. Package may change before 1.0.0. Feedback welcome!

Create production-ready full-stack mobile apps with React Native (Expo) and Node.js backend in minutes.

Quick Start

# npm
npx create-core-stack@latest my-app

# yarn
yarn create core-stack my-app

# bun
bunx create-core-stack my-app

Features

  • React Native (Expo) - Cross-platform mobile development (iOS & Android)
  • Node.js Backend - Fastify + PostgreSQL + Redis
  • SDK Integrations - RevenueCat, Adjust, Scate
  • Onboarding Flows - Customizable multi-page user onboarding
  • Authentication - JWT-based auth with backend integration
  • Subscription Paywalls - RevenueCat integration for in-app purchases
  • Docker Support - Complete development environment with Docker Compose
  • Analytics - Adjust attribution and Scate engagement tracking
  • ATT Support - App Tracking Transparency for iOS

Requirements

  • Node.js: >= 18.0.0
  • npm: >= 8.0.0 (or yarn/bun equivalent)
  • Git: For repository initialization
  • Docker: For backend development (optional but recommended)

Available Presets

Minimal

Basic mobile app + backend with essential features:

  • Authentication
  • Session Management
  • Tab Navigation
  • PostgreSQL Database
  • Docker Support

Full-Featured

All integrations and features included:

  • 3-page Onboarding Flow
  • Authentication
  • Subscription Paywall
  • Session Management
  • Tab Navigation
  • RevenueCat Integration
  • Adjust Integration
  • Scate Integration
  • ATT (App Tracking Transparency)
  • PostgreSQL + BullMQ Event Queue
  • Docker Support

Analytics-Focused

Analytics SDKs with basic features:

  • 2-page Onboarding Flow
  • Authentication
  • Session Management
  • Tab Navigation
  • Adjust Integration
  • Scate Integration
  • ATT (App Tracking Transparency)
  • PostgreSQL + BullMQ Event Queue
  • Docker Support

CLI Usage

# Interactive mode
npx create-core-stack my-app

# With preset template
npx create-core-stack my-app --template minimal
npx create-core-stack my-app --template full-featured
npx create-core-stack my-app --template analytics-focused

# With defaults (minimal preset, no prompts)
npx create-core-stack my-app --defaults

# Show help
npx create-core-stack --help

# Verbose output
npx create-core-stack my-app --verbose

What You Get

Mobile App

  • React Native with Expo Router
  • TypeScript with strict mode
  • Zustand state management
  • File-based routing
  • Ready for EAS Build

Backend

  • Fastify REST API
  • Prisma + PostgreSQL
  • JWT authentication
  • Docker development environment
  • Optional BullMQ event queue

Optional Integrations

  • RevenueCat (subscriptions)
  • Adjust (attribution)
  • Scate (engagement)
  • ATT (iOS tracking transparency)

Generated Project Structure

my-app/
├── mobile/              # React Native (Expo) app
│   ├── app/            # Expo Router screens
│   ├── src/            # Components, services, utils
│   └── assets/         # Images, fonts
├── backend/            # Node.js backend
│   ├── controllers/    # API routes
│   ├── domain/         # Business logic
│   └── prisma/         # Database schema
├── docker-compose.yml  # Local development
└── scripts/            # Setup utilities

Generated Project Setup

After generating your project:

cd my-app

# Start backend (Docker)
docker-compose up -d

# Setup database
cd backend
npm install
npx prisma migrate dev
cd ..

# Start mobile app
cd mobile
npm install
npm start

Deployment

Mobile App

Use EAS Build for deployment:

cd mobile
npm install -g eas-cli
eas build --platform ios
eas build --platform android

Backend

Deploy to any Node.js hosting:

  • Heroku
  • Railway
  • Render
  • AWS/GCP/Azure
  • Your own VPS

Configure environment variables from .env.example.

Development

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Test with coverage
npm run test:coverage

# Run unit tests
npm run test:unit

# Run integration tests
npm run test:integration

# Run e2e tests
npm run test:e2e

# Lint code
npm run lint

# Format code
npm run format

# Type checking
npm run typecheck

Troubleshooting

"Command not found: create-core-stack"

Make sure npx is working:

npx --version

Try with explicit version:

npx create-core-stack@latest my-app

"EACCES: permission denied"

Don't use sudo with npx. If you get permission errors:

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH

Generated project TypeScript errors

Make sure you're using Node.js >= 18:

node --version

Docker issues

Ensure Docker is running:

docker --version
docker ps

FAQ

Q: What's the difference between presets? A: Minimal has basic features, Full-Featured has everything, Analytics-Focused has Adjust + Scate.

Q: Can I add features later? A: Yes, but it's easier to start with more features and remove what you don't need.

Q: Is this production-ready? A: The generated code is production-quality, but this is a beta tool (v0.1.0). Test thoroughly.

Q: What about web support? A: The mobile app is React Native (mobile-only). For web, consider using Expo's web support or a separate web app.

Q: Can I customize the templates? A: Not yet, but template customization is planned for future versions.

Roadmap

  • [ ] v0.2.0: Additional template customization
  • [ ] v0.3.0: More SDK integrations (Firebase, Supabase)
  • [ ] v0.4.0: Web app support
  • [ ] v1.0.0: Stable API, production-ready

Technology Stack

CLI Framework

  • Commander.js - Command-line interface framework
  • Inquirer.js - Interactive prompts
  • chalk - Terminal colors
  • ora - Loading spinners
  • boxen - Terminal boxes
  • EJS - Template rendering

Development

  • TypeScript - Type safety
  • Vitest - Testing framework
  • ESLint - Linting
  • Prettier - Code formatting

Project Status

Completed Features

  • [x] CLI framework using Commander.js
  • [x] Interactive prompts using Inquirer.js
  • [x] Input validation and error handling
  • [x] Three preset templates (Minimal, Full-Featured, Analytics-Focused)
  • [x] Custom configuration flow
  • [x] Comprehensive unit tests
  • [x] Type-safe configuration schema
  • [x] Package manager selection
  • [x] Template system using EJS
  • [x] File generation and copying
  • [x] Project scaffolding
  • [x] Conditional feature integration

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

Security

See SECURITY.md for vulnerability reporting.

License

MIT © itharea

Support