Logo
Comenzar

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-..."

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):

  1. Edita packages/core/prisma/schema.prisma.
  2. 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 sendEmail ubicada en packages/core es 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."
});