Documentation
Référence de configuration
Carte rapide des fichiers de configuration dans src/features/dashboard/config, src/lib et src/features.
Motoko Base garde les secrets dans les variables d’environnement et les choix produit dans des fichiers de configuration TypeScript. Cette page est un index rapide — les détails sont dans Configuration et les docs d’intégration.
Configuration à la racine (hors de src/)
| Fichier | Objectif |
|---|---|
.env.example | Modèle de variables d’environnement |
drizzle.config.ts | Drizzle Kit — chemin du schema, sortie des migrations |
next.config.ts | Next.js + MDX + wrapper de build Sentry |
source.config.ts | Collections MDX Fumadocs |
openspec/config.yaml | Contexte agent IA et règles OpenSpec |
src/features/dashboard/config/
Configuration transverse de l’app (non liée à une seule feature).
| Fichier | Contrôle |
|---|---|
nav.ts (and settings-nav.ts for settings) | Éléments de la sidebar dashboard, nav settings, titres de page, état actif |
src/lib/
Infrastructure partagée. Modules de config d’intégration et points d’entrée principaux :
| Chemin | Contrôle |
|---|---|
lib/auth/auth.ts | Setup Better Auth (providers, vérification, hooks e-mail) |
lib/auth/social.ts | Vérifications « configured » Google/GitHub |
lib/db/index.ts | Client Postgres (prepare: false, réglages du pool) |
lib/db/schema/ | Définitions de tables Drizzle |
lib/billing/config.ts | Id du provider, IDs de plan, gating feature→plan |
lib/billing/index.ts | API billing publique (checkout, hasPlan, canAccess) |
lib/email/config.ts | Lecteurs d’env Resend |
lib/analytics/config.ts | Hosts PostHog et contrôles d’activation |
lib/analytics/events.ts | Taxonomie des noms d’événements |
lib/monitoring/config.ts | Règles d’activation Sentry, échantillonnage des traces |
lib/r2.ts | Client R2, URLs présignées, parsing bucket/prefix |
Deep-dives README : lib/db/README.md, lib/email/README.md, lib/monitoring/README.md, lib/security/README.md.
src/features/
Config locale de feature — limites, labels, contenu marketing :
| Fichier | Contrôle |
|---|---|
features/marketing/config.ts | Landing — hero, nav, features, pricing, FAQ, footer |
lib/billing/config/plans.ts | Labels et listes de features des plans Free/Pro (UI billing) |
features/dashboard/config/preferences.ts | Options thème/langue |
features/dashboard/schemas/security.ts | Règles de longueur de mot de passe |
features/dashboard/lib/avatar.ts | Limites de taille et MIME de l’avatar |
features/dashboard/config/notifications.ts | Valeurs par défaut des notifications |
features/links/config.ts | Pagination de la liste de links (LINKS_PAGE_SIZE) |
features/storage/config.ts | Taille d’upload, allowlist MIME, pagination |
features/ai-email/config.ts | Options ton/longueur/langue, longueur max de l’e-mail |
Les features sans config.ts suivent le même schéma de dossiers (components/, actions.ts, queries.ts, schemas.ts) — les fichiers de config apparaissent quand une feature a des constantes ajustables.
Métadonnées du site
| Fichier | Contrôle |
|---|---|
src/app/layout.tsx | Template de titre SEO racine, defaults Open Graph |
src/app/(marketing)/(site)/page.tsx | Métadonnées de la landing |
src/lib/email/templates/shared.tsx | Nom de marque dans les e-mails |
Règles rapides
- Variables d’environnement → secrets et identifiants de services externes (Environment Variables)
src/features/dashboard/config/→ nav dashboard et settingssrc/lib/*/config.ts→ logique d’activation des intégrations et defaultssrc/features/*/config.ts→ limites de feature et copy d’affichage- Ne pas mettre de clés API dans les fichiers de configuration TypeScript
Configuration — Comment modifier nav, billing et métadonnées.
Environment Variables — Référence complète des env.