Installation
Quick Start
Get your Warp application up and running with a single command:
npx @nebaura/create-warpThe CLI will guide you through an interactive setup process in your browser.
Authentication Flow
1. Device Flow Authentication
When you run the CLI, it will:
- Generate a device code
- Open your browser automatically to
https://nebaura.studio/auth - Display a verification code in the terminal
β‘ Authenticating with Whop
Please authenticate in your browser:
https://nebaura.studio/auth?device_code=xxxxx
Code: ABC-123
β Opened browser automatically2. Whop OAuth
The browser will redirect you to Whop's OAuth page where you'll:
- Log in to your Whop account
- Authorize Nebaura Warp to access your account
- Grant permissions to create and manage apps
3. App Configuration
After authentication, you'll be redirected to the configuration page where you'll set up:
App Name
Give your app a memorable name:
My Awesome Whop AppUI Library Selection
Choose your preferred UI library:
- coss.com UI - 44 modern, accessible components built on Base UI
- Frosted UI - Whop's official glassmorphic design system
- Headless - Build your own UI with Tailwind CSS v4
Database Provider
Select your database (or skip):
- Supabase - Serverless Postgres with instant APIs
- Neon - Serverless Postgres with branching
- PlanetScale - MySQL-compatible serverless database
- Turso - Edge-hosted SQLite
- PostgreSQL - Traditional PostgreSQL
- None - Skip database setup
Database Credentials (if applicable)
For Supabase:
- Project URL:
https://xxxxx.supabase.co - Anon Key:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... - Connection String:
postgresql://postgres:...
For Neon, PlanetScale, PostgreSQL:
- Connection String:
postgresql://user:password@...
For Turso:
- Database URL:
libsql://... - Auth Token:
eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9...
4. Automatic App Creation
Once you submit the configuration, Warp will:
β
Create Whop App - New app created on your Whop account
β
Generate API Keys - App ID and API key extracted
β
Return to CLI - Configuration sent back to terminal
CLI Project Setup
After configuration completes in the browser, the CLI will:
- Copy Template Files - Install the selected UI variant
- Generate Environment Variables - Create
.env.localwith credentials - Install Dependencies - Run package manager automatically
- Start Dev Server (optional) - Launch at
http://localhost:3000
β Setup Complete!
App: my-awesome-whop-app
App ID: app_xxxxx
Company ID: biz_xxxxx
? Start development server? Yes
Starting development server...
Dashboard: https://whop.com/dashboard/apps/app_xxxxx
Press Ctrl+C to stopWhat Gets Created
Your project includes:
β
Whop App Created - App created and ready to use
β
Environment Variables - .env.local with all credentials
β
UI Components - Pre-built components from your chosen library
β
Database Schema - Drizzle ORM configured (if database selected)
β
API Routes - Webhook handlers and API utilities
β
Dependencies Installed - Ready to run immediately
Environment Variables
The CLI automatically generates your .env.local file:
# Whop Configuration
WHOP_API_KEY=whop_xxx
NEXT_PUBLIC_WHOP_APP_ID=app_xxxxx
WHOP_WEBHOOK_SECRET=webhook_secret_here
NEXT_PUBLIC_WHOP_COMPANY_ID=biz_xxxxx
NEXT_PUBLIC_WHOP_AGENT_USER_ID=user_xxxxx
# Project Path (for "Open in Cursor" button)
NEXT_PUBLIC_PROJECT_PATH=/path/to/your/project
# Database (if configured)
DATABASE_PROVIDER=supabase
DATABASE_URL=postgresql://...
NEXT_PUBLIC_SUPABASE_URL=https://xxxxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...Manual Setup
If you prefer to run the dev server manually:
cd my-awesome-whop-app
pnpm install # or npm/yarn/bun
pnpm devYour app will be available at http://localhost:3000.
Troubleshooting
Browser Doesn't Open
If the browser doesn't open automatically:
- Copy the URL from the terminal
- Open it manually in your browser
- Enter the verification code shown
Authentication Timeout
The device flow expires after 5 minutes. If you see a timeout:
- Run the command again
- Complete authentication quickly
Database Connection Issues
If database setup fails:
- You can configure it later in
.env.local - Update the connection strings manually
- Run
pnpm db:pushto push the schema
Next Steps
- UI Libraries - Explore available components
- Authentication - Understanding the auth flow
- Database - Working with your database
- API Utilities - Using Whop helper functions
