Documentación
Referencia de configuración
Mapa rápido de archivos de configuración en src/features/dashboard/config, src/lib y src/features.
Motoko Base mantiene los secretos en variables de entorno y las decisiones de producto en archivos de configuración TypeScript. Esta página es un índice rápido — los detalles están en Configuration y en la documentación de integraciones.
Configuración en la raíz (fuera de src/)
| Archivo | Propósito |
|---|---|
.env.example | Plantilla de variables de entorno |
drizzle.config.ts | Drizzle Kit — ruta del schema, salida de migraciones |
next.config.ts | Next.js + MDX + wrapper de build de Sentry |
source.config.ts | Colecciones MDX de Fumadocs |
openspec/config.yaml | Contexto del agente de IA y reglas de OpenSpec |
src/features/dashboard/config/
Configuración transversal de la app (no ligada a una sola feature).
| Archivo | Controla |
|---|---|
nav.ts (and settings-nav.ts for settings) | Ítems del sidebar del dashboard, nav de settings, títulos de página, estado activo |
src/lib/
Infraestructura compartida. Módulos de config de integración y puntos de entrada principales:
| Ruta | Controla |
|---|---|
lib/auth/auth.ts | Configuración de Better Auth (providers, verificación, hooks de email) |
lib/auth/social.ts | Comprobaciones de “configurado” para Google/GitHub |
lib/db/index.ts | Cliente Postgres (prepare: false, ajustes del pool) |
lib/db/schema/ | Definiciones de tablas Drizzle |
lib/billing/config.ts | Id del provider, IDs de plan, gating feature→plan |
lib/billing/index.ts | API pública de billing (checkout, hasPlan, canAccess) |
lib/email/config.ts | Lectores de env de Resend |
lib/analytics/config.ts | Hosts de PostHog y comprobaciones de habilitación |
lib/analytics/events.ts | Taxonomía de nombres de eventos |
lib/monitoring/config.ts | Reglas de habilitación de Sentry, muestreo de traces |
lib/r2.ts | Cliente R2, URLs prefirmadas, parsing de bucket/prefix |
Deep-dives del README: lib/db/README.md, lib/email/README.md, lib/monitoring/README.md, lib/security/README.md.
src/features/
Config local de feature — límites, etiquetas, contenido de marketing:
| Archivo | Controla |
|---|---|
features/marketing/config.ts | Landing — hero, nav, features, pricing, FAQ, footer |
lib/billing/config/plans.ts | Etiquetas y listas de features de planes Free/Pro (UI de billing) |
features/dashboard/config/preferences.ts | Opciones de tema/idioma |
features/dashboard/schemas/security.ts | Reglas de longitud de contraseña |
features/dashboard/lib/avatar.ts | Límites de tamaño y MIME del avatar |
features/dashboard/config/notifications.ts | Valores predeterminados de notificaciones |
features/links/config.ts | Paginación de la lista de links (LINKS_PAGE_SIZE) |
features/storage/config.ts | Tamaño de subida, allowlist MIME, paginación |
features/ai-email/config.ts | Opciones de tono/longitud/idioma, longitud máxima del email |
Las features sin un config.ts siguen el mismo patrón de carpetas (components/, actions.ts, queries.ts, schemas.ts) — los archivos de config aparecen cuando una feature tiene constantes ajustables.
Metadatos del sitio
| Archivo | Controla |
|---|---|
src/app/layout.tsx | Plantilla de título SEO raíz, defaults de Open Graph |
src/app/(marketing)/(site)/page.tsx | Metadatos de la landing |
src/lib/email/templates/shared.tsx | Nombre de marca en emails |
Reglas rápidas
- Variables de entorno → secretos y credenciales de servicios externos (Environment Variables)
src/features/dashboard/config/→ nav del dashboard y settingssrc/lib/*/config.ts→ lógica de habilitación de integraciones y defaultssrc/features/*/config.ts→ límites de feature y copy de interfaz- No pongas API keys en archivos de configuración TypeScript
Configuration — Cómo cambiar nav, billing y metadatos.
Environment Variables — Referencia completa de env.