Quick Start
You've installed indiegoon. Now let's wire everything up.
The Fast Way (One Command)
If you have your API keys ready, run:
goon init \
--app-name "My SaaS" \
--app-url "http://localhost:3000" \
--db-url "postgresql://user:pass@host/db" \
--payment-provider stripe \
--stripe-key "sk_test_..." \
--email-provider resend \
--resend-key "re_..."
This configures everything non-interactively. Done.
The Interactive Way (Step by Step)
Prefer to be guided? Run each setup command:
Step 1: Configure Your App
goon setup app
Sets your app name, URL, description, and support email. These appear in your marketing site, emails, and metadata.
Step 2: Set Up Authentication
goon setup auth
Generates a cryptographic secret and configures your auth URL. Optionally sets up Google OAuth right here.
Step 3: Connect Your Database
goon setup db
Paste your PostgreSQL connection string. The CLI validates it and configures Drizzle ORM.
Then push the schema:
npm run db:push
Step 4: Configure Payments
goon setup payments
Pick your provider (Stripe, Polar, LemonSqueezy, or DodoPayments). The CLI validates your API keys live and configures webhooks.
Step 5: Configure Email
goon setup email
Pick your provider (Resend, Postmark, SendGrid, Mailgun, or SMTP). The CLI validates your credentials and sets the from address.
Step 6: Start Building
npm run dev
Your SaaS is running. Visit:
- •
http://localhost:3000— Marketing site - •
http://localhost:3000/sign-up— Create an account - •
http://localhost:3000/dashboard— Authenticated dashboard - •
http://localhost:3000/billing— Subscription management
Optional: Add Features
Want a blog? AI routes? Analytics?
goon add blog
goon add analytics
goon add waitlist
Optional: Apply a Theme
Don't like the default look? Apply a pre-built theme:
goon setup theme
Choose from 10 themes — from minimal zinc to bold neo-brutalist.
What's Next?
- •Authentication — Configure OAuth providers, 2FA, magic links
- •Payments — Set up subscriptions and webhooks
- •Teams — Enable multi-tenant workspaces