Quickstart
1.0.0Launch a tenant app end-to-end using Forge CLI + Supabase + Vercel defaults.
Prerequisites
- Node.js 22 and PNPM 10 (see
package.jsonengines). - Access to the shared Supabase project via Doppler or Pulumi outputs.
- Stripe test keys for billing flows (see Stripe Integration).
Warning
Run pnpm install at the repo root before you start. Workspace dependencies
(UI, config, payments) must be built for the docs and CLI generators to work.
1. Sync configuration
pnpm --filter @app-factory/config build
doppler run -- pnpm --filter @app-factory/landing env:pull
This regenerates .env.generated files from ops/apps.yaml and writes .env.local so the landing site, dashboard, and generated apps share secrets.
Need a guided wizard instead of Doppler?
pnpm --filter @app-factory/landing env:setup
2. Generate an app
Forge CLI
pnpm forge new demo-app --web=nextjs --mobile --config ops/apps.yaml --output apps/generated- Next.js template bootstraps Supabase auth, Stripe billing UI, and analytics hooks.
- React Native template is optional but keeps config helpers consistent.
3. Provision Supabase + domains
pnpm forge provision demo-app production --provider supabase --update-env --update-secrets
pnpm forge domain verify demo.example.com
- CLI provisions prefixed tables like
demo_app_usersand updates Doppler with credentials. - Domain flow wires Vercel + Supabase storage to issue SSL certificates.
4. Deploy
pnpm forge deploy demo-app production
- Builds the generated app, pushes to Vercel, and triggers semantic-release for release notes.
- Vercel environment variables reference the
.env.generatedfiles created earlier.
5. Invite your team
Use the dashboard to invite collaborators. Supabase RLS applies automatically once users accept invites and join the organization.
Success
Ready for more depth? Dive into the
Forge CLI reference
or Forge API overview to automate everything from CI/CD.