create-goon-app
The scaffolding CLI that creates a new indiegoon project. It activates your license, prompts for configuration, and gives you a complete working SaaS.
Usage
npx create-goon-app my-project-name
What It Does
- •Activates your license - validates your key online (or offline as fallback)
- •Prompts for configuration - database provider, optional features
- •Copies the template - with smart filtering based on your selections
- •Applies substitutions - replaces placeholders with your project name
- •Configures the manifest - writes
.goon/manifest.jsonwith your choices - •Creates
.env- from.env.exampleready for your secrets
Options
| Flag | Description | Example |
|---|---|---|
--key | License key | --key YOUR_LICENSE_KEY |
--db | Database provider | --db neon |
--features | Comma-separated features | --features blog,admin,ai |
--yes / --defaults | Skip prompts (use defaults) | --yes |
Database Providers
| Provider | Value | Best For |
|---|---|---|
| Neon | neon | Serverless PostgreSQL (recommended) |
| Supabase | supabase | PostgreSQL + extras |
| PlanetScale | planetscale | MySQL-compatible |
| SQLite | sqlite | Local development, prototyping |
Feature Selection
During scaffolding, you choose which optional features to include:
| Feature | Tier Required | What You Get |
|---|---|---|
| Blog | Free | MDX engine, blog pages, components |
| Admin | Pro | Admin dashboard, user management |
| AI | Pro | AI API routes, OpenAI integration |
| Waitlist | Free | Landing page with email capture |
Features you don't select are excluded from the final project (directories removed, imports cleaned up).
License System
How Licenses Work
Licenses are managed entirely by DodoPayments. When you purchase indiegoon, your license key is delivered automatically via email.
Activation
Activation is handled via DodoPayments' infrastructure directly from the CLI:
- •CLI checks for a cached license at
~/.indiegoon/license.json - •If no cache, prompts you to paste your license key
- •Validates and activates online via DodoPayments' public API
- •Caches the valid license locally for future runs
Machine Limits
Each license tier supports a limited number of machine activations:
- •Starter: 2 machines
- •Pro: 3 machines
- •Bundle: 5 machines
If you need to free a machine slot (e.g., you switched computers), run:
npx create-goon-app deactivate
Key Format
There is no specific key format to remember. Just paste the key exactly as you received it in your purchase confirmation email.
Non-Interactive Mode
For CI/CD pipelines and AI agents:
npx create-goon-app my-saas \
--key YOUR_LICENSE_KEY \
--db neon \
--features blog,admin \
--yes
Auto-detected when stdin is not a TTY (piped environments).
After Scaffolding
Once your project is created, the goon CLI is already included as a local binary. No global install is needed. Just run:
cd my-saas
npm install # Install dependencies (also registers the goon CLI locally)
npx goon init # Configure all services
npm run db:push # Create database tables
npm run dev # Start development server
Next Steps
- •Quick Start - Configure services and start building
- •CLI Reference - The built-in goon project CLI