dev-rules

SKILL.md

Dev Rules

Invocación

Al invocar /dev-rules, mostrar el siguiente resumen al usuario:

Dev Rules v1.0.0

Comunicación - Español, conciso, sin disculpas Estilo - Convenciones del proyecto, nombres descriptivos Documentación - Solo el "por qué", TODOs para incompletos Git - Conventional Commits, confirmar antes de commit/push Código - SOLID, composición sobre herencia, early returns, SRP Arquitectura - Capas separadas, DTOs, inyección de dependencias Performance - Caché, lazy loading, paginación Errores - Fail fast, logs por nivel, mensajes amigables Seguridad - Sin secrets en código/logs, queries parametrizadas Testing - Solo si se solicita Deploy - No modificar sin confirmación, respetar entornos DB - Sin queries destructivas sin confirmación

Reglas por tecnología: TS/Angular - Sin any, inject(), async pipe, standalone + signals Java/Spring - Constructor injection, Transactional, records, Jakarta Flutter/Dart - const constructors, trailing commas, Bloc/Riverpod Kotlin/Compose - PascalCase Composable, Modifier en layout raíz

No agregar nada más. Solo mostrar el resumen.

Idioma y Comunicación

  • Responder siempre en español.
  • Ser conciso pero completo.
  • No disculparse por errores; corregirlos directamente.

Formato y Estilo

  • Seguir las convenciones del proyecto existente.
  • Nombres descriptivos; el código debe hablar por sí mismo.
  • Preferir código conciso sobre código documentado verbosamente.

Documentación

  • Documentar solo decisiones técnicas importantes o lógica no obvia.
  • Comentarios solo para explicar el "por qué", nunca el "qué".
  • Usar TODO para código incompleto.

Git y Control de Versiones

  • No hacer commit ni push sin confirmación explícita del usuario.
  • Conventional Commits: feat, fix, docs, chore, refactor, test, ci.
  • Ramas descriptivas: feature/, fix/, hotfix/, chore/.

Código Limpio

  • Principios SOLID.
  • Composición sobre herencia.
  • Sin comentarios decorativos ni separadores visuales excesivos.
  • Early returns para condiciones de error (evitar nesting profundo).
  • Métodos/funciones pequeños con una sola responsabilidad.
  • DRY: extraer lógica duplicada solo cuando se repite 3+ veces.

Arquitectura y Patrones

  • Respetar la arquitectura existente del proyecto (microservicios, monolito, etc.).
  • Separar claramente capas: controlador, servicio, repositorio/data.
  • DTOs para transferencia entre capas; nunca exponer entidades directamente en APIs.
  • Inyección de dependencias; evitar instanciación directa de servicios.

TypeScript/Angular

  • Evitar any; usar tipos específicos o unknown.
  • inject() para inyección de servicios.
  • async pipe para observables en templates.
  • Preferir standalone components y signals.

Java/Spring Boot

  • Constructor Injection (sin Field Injection en producción).
  • Transactional(readOnly = true) para lecturas, Transactional para escrituras.
  • Java records para DTOs Request/Response.
  • Validar inputs con Jakarta Validation.

Flutter/Dart

  • Constructores const para widgets inmutables.
  • Evitar el operador bang (!) a menos que el valor esté garantizado no-nulo.
  • Trailing commas para mejor formateo.
  • State management (Bloc/Riverpod) para apps complejas.

Kotlin/Compose

  • Funciones Composable en PascalCase como sustantivos.
  • Parámetros: obligatorios primero, luego Modifier, luego opcionales.
  • Modifier se aplica solo al layout raíz.

Performance

  • Considerar el impacto en rendimiento de cada cambio.
  • Usar caché cuando sea apropiado.
  • Lazy loading y paginación; evitar cargar datos innecesarios.

Manejo de Errores

  • Fail fast: manejar errores al inicio de funciones.
  • Logear con nivel apropiado: ERROR, WARN, INFO, DEBUG.
  • Retornar mensajes amigables al usuario; detalles técnicos solo en logs.

Seguridad

  • Nunca exponer secrets, API keys o credenciales en código o logs.
  • Nunca logear datos sensibles (passwords, tokens, datos personales).
  • Parametrizar siempre queries SQL.
  • Validar y sanitizar toda entrada externa.

Testing

  • No generar código de pruebas a menos que se solicite explícitamente.

Docker y Despliegue

  • No modificar Dockerfiles ni pipelines CI/CD sin confirmación explícita.
  • Respetar la separación de entornos (dev, cert, prod).

Base de Datos

  • Nunca ejecutar queries destructivas (DROP, TRUNCATE, DELETE masivo) sin confirmación.
  • Preferir migraciones versionadas sobre cambios manuales de esquema.
Weekly Installs
3
First Seen
Jan 29, 2026
Installed on
opencode3
antigravity3
claude-code3
github-copilot3
codex3
gemini-cli3