0%
Vibe44 Logo

Getting Started

Zero to running in under 10 minutes. Prerequisites, install, env setup, database, first run.

Prerequisites

RequirementVersionVerify
Node.js20+node -v
npm10+npm -v
GitLatestgit --version
Supabase—supabase.com

1. Clone & Install

git clone https://github.com/scalewithalap/vibe44.git my-saas-app
cd my-saas-app
npm run setup-wizard # Run the interactive CLI wizard.

The wizard runs a preflight-first prompt flow powered by @clack/prompts:

  1. Preflight - verify project writability, Node.js >=20, package-manager detection, .env.local conflict status, and Supabase config presence.
  2. Project Identity - project slug, display name, and support email.
  3. Infrastructure - payment provider (5), AI provider (4), voice toggle, voice provider (2), email provider (4), analytics provider (9), background jobs provider (2 - QStash/Trigger.dev), and Sentry toggle.
  4. API Keys - only the Supabase, provider, voice, background jobs provider, analytics, Sentry, and Upstash Redis keys required by your previous choices. Keys are validated locally against provider-specific patterns.
  5. Generated Secrets - inject CSRF_SECRET and NEXT_AUTH_SECRET when they are absent. Impersonation cookie signing can use those secrets unless IMPERSONATION_COOKIE_SECRET is configured separately.
  6. Write Plan - preview or write .env.local.

The wizard generates:

  • .env.local — your fully configured environment (with auto-generated CSRF_SECRET & NEXT_AUTH_SECRET)

Note

The package includes a .env.example pre-configured for customer reference. The setup wizard does not overwrite or regenerate .env.example.

Pro Tip

The wizard runs in-place — no cd navigation is required.

3. Database Schema Setup

To ensure 100% build stability and eliminate complex CLI database dependencies, database schema application is a user-driven process:

  1. Option A: Supabase Web Dashboard SQL Editor (Recommended)

    • Open your project on the Supabase Dashboard.
    • Go to the SQL Editor section.
    • Open a new query, paste the contents of supabase/schema.sql, and click Run. This bootstraps all 32 tables, indexes, custom functions, and Row-Level Security (RLS) policies.
  2. Option B: Supabase MCP (AI Agent Native)

    • Leverage AI agents to apply and manage database state seamlessly using the Supabase Model Context Protocol (MCP) server.
    • Refer to the official guide: Supabase MCP Integration.
  3. Option C: Drizzle Kit (For subsequent schema changes)

    • To push schema changes from your local Drizzle schema files, run:
      npm run db:push
      See DATABASE.md for more details.

4. Supabase Email Configuration

Before testing signups, you must update the email verification template to use the secure, anti-scanner verification flow.

  1. Go to Authentication > Email Templates in your Supabase Dashboard.
  2. Edit the Confirm signup template.
  3. Replace {{ .ConfirmationURL }} in the link with: {{ .SiteURL }}/auth/confirm?token_hash={{ .TokenHash }}&type=signup

5. Super-Admin Account

  1. npm run dev
  2. Navigate to http://localhost:3000/signup, create account
  3. Verify email (check Supabase Auth dashboard if needed)
  4. Promote to super-admin:
-- Supabase SQL Editor
UPDATE profiles SET role = 'super-admin' WHERE email = '[email protected]';

Important

Role value is 'super-admin' (hyphenated). 'admin' and 'super_admin' do NOT work.

6. Run

npm run dev

http://localhost:3000

Key URLs

URLPurpose
/Landing page
/loginSign in
/signupCreate account
/dashboardDashboard
/dashboard/billingSubscriptions
/super-adminAdmin panel
/systemSystem status
/docsDocs (Fumadocs)
/api-referencesAPI reference (Scalar)

7. Commands

# Dev
npm run dev          # Dev server
npm run build        # Production build
npm run start        # Production server
npm run type-check   # Application + setup-wizard TypeScript validation

# Database
npm run db:push      # Push schema
npm run db:generate  # Migration SQL
npm run db:studio    # Drizzle Studio

# AI Agents
python -m graphify update . # Refresh Graphify AST

# Testing
npm run test         # Unit (Vitest)
npm run test:e2e     # E2E (Playwright)

# i18n
npx tsx scripts/find-missing-locale-keys.ts   # Missing keys
npx tsx scripts/find-missing-translations.ts  # Parity check

8. Remove Mock Data

Demo data populates the dashboard out of the box. When ready:

Quick: Keep NEXT_PUBLIC_USE_MOCK_DATA=false in .env.local and production environment variables.

Full: Follow /remove-mock-data workflow.

Mock data only appears when tables are empty. Real data auto-replaces it.


️ What's Next?

GoalRead
AI Agent SetupAGENTS.md, CLAUDE.md, GRAPHIFY.md
ArchitectureARCHITECTURE.md
Branding & themingCUSTOMIZATION.md
PaymentsPAYMENTS.md
EmailEMAIL.md
DeployDEPLOYMENT.md
Add featuresWORKFLOWS.md
Security auditSECURITY_AUDIT.md

Copyright © 2026 Vibe44. Built with ❤️ by Scale with Alap.