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 🙏

© 2026 – Pkg Stats / Ryan Hefner

create-nexuskit-app

v1.1.0

Published

Create production-ready Next.js applications with NexusKit

Readme

create-nexuskit-app

Create production-ready Next.js applications with NexusKit in seconds.

Features

  • 🚀 Interactive Setup Wizard - Guided configuration for all features
  • 🗄️ Database Selection - Choose between SQLite (dev) or PostgreSQL (production)
  • 🔐 Authentication - Pre-configured NextAuth.js with multiple providers
  • 💳 Payments - Lemon Squeezy integration ready
  • 📧 Email - Magic link authentication with Resend
  • 🎨 UI Components - Beautiful, accessible components with Radix UI
  • 📦 TypeScript - Full type safety out of the box
  • 🛠️ Best Practices - ESLint, Prettier, Husky pre-configured

Quick Start

Using npm

npx create-nexuskit-app@latest
# or with app name
npx create-nexuskit-app@latest my-app

Using pnpm

pnpm dlx create-nexuskit-app@latest
# or with app name
pnpm dlx create-nexuskit-app@latest my-app

Using yarn

yarn create nexuskit-app
# or with app name
yarn create nexuskit-app my-app

Using bun

bunx create-nexuskit-app@latest
# or with app name
bunx create-nexuskit-app@latest my-app

What You'll Get

The CLI will guide you through:

  1. Database Configuration

    • SQLite for quick development setup
    • PostgreSQL for production-ready applications
    • Automatic Prisma schema generation
  2. Authentication Setup

    • Email/Magic link authentication with Resend
    • Google OAuth integration
    • Admin user configuration
  3. Payment Integration

    • Lemon Squeezy setup for subscriptions
    • Webhook configuration
    • Multiple pricing tiers
  4. Environment Configuration

    • Automatic .env.local generation
    • Secure secret generation
    • Database URL configuration

Database Setup

SQLite (Development)

No additional setup required! The database file will be created automatically.

PostgreSQL (Production)

macOS

# Install PostgreSQL
brew install postgresql@15
brew services start postgresql@15

# Create database
createdb your_app_name

Ubuntu/Debian

# Install PostgreSQL
sudo apt update
sudo apt install postgresql postgresql-contrib

# Start service
sudo systemctl start postgresql

# Create database
sudo -u postgres createdb your_app_name

Windows

Download and install from postgresql.org

Docker

docker run -d \
  --name postgres \
  -e POSTGRES_PASSWORD=postgres \
  -e POSTGRES_DB=your_app_name \
  -p 5432:5432 \
  postgres:15

Environment Variables

The CLI automatically creates a .env.local file with:

# Database
DATABASE_URL="your-database-url"

# Authentication
AUTH_SECRET="auto-generated-secret"
AUTH_URL="http://localhost:3000"

# Email (Resend)
AUTH_RESEND_KEY="your-api-key"
RESEND_FROM_EMAIL="[email protected]"

# Google OAuth
AUTH_GOOGLE_ID="your-client-id"
AUTH_GOOGLE_SECRET="your-client-secret"

# Payments (Lemon Squeezy)
LEMONSQUEEZY_API_KEY="your-api-key"
LEMONSQUEEZY_STORE_ID="your-store-id"
LEMONSQUEEZY_WEBHOOK_SECRET="your-webhook-secret"

Post-Installation

After setup completes:

# Navigate to your project
cd your-app-name

# Start development server
npm run dev
# or
pnpm dev
# or
yarn dev

Your app will be available at http://localhost:3000

Authentication Providers

Email/Magic Links (Resend)

  1. Sign up at resend.com
  2. Get your API key
  3. Add domain and verify
  4. Update AUTH_RESEND_KEY and RESEND_FROM_EMAIL

Google OAuth

  1. Go to Google Cloud Console
  2. Create a new project or select existing
  3. Enable Google+ API
  4. Create OAuth 2.0 credentials
  5. Add redirect URIs:
    • http://localhost:3000/api/auth/callback/google (dev)
    • https://yourdomain.com/api/auth/callback/google (production)
  6. Update AUTH_GOOGLE_ID and AUTH_GOOGLE_SECRET

Payment Setup (Lemon Squeezy)

  1. Sign up at lemonsqueezy.com
  2. Create a store
  3. Add products and variants
  4. Get API credentials from Settings > API
  5. Set up webhook endpoint: /api/webhooks/lemonsqueezy
  6. Update environment variables

Project Structure

your-app/
├── src/
│   ├── app/              # Next.js App Router
│   ├── components/       # React components
│   │   ├── ui/          # Shadcn/ui components
│   │   └── auth/        # Authentication components
│   ├── lib/             # Utilities and configs
│   └── types/           # TypeScript types
├── prisma/
│   └── schema.prisma    # Database schema
├── public/              # Static assets
└── .env.local          # Environment variables

Available Scripts

# Development
npm run dev          # Start dev server with Turbopack

# Production
npm run build        # Build for production
npm run start        # Start production server

# Database
npx prisma studio    # Open Prisma Studio
npx prisma db push   # Push schema changes
npx prisma generate  # Generate Prisma Client

# Code Quality
npm run lint         # Run ESLint
npm run format       # Format with Prettier

Troubleshooting

Database Connection Issues

PostgreSQL not running:

# macOS
brew services restart postgresql@15

# Linux
sudo systemctl restart postgresql

# Check if running
pg_isready

Permission denied:

# Update pg_hba.conf
sudo nano /etc/postgresql/15/main/pg_hba.conf
# Change "peer" to "md5" for local connections

Build Errors

Prisma Client not generated:

npx prisma generate

Dependencies issues:

rm -rf node_modules package-lock.json
npm install

Authentication Issues

"AUTH_SECRET is not set": Generate a new secret:

openssl rand -base64 32

Google OAuth redirect mismatch: Ensure redirect URIs in Google Console match your app URL.

Support

License

MIT © NexusKit Contributors