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

  1. Activates your license - validates your key online (or offline as fallback)
  2. Prompts for configuration - database provider, optional features
  3. Copies the template - with smart filtering based on your selections
  4. Applies substitutions - replaces placeholders with your project name
  5. Configures the manifest - writes .goon/manifest.json with your choices
  6. Creates .env - from .env.example ready for your secrets

Options

FlagDescriptionExample
--keyLicense key--key YOUR_LICENSE_KEY
--dbDatabase provider--db neon
--featuresComma-separated features--features blog,admin,ai
--yes / --defaultsSkip prompts (use defaults)--yes

Database Providers

ProviderValueBest For
NeonneonServerless PostgreSQL (recommended)
SupabasesupabasePostgreSQL + extras
PlanetScaleplanetscaleMySQL-compatible
SQLitesqliteLocal development, prototyping

Feature Selection

During scaffolding, you choose which optional features to include:

FeatureTier RequiredWhat You Get
BlogFreeMDX engine, blog pages, components
AdminProAdmin dashboard, user management
AIProAI API routes, OpenAI integration
WaitlistFreeLanding 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:

  1. CLI checks for a cached license at ~/.indiegoon/license.json
  2. If no cache, prompts you to paste your license key
  3. Validates and activates online via DodoPayments' public API
  4. 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