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 GOON-PR-ABCDEFGH-1234
--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

Key Format

GOON-XX-XXXXXXXX-XXXX

Where XX is the tier code:

  • ST = Starter
  • PR = Pro
  • BN = Bundle

Activation Flow

  1. CLI checks for cached license at ~/.indiegoon/license
  2. If no cache, prompts for key
  3. Validates online via POST https://indiegoon.dev/api/activate
  4. Falls back to offline validation if server is unreachable
  5. Caches valid license locally

Machine Fingerprint

Licenses are tied to a machine fingerprint (SHA-256 hash of hostname + platform + username). This prevents key sharing while allowing reasonable use on your own machines.

Non-Interactive Mode

For CI/CD pipelines and AI agents:

npx create-goon-app my-saas \
  --key GOON-PR-ABCDEFGH-1234 \
  --db neon \
  --features blog,admin \
  --yes

Auto-detected when stdin is not a TTY (piped environments).

After Scaffolding

Once your project is created:

cd my-saas
npm install          # Install dependencies
goon init            # Configure all services
npm run db:push      # Create database tables
npm run dev          # Start development server

Next Steps