---
title: "Monorepo de app nuevo"
description: "De una carpeta vacía a un monorepo Nuxt + Supabase con la capa del agente, la base de autenticación y el primer cambio."
canonical_url: "https://razcue-agent-kit.vercel.app/es/guides/new-app-monorepo"
---
# Monorepo de app nuevo

> De una carpeta vacía a un monorepo Nuxt + Supabase con la capa del agente, la base de autenticación y el primer cambio.

<steps>

### Genera la plantilla

```bash [Terminal]
npx @razcue/agent-kit init shop --kind monorepo --apps web,app,docs
cd shop && npm install
```

Obtienes `apps/web` (sitio público, prerenderizado), `apps/app` (SPA + rutas de servidor + Supabase), `apps/docs` (Docus), `packages/ui` (componentes shadcn-vue, tema Tailwind v4), `packages/shared` (esquemas Zod y utilidades), `supabase/migrations/`, `supabase/test-data/` y un flujo de CI.

### Conecta Supabase

Crea un proyecto de Supabase, copia `apps/app/.env.example` a `.env` con tu URL y tus claves, y aplica `supabase/migrations/` en orden en el SQL Editor. La primera migración cierra la Data API a `service_role` y crea `_env`; fíjalo en esta base de datos:

```sql [SQL Editor]
INSERT INTO public._env (name) VALUES ('dev') ON CONFLICT (id) DO UPDATE SET name = excluded.name;
```

Con `--supabase-mcp <project-ref>` los agentes también reciben un servidor MCP de Supabase de solo lectura para revisar el esquema en vivo.

### Ejecuta las comprobaciones

```bash [Terminal]
npm run check         # typecheck + tests
npm run dev:app       # http://localhost:3001
```

### Abre Claude Code

```bash [Terminal]
claude
```

Acepta el plugin y describe la primera funcionalidad. Un módulo nuevo pasa por el [carril spec](https://razcue-agent-kit.vercel.app/es/guides/spec-lane-change).

</steps>

## Convenciones que sigue el agente

La skill `stack-nuxt-supabase` (en `.claude/skills/`) se carga cuando el agente toca páginas, rutas de servidor, migraciones, RPCs o datos de prueba:

- el navegador nunca llega a la base de datos: todos los datos pasan por `apps/app/server/api/*` con el cliente de service-role;
- las escrituras pasan por RPCs (SECURITY DEFINER), tras validar con Zod;
- los esquemas se comparten desde `packages/shared`;
- las migraciones solo se añaden y son idempotentes;
- solo workspaces de npm.


## Sitemap

See the full [sitemap](https://razcue-agent-kit.vercel.app/sitemap.md) for all pages.
