agentleFS
FrankLord27FrankLord27/ai-lordkit/skills/fullstack/SKILL.md

fullstack

Skill2 starsChanged 16 days agoMITView on GitHub

Estándar fullstack: Next.js 16 + Tailwind v4, NestJS 11, Prisma 7, PostgreSQL 16, Redis, Zod compartido, Turborepo + pnpm, y Expo cuando hay app móvil. Úsala SIEMPRE al arrancar un proyecto o al decidir arquitectura, estructura de carpetas, módulos NestJS, Server vs Client Components, TanStack Query, formularios con React Hook Form + Zod, estilos, diseño de APIs REST, auth, multi-tenant, testing, CI/CD, performance, calidad de código, roadmap/MVP, o la app móvil (Expo, React Native, offline, APK). También si el usuario dice "mi estándar", "el stack", "como lo hacemos" o "el fullstack".

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Files
SKILL.md

Fullstack — el estándar

Un solo estándar para todo proyecto. Las referencias se leen según lo que toques; no hace falta cargarlas todas.

Proyecto existente que no sigue el estándar (por ejemplo, estilos con Sass/BEM): se respeta su convención y no se migra sin pedirlo. Para Sass/BEM está references/legacy-sass-bem.md.

Stack

TecnologíaCapaRol
Next.js 16 App RouterWebRouting, rendering, páginas
Tailwind CSS v4WebEstilos con utilidades; tokens en @theme
TanStack Query v5Web/móvilEstado del servidor: fetch, caché, revalidación
React Hook Form + ZodWeb/móvilFormularios con el mismo schema del backend
Zustand 5Web/móvilSolo estado UI compartido (wizard, carrito) y cola offline
NestJS 11BackendAPI modular
Prisma 7BackendAcceso tipado a PostgreSQL
nestjs-zodBackendDTOs desde los schemas Zod + OpenAPI
JWT + PassportBackendAuth; refresh tokens opacos rotados en Redis
Redis 7BackendCaché, refresh tokens, colas (BullMQ)
PostgreSQL 16InfraFuente de verdad
MinIOInfraArchivos (S3-compatible)
Expo SDK + Expo RouterMóvilSolo si el proyecto tiene app; StyleSheet + tokens
Turborepo + pnpmMonorepoApps y paquetes compartidos
Docker ComposeInfra devPostgreSQL + Redis + MinIO locales

Estructura del monorepo

apps/
  api/        NestJS + Prisma (schema, migraciones y seed viven aquí)
  web/        Next.js 16 + Tailwind v4
  mobile/     Expo + Expo Router (solo si hay app)
packages/
  shared-types/   Schemas Zod compartidos — compilan a dist/ (Metro no lee .ts crudo)

Reglas que nunca se rompen

  • TypeScript strict: true. Sin any, sin @ts-ignore sin justificación.
  • Un schema Zod valida web, móvil y backend. Vive en packages/shared-types. Cero class-validator en código nuevo.
  • Nunca devolver entidades de Prisma al cliente: select explícito o mapper.
  • Redis es caché; PostgreSQL es la fuente de verdad.
  • Secretos solo en variables de entorno, validadas con Zod al arrancar.
  • Seguridad de backend según la skill nestjs-security-hardening (auth deny-by-default, Helmet, CORS estricto, rate limit, argon2id).
  • Multi-tenant: tenantId en todo where; RLS como segunda capa (references/multi-tenant.md).
  • Paginación siempre. URLs kebab-case en plural, versionadas desde el día 1 (/api/v1/...).
  • Swagger en /docs (dev/staging): si un endpoint no aparece ahí, no está terminado.
  • Tests antes del merge; el CI bloquea si fallan. Lint + Husky + lint-staged antes de cada commit.
  • Dinero nunca en number: Decimal.js o centavos en BigInt.

Flujo de datos

UI (evento)
  → TanStack Query (lecturas)  /  Zustand (estado UI o cola offline en móvil)
  → apiClient (fetch tipado, maneja 401 con refresh)
  → NestJS Controller (ZodValidationPipe)
  → Service (Redis → miss → Prisma → PostgreSQL → guarda en Redis con TTL)
  → TransformInterceptor ({ data })
  → TanStack Query (cachea, revalida) → render

Fases de un proyecto

FASE 0  Fundación       Monorepo, Docker, base NestJS y Next.js
FASE 1  Auth            Autenticación completa antes de cualquier feature
FASE 2  Dominio core    La feature principal del producto
FASE 3  Features clave  Lo que hace útil el producto
FASE 4  Calidad         Tests, CI/CD, monitoreo, hardening
FASE 5  Escala          Solo con un problema medido que lo justifique

Mapa de referencias

Algunas referencias todavía muestran ejemplos con class-validator/ValidationPipe o bcrypt. Son patrones viejos: tradúcelos a Zod (nestjs-zod) y argon2id. En seguridad manda nestjs-security-hardening.

TemaLeer
Frontend web: carpetas, Server vs Client, TanStack Query, RHF, Tailwindreferences/stack-frontend.md
Backend: módulos NestJS, services, repositories, Redis, JWT, main.tsreferences/stack-backend.md
Monorepo: Turborepo, pnpm workspace, shared-types, Docker Compose, checklist día 1references/stack-monorepo.md
Errores unificados (TanStack + Next.js + NestJS)references/error-handling.md
Prisma Studio, seeding, migraciones avanzadas, backupsreferences/database-admin.md
Multi-tenant: tenantId, RLS, subdominiosreferences/multi-tenant.md
Logs, Sentry, métricas, alertasreferences/observability.md
Roadmap: fases, análisis y MVP, dependencias entre featuresreferences/roadmap-phases.md, roadmap-analysis.md, roadmap-dependencies.md
Seguridad web, auth, base de datos, servidorreferences/security-web.md, security-auth.md, security-database.md, security-server.md
Testing: Jest backend, RTL + MSW frontend, Playwright E2Ereferences/testing-backend.md, testing-frontend.md, testing-e2e.md
CI/CD: GitHub Actions, Docker, deploy a VPS, monitoreo post-deployreferences/cicd-github-actions.md, cicd-docker.md, cicd-deployment.md, cicd-monitoring.md
Performance: base de datos, caché, backend, frontendreferences/performance-database.md, performance-cache.md, performance-backend.md, performance-frontend.md
APIs REST: URLs y verbos, contratos y paginación, Swagger, versionadoreferences/api-endpoints.md, api-contracts.md, api-swagger.md, api-versioning.md
Calidad: linting, Git, code review, clean codereferences/quality-linting.md, quality-git.md, quality-code-review.md, quality-clean-code.md
Proyecto existente con Sass + CSS Modules + BEMreferences/legacy-sass-bem.md

App móvil (solo si el proyecto la tiene)

Un backend, dos clientes. El API no sabe si le habla el navegador o el teléfono; cero lógica de negocio duplicada en el cliente. Para las APIs de Expo, usa el plugin oficial de Expo (expo:expo-overview enruta).

TemaLeer
Estructura, Expo Router, grupos, layouts, tabsreferences/mobile-estructura.md
Zustand en móvil, SecureStore, hidrataciónreferences/mobile-estado.md
Cola offline, idempotencia, backoffreferences/mobile-offline.md
Permisos nativosreferences/mobile-permisos.md
Metro en monorepo pnpmreferences/mobile-monorepo.md
Assets, íconos, splash, versionado del APK, EASreferences/mobile-distribucion.md

Reglas de móvil:

  1. Jamás fabricar una sesión ni pantallas con datos de mentira: si falla, se muestra el error real.
  2. Tokens en expo-secure-store, nunca en AsyncStorage.
  3. La URL del API sale de EXPO_PUBLIC_API_URL o Constants.expoConfig.hostUri, nunca una IP escrita a mano.
  4. Todo envío offline lleva clientUuid (idempotencia); el backend devuelve el registro original si ya lo recibió.
  5. Un 4xx sale de la cola y se le muestra al usuario; solo 5xx y errores de red se reintentan con backoff.
  6. La sincronización es automática al recuperar conexión, no depende de que el usuario pulse "enviar".
  7. Dependencias nativas con npx expo install (alineadas al SDK), nunca pnpm add a ciegas.
  8. Tailwind no cruza a móvil: StyleSheet.create con tokens compartidos. NativeWind solo si el proyecto lo pide.

Documentación oficial (Context7)

Para la doc oficial y actualizada de cada tecnología del stack, consulta el MCP Context7 (resolve-library-id → query-docs) antes de usar APIs que no domines al 100%. Si contradice esta skill en una regla del estándar, gana la skill; si es un detalle de API, gana Context7.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.