Skip to content

Todo lo que trae el kit

Veintiún patrones, el repo que realmente clonas y cuántas horas costaría cada pieza desde cero.

Qué incluye

Cada función listada aquí ya está implementada en el código que recibes.

TanStack Start

SSR, enrutamiento tipado basado en archivos y server functions de fábrica.

Autenticación Supabase

Email + contraseña, restablecimiento de contraseña y un guard de ruta reutilizable para páginas protegidas.

Perfiles + patrón RLS

Filas de perfil creadas automáticamente y una plantilla documentada de Row-Level Security que copias para cada tabla nueva.

Facturación Polar (MoR)

Checkout como merchant of record — IVA de UE/UK y sales tax de EE. UU. gestionados sin código extra.

Módulo de IA

Lovable AI gateway conectado en el servidor con un patrón reutilizable — funciona de inmediato, sin claves externas.

Equipos / Organizaciones

Nuevo

Crea orgs, invita miembros con enlaces tokenizados de 7 días, roles owner/admin/member, guardia del último owner y RLS que se extiende de forma transparente a proyectos compartidos.

Sistema de diseño shadcn/ui

Inter, paleta zinc neutra, acento índigo y un conmutador de tema claro/oscuro funcional.

Documentación lista para agentes

Un CLAUDE.md que enseña a Claude Code y Cursor tus convenciones para que extiendan el código correctamente.

Emails transaccionales

Integración con Resend para emails de bienvenida y confirmación de pedido — a prueba de fallos: nunca bloquea el registro ni el checkout.

Tests + CI

Tests de humo con Playwright para landing, precios e inicio de sesión, conectados a un workflow de GitHub Actions en cada push.

3 idiomas de fábrica

UI trilingüe (inglés, alemán, español) con validación del diccionario para que ninguna traducción derive.

Suscripciones listas (Polar)

Soporte de suscripciones dirigido por config — eventos de webhook conectados de punta a punta, entitlements resueltos automáticamente. Pon un product id y listo.

Patrones de monetización

Resolución de plan (free / early adopter / subscriber) más medición de uso de IA con enforcement de cuota y ruta de upsell. El modelo de negocio AI-SaaS completo.

Patrón de almacenamiento de archivos

Subida de avatar a un bucket privado con storage RLS por usuario — copia el patrón para cualquier archivo propio del usuario.

Roles y admin

Tabla user_roles con función has_role() SECURITY DEFINER y un área /admin protegida por rol para usuarios y pedidos.

Validación de clave de licencia

API de License Key de Polar envuelta como server functions, más una demo en vivo en /verify-license — reutiliza el patrón para tus propios productos.

Patrón de API keys

Nuevo

Claves sk_live_* con hashing SHA-256, UI basada en prefijo, visualización única, revocación y endpoint de referencia /api/v1/me con bearer auth.

Notificaciones in-app

Nuevo

Bandeja por usuario con campana en el header y contador de no leídas. Solo eventos reales disparan notificaciones: invitación aceptada, miembro unido, compra confirmada.

Modo waitlist

Nuevo

Un boolean pone landing + pricing en modo captura de emails — server function con rate limit, vista admin, solo el service-role escribe.

Comandos de agente

Nuevo

.claude/commands y .cursor/rules incluidos en el repo — /new-table, /new-page, /new-server-fn siguen las convenciones del kit al pie de la letra.

Motor de blog + RSS

Nuevo

Posts en markdown bajo content/blog, renderer sin dependencias, feed RSS, JSON-LD Article + BreadcrumbList, cobertura en el sitemap.

Dentro del repo

La estructura real que clonarás — y las convenciones que seguirá tu agente.

sarvstack/
  • src/
  • routes/
  • _authenticated/
  • index.tsx
  • pricing.tsx
  • api/webhooks/
  • integrations/supabase/
  • lib/
  • checkout.functions.ts
  • config/billing.ts
  • supabase/migrations/
  • README.md
  • CLAUDE.md listo para agentes
CLAUDE.md — añadir una tabla con RLS
-- Add a new user-owned table with RLS (5 steps)
 
-- 1. Create the table (user_id + timestamps)
create table public.things (
id uuid primary key default gen_random_uuid(),
user_id uuid not null references auth.users(id) on delete cascade,
created_at timestamptz not null default now(),
updated_at timestamptz not null default now()
);
 
-- 2. Grant Data API access
grant select, insert, update, delete on public.things to authenticated;
grant all on public.things to service_role;
 
-- 3. Enable RLS
alter table public.things enable row level security;
 
-- 4. Four policies scoped to auth.uid() = user_id
create policy "select own" on public.things
for select to authenticated using (auth.uid() = user_id);
 
-- 5. Attach the shared updated_at trigger
create trigger things_set_updated_at
before update on public.things
for each row execute function public.set_updated_at();

La cuenta de hacerlo tú mismo

Horas aproximadas para construir cada pieza a nivel de producción. Estimaciones, no presupuestos.

Auth + guards de ruta~10 h
Patrones RLS + CRUD de referencia~8 h
Facturación merchant of record + webhooks firmados~10 h
Suscripciones + entitlements~8 h
Módulo de IA~6 h
Medición de IA + cuotas~4 h
Emails transaccionales~5 h
Almacenamiento de archivos + políticas~4 h
Roles + área de admin~6 h
i18n en 3 idiomas~8 h
SEO + páginas legales~4 h
Tests + CI~4 h
Sistema de diseño + modo oscuro~5 h
Validación de clave de licencia~3 h
Equipos / orgs + invitaciones + last-owner guard~14 h
API keys (hashing, revoke, bearer auth)~4 h
Blog + RSS + SEO~6 h
Notificaciones in-app~4 h
Modo waitlist~2 h
Patrón de audit log~2 h
Comandos de agente (Claude + Cursor)~2 h
Total~119 h

Las horas son estimaciones para un desarrollador competente construyendo cada pieza bien — flujos de auth, políticas de seguridad, facturación con impuestos correctos, tests y traducciones que realmente funcionan.

A tarifas freelance típicas ($60–120/h) son aproximadamente $7.140–$14.280 de tiempo de construcción. SarvStack cuesta $99.