TurboJet

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

AreaDi mana
Variabel lingkungan.env root + schema Zod di @repo/env — lihat Environment
Feature flag / provider pembayaranpackages/shared/src/features.ts
Internasionalisasipackages/i18n — locale en / id
Payments / storefront@repo/payments + env Mayar (atau provider lain) — Pembayaran
EmailEnv Resend; helper SMTP ada tetapi di-comment di sendEmail — Email
StorageS3_* — Storage
Paket authTrusted origins dan env provider sosial — Autentikasi

Feature flag dan provider pembayaran

packages/shared/src/features.ts
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}.json
  • mail/{en,id}.json
  • saas/{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.

Email

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.

Di halaman ini