Configuración
Personaliza tu SaaS, Base de Datos y Tema.
RapidCore está diseñado para priorizar la configuración. La mayoría de las configuraciones globales se controlan a través de variables de entorno y paquetes de configuración compartidos.
1. Variables de Entorno (.env)
El archivo raíz .env controla los secretos para todas las aplicaciones.
# Base de Datos (Prisma/Supabase)
DATABASE_URL="postgresql://postgres:[PASSWORD]@db.supabase.co:5432/postgres"
DIRECT_URL="postgresql://postgres:[PASSWORD]@db.supabase.co:5432/postgres?pgbouncer=true"
# Auth.js (NextAuth)
NEXTAUTH_URL="http://localhost:3001"
NEXTAUTH_SECRET="[SECRETO_GENERADO]"
# Claves del Proveedor de IA
OPENAI_API_KEY="sk-..."
ANTHROPIC_API_KEY="sk-ant-..."
Nota de Seguridad
Nunca subas tu archivo .env a GitHub. Ya está agregado a .gitignore.
2. Temas e Interfaz de Usuario (UI)
RapidCore utiliza un paquete de UI centralizado (packages/ui). Para cambiar el color primario o la fuente, solo necesitas editar un archivo.
Ruta: packages/ui/src/globals.css
@theme {
/* Cambia los colores de tu marca aquí */
--color-primary: hsl(263.4 70% 50.4%);
--color-primary-foreground: hsl(210 20% 98%);
}
El sistema utiliza Tailwind v4, por lo que estas variables están disponibles automáticamente como clases de utilidad (por ejemplo, bg-primary, text-primary-foreground).
3. Esquema de Base de Datos
Usamos Prisma como nuestro ORM. El esquema se define en packages/core/prisma/schema.prisma.
Para agregar un nuevo modelo (por ejemplo, Project):
- Edita
packages/core/prisma/schema.prisma. - Ejecuta el comando de migración:
npx pnpm db:migrate
Esto actualizará automáticamente los tipos de TypeScript en @rapidcore/core.
4. Configuración de Correo Electrónico (Resend / Mailgun)
Para permitir que tu aplicación envíe notificaciones o boletines informativos, debes conectar un proveedor de servicios de correo electrónico.
- Clave de API: Añade la clave del servicio que utilices a tu archivo
.env:RESEND_API_KEY="re_..." # O MAILGUN_API_KEY="key-..." - Servicio Centralizado: La función
sendEmailubicada enpackages/corees utilizada por todos los módulos.
// apps/web-starter/src/actions/newsletter.ts
import { sendEmail } from "@rapidcore/core";
await sendEmail({
to: user.email,
subject: "¡Bienvenido!",
body: "Gracias por unirte al imperio RapidCore."
});
Nota de Seguridad
Asegúrate de utilizar un dominio verificado (por ejemplo, hello@tudominio.com) como remitente de correo electrónico en el entorno de Producción.