Naar inhoud gaan
supastack
Blader door de docs

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /nl/docs/modules/config.md (or send Accept: text/markdown).

Omgeving en configuratie

Eén gevalideerd schema voor de hele workspace.

Breng één configuratiewijziging aan en controleer deze

Begin met een actieve web-app. Open in de editor apps/web/.env.local; als het niet bestaat, kopieer dan .env.example daarheen met behulp van de webtutorial. Voor een ongevaarlijke eerste controle zoekt u EMAIL_PROVIDER=local op en laat u deze lokaal staan. Deze instelling stuurt product-e-mail naar de lokale preview in plaats van naar een echte inbox. Plak geen KEY=value-regels in de terminal.

Voor elke service die u inschakelt, volgt u de installatiehandleiding van die provider, vervangt u alleen de genoemde waarden, slaat u het bestand op, stopt u de webserver met Ctrl + C en start u opnieuw op met de onderstaande opdracht. Als bij de validatie een ontbrekende sleutel wordt genoemd, heropent u dit bestand en vergelijkt u die sleutel met de handleiding van de provider. Houd root .env alleen gesynchroniseerd voor waarden die worden gebruikt bij databasemigraties; als u het alleen kopieert, wordt Next.js niet geconfigureerd.

corepack pnpm --filter @supastack/web dev

Begin met het environment-voorbeeld

De root-.env.example is de configuratie-inventaris. Gedeelde validatie leeft in packages/config. Review de gekozen applicatie-omgeving en providermodi samen; een lokale interface is geen productie-credentialstrategie.

De credentialvrije referentiemodus vereist lokale/test-applicatieconfiguratie en fake/lokale providers. Een productieprovider kiezen verandert de runtimevereisten.

Houd secrets achter de API

Authenticatiesecrets, databasecredentials, providerkeys, Stripe-secrets en Trigger-credentials zijn server-only. Prefix ze nooit met NEXT_PUBLIC_ of EXPO_PUBLIC_. Print ze niet tijdens setup en neem ze niet op in errorresponses.

De browser ontvangt publieke configuratie en toegestane modelaliasen. Workspace-eigenaarschap, entitlementbeslissingen, budgetten en providerselectie blijven server-afgedwongen.

Check een wijziging vóór gebruik

Valideer configuratie via het bestaande config-package en draai de relevante deterministische tests. Gebruik het apart opt-in provider-smokepad wanneer je klaar bent om echte integraties te verifiëren.

corepack pnpm test
corepack pnpm check
corepack pnpm build

Setup en configuratie

packages/config is de enige plek die process.env parseert: een zod-schema produceert een getypeerde ServerConfig en PublicConfig, en provider-selectie wordt uitgedrukt als kinds — providers.ai, providers.billing, providers.email, providers.jobs, providers.storage resolven elk naar een benoemde adapter plus zijn vereiste velden.

Een provider inschakelen maakt zijn credentials verplicht: een sociale login, het s3-storage-kind of het resend-email-kind aanzetten laat de startup falen met de naam van de ontbrekende variabele, in plaats van een runtime-verrassing later.

STORAGE_PROVIDER=s3
STORAGE_BUCKET=kit
STORAGE_ENDPOINT=https://s3.example
STORAGE_PUBLIC_BASE_URL=https://cdn.example
# → config rejects the env if a required field is missing

Implementatieworkflow

Lees config via parseServerConfig aan de servergrens en geef de getypeerde waarde naar binnen door — raak process.env niet aan binnen feature-code. De publieke config is een apart, bewust klein object dat veilig naar de client geserialiseerd kan worden.

Product-specifieke env hoort in het eigen schema van het consumerende product. Weersta de verleiding het kit-schema uit te laten groeien voor de behoeften van één product.

Verificatie en probleemoplossing

Draai de config-packagetests na een schemawijziging, en check dat een ontbrekende vereiste variabele zichzelf benoemt in de fout. Een env die lokaal parseert maar niet in productie betekent meestal een ongedocumenteerd vereist veld.

Veelgestelde vragen

14 vragen

Wat is supastack?

supastack is een modulair fundament voor het bouwen van SaaS-producten met AI. Het brengt gemeenschappelijke infrastructuur samen zodat jij je kunt richten op productspecifieke functies.

Ondersteunt het web en mobiel?

Ja. supastack bevat Next.js- en Expo-apps als startpunten voor web- en mobiele ervaringen.

Welke authenticatie is inbegrepen?

Better Auth dekt e-mail/wachtwoord, OTP en sociale login. Persoonlijke workspaces worden bij het account geprovisioneerd zodat productrecords vanaf dag één afgebakend blijven.

Hoe ondersteunt het AI?

supastack bevat configureerbare multi-provider AI, usage-tracking, budgetten en versleutelde bring-your-own-key-ondersteuning.

Hoe worden abonnementen afgehandeld?

Voor producten op de kit vormen Stripe-billing, abonnementen en entitlements het fundament voor betaalde toegang. Providersecrets blijven server-only.

Waar leeft mijn productspecifieke code?

Productspecifieke functies blijven in een aparte codebase terwijl het product de fundamentmodules van supastack configureert en integreert.

Hoe werkt de prijs van supastack?

De kit is een eenmalige aankoop met lifetime updates: One Framework voor $249 (tijdelijke lanceringsprijs — $100 korting op de normale prijs van $349) of All Frameworks (Next.js, iOS, Android) voor $499 (tijdelijke lanceringsprijs — $100 korting op de normale prijs van $599), plus $75 per extra developer seat. Geen kit-abonnement. Checkout op deze site levert je licentiesleutel per e-mail, met repositorytoegang via een GitHub-uitnodiging.

Hoe bakens workspaces mijn data af?

Records van gebruikers worden afgebakend per workspaceId. Identiteit, entitlements, AI-gebruik, billing-events en auditentries blijven binnen de grens van de persoonlijke workspace.

Hoe werken achtergrondjobs?

Trigger.dev is de expliciete jobruntime. Het JobRunner-contract belooft alleen enqueue, status en cancel — workflowsemantiek blijft Trigger.dev-specifiek en expliciet.

Hoe verschilt e-mail van outreach?

Transactionele e-mail dekt productworkflows zoals voltooiingsnotices. Koude outreach en campagnes zijn productzaken buiten de e-mailmodule van deze kit.

Hoe werken mobiele aankopen?

Mobiel bevat native aankopen en herstel via RevenueCat, met toegang die je server verifieert. Configureer de winkelaccounts en rond apparaattests af vóór publicatie. Webfacturatie blijft afzonderlijk.

Waar leven de AI-providerkeys?

Bring-your-own-key-credentials zijn versleuteld en blijven server-only. Keys worden uit logs gefilterd; gebruik en budgetten blijven zichtbaar op workspaceniveau.

Welke betaalmethoden accepteert de checkout?

De door Stripe gehoste checkout accepteert kaarten en kan ook Alipay en WeChat Pay aanbieden zodra die wallets op het Stripe-account zijn geactiveerd — handig voor kopers in China. Wallet-autorisaties worden asynchroon bevestigd, dus de licentiepagina wordt bijgewerkt zodra de betaling is afgerond.

Kan ik een terugbetaling krijgen?

Zodra je toegang hebt gekregen tot de repository, is supastack voor altijd van jou en kan er dus geen terugbetaling plaatsvinden. Maar wees gerust: je krijgt de volledige broncode met levenslange updates om onbeperkt producten voor jezelf of je klanten te bouwen en te lanceren. Je mag de code alleen niet doorverkopen of de repository herdistribueren als starterkit of template.

NL
Thema