Documentação
Referência de configuração
Mapa rápido dos arquivos de configuração em src/features/dashboard/config, src/lib e src/features.
O Motoko Base mantém segredos em variáveis de ambiente e escolhas de produto em arquivos de configuração TypeScript. Esta página é um índice rápido — os detalhes estão em Configuration e na documentação das integrações.
Configuração na raiz (fora de src/)
| Arquivo | Propósito |
|---|---|
.env.example | Modelo de variáveis de ambiente |
drizzle.config.ts | Drizzle Kit — caminho do schema, saída de migrações |
next.config.ts | Next.js + MDX + wrapper de build do Sentry |
source.config.ts | Coleções MDX do Fumadocs |
openspec/config.yaml | Contexto do agente de IA e regras OpenSpec |
src/features/dashboard/config/
Configuração transversal do app (não ligada a uma única feature).
| Arquivo | Controla |
|---|---|
nav.ts (and settings-nav.ts for settings) | Itens da sidebar do dashboard, nav de settings, títulos de página, estado ativo |
src/lib/
Infraestrutura compartilhada. Módulos de config de integração e pontos de entrada principais:
| Caminho | Controla |
|---|---|
lib/auth/auth.ts | Setup do Better Auth (providers, verificação, hooks de email) |
lib/auth/social.ts | Checagens de “configurado” para Google/GitHub |
lib/db/index.ts | Cliente Postgres (prepare: false, ajustes do pool) |
lib/db/schema/ | Definições de tabelas Drizzle |
lib/billing/config.ts | Id do provider, IDs de plano, gating feature→plan |
lib/billing/index.ts | API pública de billing (checkout, hasPlan, canAccess) |
lib/email/config.ts | Leitores de env do Resend |
lib/analytics/config.ts | Hosts do PostHog e checagens de habilitação |
lib/analytics/events.ts | Taxonomia de nomes de eventos |
lib/monitoring/config.ts | Regras de habilitação do Sentry, amostragem de traces |
lib/r2.ts | Cliente R2, URLs pré-assinadas, parsing de bucket/prefix |
Deep-dives do README: lib/db/README.md, lib/email/README.md, lib/monitoring/README.md, lib/security/README.md.
src/features/
Config local da feature — limites, labels, conteúdo de marketing:
| Arquivo | Controla |
|---|---|
features/marketing/config.ts | Landing — hero, nav, features, pricing, FAQ, footer |
lib/billing/config/plans.ts | Labels e listas de features dos planos Free/Pro (UI de billing) |
features/dashboard/config/preferences.ts | Opções de tema/idioma |
features/dashboard/schemas/security.ts | Regras de comprimento de senha |
features/dashboard/lib/avatar.ts | Limites de tamanho e MIME do avatar |
features/dashboard/config/notifications.ts | Padrões de notificações |
features/links/config.ts | Paginação da lista de links (LINKS_PAGE_SIZE) |
features/storage/config.ts | Tamanho de upload, allowlist MIME, paginação |
features/ai-email/config.ts | Opções de tom/comprimento/idioma, comprimento máximo do email |
Features sem um config.ts ainda seguem o mesmo padrão de pastas (components/, actions.ts, queries.ts, schemas.ts) — arquivos de config aparecem quando a feature tem constantes ajustáveis.
Metadados do site
| Arquivo | Controla |
|---|---|
src/app/layout.tsx | Template de título SEO raiz, defaults de Open Graph |
src/app/(marketing)/(site)/page.tsx | Metadados da landing |
src/lib/email/templates/shared.tsx | Nome da marca nos emails |
Regras rápidas
- Variáveis de ambiente → segredos e credenciais de serviços externos (Environment Variables)
src/features/dashboard/config/→ nav do dashboard e settingssrc/lib/*/config.ts→ lógica de habilitação de integrações e defaultssrc/features/*/config.ts→ limites da feature e copy de interface- Não coloque API keys em arquivos de configuração TypeScript
Configuration — Como alterar nav, billing e metadados.
Environment Variables — Referência completa de env.