Zum Inhalt springen
supastack
Dokumentation durchstöbern

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 /de/docs/modules/config.md (or send Accept: text/markdown).

Environment und Config

Ein validiertes Schema für den gesamten Workspace.

Nehmen Sie eine Konfigurationsänderung vor und überprüfen Sie sie

Beginnen Sie mit einer laufenden Web-App. Öffnen Sie im Editor apps/web/.env.local; Wenn es nicht vorhanden ist, kopieren Sie .env.example mithilfe des Web-Tutorials dorthin. Suchen Sie für eine harmlose erste Prüfung nach EMAIL_PROVIDER=local und lassen Sie es vor Ort. Diese Einstellung sendet Produkt-E-Mails an die lokale Vorschau statt an einen echten Posteingang. Fügen Sie keine KEY=value-Leitungen in das Terminal ein.

Befolgen Sie für jeden Dienst, den Sie aktivieren, die Installationsanleitung des Anbieters, ersetzen Sie nur die benannten Werte, speichern Sie die Datei, stoppen Sie den Webserver mit Strg + C und starten Sie ihn mit dem folgenden Befehl neu. Wenn bei der Validierung ein fehlender Schlüssel festgestellt wird, öffnen Sie diese Datei erneut und vergleichen Sie diesen Schlüssel mit dem Anbieterhandbuch. Halten Sie root .env nur für Werte synchronisiert, die von Datenbankmigrationen verwendet werden. Durch alleiniges Kopieren wird Next.js nicht konfiguriert.

corepack pnpm --filter @supastack/web dev

Mit dem Umgebungsbeispiel beginnen

.env.example im Repository-Stamm ist das Konfigurationsverzeichnis. Die gemeinsame Validierung liegt in packages/config. Prüfe gemeinsam die ausgewählte Anwendungsumgebung und Provider-Modi; eine lokale Oberfläche ist keine Strategie für Zugangsdaten in der Produktion.

Der Modus ohne Zugangsdaten erfordert lokale/Test-Anwendungskonfiguration sowie Fake-/Lokalprovider. Die Auswahl eines Produktions-Providers verändert die Laufzeitanforderungen.

Geheimnisse hinter der API halten

Auth-Geheimnisse, Datenbankzugangsdaten, Provider-Schlüssel, Stripe-Geheimnisse und Trigger-Zugangsdaten sind ausschließlich für den Server bestimmt. Setze niemals das Präfix NEXT_PUBLIC_ oder EXPO_PUBLIC_ davor. Gib sie weder bei der Einrichtung noch in Fehlerantworten aus.

Der Browser erhält öffentliche Konfiguration und erlaubte Modell-Aliase. Workspace-Eigentümerschaft, Berechtigungsentscheidungen, Budgets und Provider-Auswahl werden weiterhin serverseitig durchgesetzt.

Änderungen vor der Verwendung prüfen

Validiere die Konfiguration über das vorhandene Config-Paket und führe die passenden deterministischen Tests aus. Nutze den separat aktivierten Provider-Smoke-Test, wenn du echte Integrationen überprüfen möchtest.

corepack pnpm test
corepack pnpm check
corepack pnpm build

Einrichtung und Konfiguration

packages/config ist der einzige Ort, der process.env parst: ein Zod-Schema erzeugt einen typisierten ServerConfig und PublicConfig, und Provider-Auswahl wird als Kinds ausgedrückt — providers.ai, providers.billing, providers.email, providers.jobs, providers.storage lösen je zu einem benannten Adapter plus dessen Pflichtfeldern auf.

Ein Provider zu aktivieren macht seine Credentials erforderlich: Ein Social Sign-in, das s3-Storage-Kind oder das resend-E-Mail-Kind einzuschalten lässt den Start mit der benannten fehlenden Variable fehlschlagen statt später mit einer Runtime-Überraschung.

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

Implementierungsablauf

Lies Config über parseServerConfig an der Server-Grenze und reiche den typisierten Wert nach innen — fasse process.env nicht innerhalb von Feature-Code an. Public Config ist ein separates, bewusst kleines Objekt, das sicher zum Client serialisiert werden kann.

Produkt-spezifisches Env gehört zum eigenen Schema des konsumierenden Produkts. Widerstehe dem Wachsen des Kit-Schemas für die Bedürfnisse eines einzelnen Produkts.

Überprüfung und Fehlerbehebung

Führe die Config-Paket-Tests nach Schema-Änderungen aus und prüfe, dass eine fehlende Pflichtvariable sich im Fehler selbst benennt. Ein Env, das lokal parst, aber nicht in Produktion, bedeutet meist ein undokumentiertes Pflichtfeld.

Häufige Fragen

14 Fragen

Was ist supastack?

supastack ist eine modulare Basis zum Bauen von KI-gestützten SaaS-Produkten. Sie bündelt die gemeinsame Infrastruktur, damit du dich auf die Funktionen konzentrieren kannst, die dein Produkt ausmachen.

Unterstützt es Web und Mobil?

Ja. supastack enthält Next.js- und Expo-Apps als Ausgangspunkt für Web- und Mobile-Erlebnisse.

Welche Authentifizierung ist enthalten?

Better Auth deckt E-Mail/Passwort, OTP und Social Login ab. Persönliche Workspaces werden mit dem Konto provisioniert, damit Datensätze vom ersten Tag an begrenzt sind.

Wie wird KI unterstützt?

supastack enthält konfigurierbare Multi-Anbieter-KI, Nutzungsverfolgung, Budgets und verschlüsselte Bring-your-own-key-Unterstützung.

Wie werden Abonnements gehandhabt?

Für Produkte, die auf dem Kit aufbauen, bilden Stripe-Abrechnung, Abonnements und Berechtigungen die Basis für bezahlten Zugang. Anbieter-Geheimnisse bleiben serverseitig.

Wo liegt mein produktspezifischer Code?

Produktspezifische Funktionen bleiben in einem separaten Codebase, während das Produkt die Basismodule von supastack konfiguriert und integriert.

Wie funktioniert die Preisgestaltung von supastack?

Das Kit ist ein Einmalkauf mit lebenslangen Updates: Ein Framework für 249 $ (befristeter Einführungspreis — 100 $ Rabatt auf den regulären Preis von 349 $) oder Alle Frameworks (Next.js, iOS, Android) für 499 $ (befristeter Einführungspreis — 100 $ Rabatt auf den regulären Preis von 599 $), plus 75 $ pro zusätzlichem Entwickler-Sitz. Kein Kit-Abo. Checkout auf dieser Website liefert deinen Lizenzschlüssel per E-Mail, mit Repo-Zugang per GitHub-Einladung.

Wie begrenzen Workspaces meine Daten?

Nutzerdatensätze sind über workspaceId begrenzt. Identität, Berechtigungen, KI-Nutzung, Abrechnungsereignisse und Audit-Einträge bleiben innerhalb der persönlichen Workspace-Grenze.

Wie funktionieren Hintergrundjobs?

Trigger.dev ist die explizite Job-Laufzeit. Der JobRunner-Vertrag verspricht nur enqueue, status und cancel — Workflow-Semantik bleibt Trigger.dev-spezifisch und explizit.

Wie unterscheidet sich E-Mail von Outreach?

Transaktions-E-Mail deckt Produktabläufe wie Task-Abschluss-Hinweise ab. Cold Outreach und Kampagnen gehören zum Produkt selbst, außerhalb des E-Mail-Moduls dieses Kits.

Wie funktionieren mobile Käufe?

Mobile bietet native Käufe und Wiederherstellung über RevenueCat; dein Server prüft den Zugriff. Konfiguriere die Store-Konten und schließe Gerätetests vor der Veröffentlichung ab. Web-Abrechnung bleibt separat.

Wo liegen die KI-Anbieter-Schlüssel?

BYOK-Zugangsdaten sind verschlüsselt und bleiben serverseitig. Schlüssel werden in Logs bereinigt; Nutzung und Budgets bleiben auf Workspace-Ebene sichtbar.

Welche Zahlungsmethoden akzeptiert der Checkout?

Der von Stripe gehostete Checkout akzeptiert Karten und kann — sobald die Wallets im Stripe-Konto aktiviert sind — auch Alipay und WeChat Pay anbieten, praktisch für Käufer in China. Wallet-Autorisierungen werden asynchron bestätigt, sodass sich die Lizenzseite aktualisiert, sobald die Zahlung eingegangen ist.

Kann ich eine Rückerstattung erhalten?

Sobald du Zugriff auf das Repository hast, gehört supastack für immer dir und kann daher nicht zurückerstattet werden. Aber keine Sorge: Du erhältst den vollständigen Quellcode mit lebenslangen Updates, um unbegrenzt viele Produkte für dich oder deine Kunden zu erstellen und zu veröffentlichen. Du darfst den Code lediglich nicht weiterverkaufen oder das Repository als Starter-Kit oder Vorlage weitergeben.

DE
Design