Habilidades backend-dev-guidelines
📦

backend-dev-guidelines

Seguro

Construye Backends de Node.js en Producción con Mejores Prácticas

También disponible en: BrianDai22,diet103,Dimon94,DojoCodingLabs

Deja de adivinar la arquitectura de backend. Obtén guías completas para servicios en capas de Node.js con Express, TypeScript, repositorios Prisma y validación Zod que escalan de forma confiable.

Soporta: Claude Codex Code(CC)
📊 71 Adecuado
1

Descargar el ZIP de la skill

2

Subir en Claude

Ve a Configuración → Capacidades → Skills → Subir skill

3

Activa y empieza a usar

Pruébalo

Usando "backend-dev-guidelines". Crear un endpoint de registro de usuario

Resultado esperado:

  • Esquema de validación Zod generado para entrada de usuario
  • UserController creado extendiendo BaseController con método createUser
  • UserService implementado con lógica de negocio e inyección de dependencias
  • UserRepository creado con consultas Prisma
  • Registro de ruta agregado con asyncErrorWrapper
  • Seguimiento de errores Sentry y evaluación BFRI incluidos

Usando "backend-dev-guidelines". Refactorizar consultas de base de datos en línea en rutas

Resultado esperado:

  • Lógica de negocio extraída de rutas hacia nuevo UserService
  • UserRepository creado para encapsular operaciones Prisma
  • UserController actualizado para orquestar llamadas al servicio
  • Límites de error apropiados agregados con BaseController
  • Pruebas unitarias escritas para capa de servicio
  • BFRI mejoró de -2 (peligroso) a 8 (seguro)

Auditoría de seguridad

Seguro
v1 • 2/25/2026

Static analysis flagged 544 patterns across 12 markdown documentation files (5337 lines). All findings are FALSE POSITIVES - the detected patterns exist in markdown code examples and documentation, not executable code. This skill provides secure backend development guidelines that explicitly teach against risky patterns like direct process.env usage. Safe for publication.

12
Archivos escaneados
5,337
Líneas analizadas
0
hallazgos
1
Auditorías totales
No se encontraron problemas de seguridad
Auditado por: claude

Puntuación de calidad

38
Arquitectura
100
Mantenibilidad
87
Contenido
31
Comunidad
100
Seguridad
91
Cumplimiento de la especificación

Lo que puedes crear

Desarrollo de Nuevos Microservicios

Genera un microservicio de backend completo desde cero siguiendo patrones listos para producción con capas apropiadas, validación y manejo de errores.

Refactorización de Código Legado

Refactoriza manejadores de ruta monolíticos en una arquitectura en capas apropiada con controladores, servicios y repositorios para mejorar la mantenibilidad.

Incorporación de Equipos y Estándares

Establece estándares consistentes de desarrollo de backend entre equipos con patrones claros para arquitectura, pruebas y manejo de errores.

Prueba estos prompts

Crear un Nuevo Controlador
Crea un UserController que siga el patrón BaseController con métodos para getUser, listUsers, createUser y updateUser. Incluye manejo de errores apropiado con integración de Sentry.
Implementar Capa de Servicio con DI
Crea un UserService que reciba UserRepository mediante inyección de dependencias. Incluye métodos para findById, getAll, create, update y delete con separación apropiada de lógica de negocio.
Construir Funcionalidad Completa con Validación
Implementa una funcionalidad completa de registro de usuario con esquema de validación Zod, controlador que extiende BaseController, servicio con lógica de negocio y repositorio con Prisma. Incluye puntuación BFRI para la implementación.
Refactorizar Código Legado a Arquitectura en Capas
Refactoriza este manejador de ruta monolítico a una arquitectura en capas apropiada. Identifica rutas, controladores, servicios y repositorios. Agrega manejo de errores apropiado, validación y seguimiento de Sentry. Calcula BFRI antes y después.

Mejores prácticas

  • Usa siempre arquitectura en capas: las rutas delegan a controladores, los controladores llaman a servicios, los servicios usan repositorios
  • Nunca uses process.env directamente - accede a la configuración a través de unifiedConfig para seguridad de tipos y testeabilidad
  • Valida toda entrada externa con esquemas Zod antes de procesar - cuerpos de solicitud, parámetros de consulta y parámetros de ruta

Evitar

  • Lógica de negocio en manejadores de ruta - las rutas solo deben delegar a controladores
  • Uso directo de Prisma en controladores - siempre abstraer a través de repositorios
  • Usar console.log para errores - todos los errores deben capturarse en Sentry

Preguntas frecuentes

¿Por qué usar arquitectura en capas en lugar de poner la lógica en las rutas?
La arquitectura en capas permite testeabilidad, reutilización y mantenibilidad. Los servicios pueden probarse independientemente, reutilizarse en rutas/trabajos cron/scripts, y los errores son más fáciles de localizar en capas aisladas.
¿Qué es BFRI y cómo lo calculo?
BFRI (Backend Feasibility Risk Index) = (Ajuste Arquitectónico + Testeabilidad) - (Complejidad + Riesgo de Datos + Riesgo Operacional). La puntuación va de -10 a +10. Puntuaciones mayores a 3 son seguras para proceder; menores a 0 requieren rediseño.
¿Por qué no puedo usar process.env directamente en mi código?
El uso directo de process.env carece de seguridad de tipos, validación y dificulta las pruebas. unifiedConfig proporciona acceso tipado con valores predeterminados, valida al inicio y permite burlas fáciles en pruebas.
¿Necesito extender BaseController para todos los controladores?
Sí. BaseController proporciona manejo de errores consistente mediante handleError, respuestas de éxito mediante handleSuccess, integración con Sentry y seguimiento de solicitudes. Esto garantiza comportamiento uniforme en todos los endpoints.
¿Cuándo debo usar transacciones en mis servicios?
Usa transacciones cuando múltiples operaciones de base de datos deben tener éxito o fallar juntas. Envuelve operaciones relacionadas en this.withTransaction() para garantizar atomicidad y reversión apropiada en caso de errores.
¿Cómo pruebo servicios que usan inyección de dependencias?
Inyecta repositorios simulados a través del constructor del servicio en las pruebas. Esto permite probar la lógica de negocio en aislamiento sin acceso a la base de datos. Los mocks de Jest o clases mock manuales funcionan bien para este patrón.