Konfigurasi
Di mana knob TurboJet berada — env, feature flag, i18n, payments, mail, dan storage.
TurboJet dikonfigurasi per paket dan lewat .env di akar repo. Tidak ada file apps/marketing/config.ts atau apps/saas/config.ts — perilaku dimiliki oleh @repo/env, @repo/shared/features, dan paket fitur.
Permukaan konfigurasi
| Area | Di mana |
|---|---|
| Variabel lingkungan | .env root + schema Zod di @repo/env — lihat Environment |
| Feature flag / provider pembayaran | packages/shared/src/features.ts |
| Internasionalisasi | packages/i18n — locale en / id |
| Payments / storefront | @repo/payments + env Mayar (atau provider lain) — Pembayaran |
Env Resend; helper SMTP ada tetapi di-comment di sendEmail — Email | |
| Storage | S3_* — Storage |
| Paket auth | Trusted origins dan env provider sosial — Autentikasi |
Feature flag dan provider pembayaran
export const features: Features = {
onboardingFlow: true,
paymentsProvider: PaymentProvider.Mayar,
apiDocs: process.env.NODE_ENV !== "production",
sentry: process.env.NEXT_PUBLIC_ENABLE_SENTRY !== "false",
posthog: process.env.NEXT_PUBLIC_ENABLE_POSTHOG !== "false",
};Ubah paymentsProvider ke PaymentProvider.Polar, Midtrans, atau Doku saat Anda mengganti adapter. Sentry dan PostHog juga bisa dimatikan dengan NEXT_PUBLIC_ENABLE_*="false".
Internasionalisasi
Pesan di-scope di bawah packages/i18n/src/:
marketing/{en,id}.jsonmail/{en,id}.jsonsaas/{en,id}.json(katalog untuk UI produk saat Anda menghost-nya)
Locale yang didukung: en, id. Marketing memakai next-intl; docs memakai MDX locale Fumadocs. Lihat Internasionalisasi.
Pembayaran
ID plan, harga tampilan, dan URL payment link Mayar ada di @repo/payments dan kunci env Mayar di Environment. Checkout storefront dibuat dari app marketing — Checkout storefront.
Setel RESEND_KEY dan RESEND_EMAIL_DOMAIN. sendEmail selalu memakai Resend saat ini. SMTP_* / MAILPIT_URL opsional divalidasi untuk Mailpit lokal tetapi belum dihubungkan sampai Anda meng-uncomment cabang SMTP — Mailpit.
Storage
Konfigurasi klien kompatibel S3 dengan S3_REGION, S3_BUCKET, S3_ENDPOINT, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, dan opsional S3_PUBLIC_URL. Lihat Setup storage.
Kasus penggunaan
Situs marketing
apps/marketing memiliki rute publik, halaman legal, SEO, checkout Mayar, dan menghost Hono di /api. Konfigurasikan URL publik dan kunci Mayar di .env.
Situs dokumentasi
apps/docs memiliki MDX Fumadocs dan i18n chrome. Setel NEXT_PUBLIC_DOCS_URL. Jangan menambahkan origin docs ke Better Auth trustedOrigins.
Paket kit (tanpa host produk di sini)
@repo/auth, @repo/database, dan modul API berorientasi produk tetap di monorepo untuk saat Anda menambah app produk. Arahkan NEXT_PUBLIC_SAAS_URL / NEXT_PUBLIC_APP_URL sisa ke marketing (atau origin produk masa depan) agar CORS dan trusted origins tetap valid.