← Regresar a lecciones

    vibe coding

  • desarrollo-asistido-por-ia

  • estándares-de-codificación

  • arquitectura-de-software

  • mejores-prácticas-de-desarrollo

Mantén la Consistencia de tu Código: Escribiendo Reglas para Archivos Clave con IA

Este es el problema: Estás #vibecoding con IA, las cosas van viento en popa, y de repente ¡BUM! 💥 La IA escupe código que es totalmente diferente al que hizo ayer. O duplica cosas, o de repente decide probar un nuevo patrón de diseño sin preguntar. ¡Súper frustrante! 😡

🔥 Aquí tienes un truco genial que he descubierto para mantener las cosas en orden: tómate un poco de tiempo para que la IA te ayude a escribir algunas reglas para tus archivos más importantes.

Piensa en ello – probablemente tienes un puñado de archivos que son los verdaderos MVP de tu proyecto. Quizás los llames "Managers", "Controllers", "Coordinators", "Services" o incluso "Core Modules". Cualquiera que sea el nombre, estos son los archivos que mueven los hilos, conectan los puntos y se aseguran de que todo funcione sin problemas.

Para cada uno de estos archivos VIP, crearás un archivo de reglas. Este archivo de reglas detallará sus responsabilidades, los patrones de diseño que debe seguir, cómo se integra con otras partes de tu código, convenciones de nomenclatura y todas esas cosas buenas.

🤩 Y aquí está la mejor parte: ¡ni siquiera tienes que escribir estas reglas tú mismo! La IA puede hacer el trabajo pesado, o puedes tomar una plantilla que te guste. ¡Fácil!

Dos Formas Increíbles de Escribir Tus Reglas de Contexto

Entonces, ¿cuándo deberías establecer estas reglas? Tienes un par de opciones:

  1. Antes de Empezar a Construir: Establece la ley desde el primer día.
  2. En Medio de Tu Construcción: Escribe algo de código, luego crea reglas basadas en lo que está funcionando.

Si recién estás comenzando con vibe-coding, te recomendaría totalmente la opción #2. ¿Por qué? Porque tener algo de código real ya escrito hace que sea MUCHO más fácil crear reglas inteligentes. Es como tratar de escribir una receta – es mucho más simple una vez que has cocinado el plato varias veces, ¿verdad?

Por ejemplo:

Digamos que estás construyendo una API en Python. Probablemente tendrás un archivo routes.py. Puedes pedirle a la IA que elabore una regla que describa cómo está estructurado y escrito ese archivo routes.py. La IA revisará tu archivo existente y lo describirá como una regla. De esa manera, cualquier código nuevo agregado a routes.py mañana seguirá los mismos estándares geniales. ¡Consistencia para ganar! ✨

Cómo Escribir Reglas Cuando Ya Estás Construyendo (El Meollo del Asunto)

⚠️ Presta atención, porque esto es probablemente la segunda cosa más importante que puedes hacer al codificar con IA (¡justo después de planificar, por supuesto!).

¿Cuándo deberías detenerte y pensar en tus reglas? Presta atención a estos momentos – son tu señal para hacer una "auditoría de reglas":

  • Surgen Nuevos Patrones de Codificación: Cada vez que agregas características que introducen nuevas formas de hacer las cosas (como agregar WebSockets o GraphQL).
  • Ocurren Grandes Refactorizaciones o Actualizaciones: Después de haber reorganizado un montón de código o actualizado una biblioteca importante (¡hola, React 19!).
  • Las Sugerencias de la IA se Vuelven Extrañas: Si Cursor comienza a darte sugerencias que no encajan del todo con el estilo de tu proyecto.
  • Ciclos de Sprint/Lanzamiento: Acostúmbrate a revisar las reglas cada sprint o dos, o definitivamente antes de un gran lanzamiento.
  • Incorporación de Nuevos Compañeros de Equipo: Momento perfecto para tener tus convenciones escritas claramente para las nuevas personas que se unen al equipo.
  • Después de Generar Reglas: Siempre que uses un comando como /Generate Cursor Rules, tómate un momento para verificar lo que la IA ideó.

Cómo Reescribir Reglas o Crear Nuevas (¡Pongámonos Prácticos!)

Bien, ¿listo para crear algunas reglas? Así es como se hace:

  1. Usa /Generate Cursor Rules (¡Tu Ayudante de IA!):
    • En Cursor, escribe /Generate Cursor Rules para que la IA te ayude. Por ejemplo, podrías darle un prompt como: "Genera una regla sobre cómo manejamos los errores de WebSocket".
    • La IA podría generar algo como esto (guardado como websocket-handling.mdc):
      1## Manejo de WebSocket 2- Incluye siempre el manejo de errores y la lógica de reconexión. 3- Aquí tienes un ejemplo:
      1const socket = new WebSocket('ws://example.com'); 2 3socket.onerror = (error) => { 4 console.error('Error de WebSocket:', error); 5 // ¡No olvides llamar realmente a tu función de reconexión! 6 attemptReconnect(); 7};
  2. Mantén Tus Reglas Organizadas:
    • Guarda tus archivos de reglas en un directorio .cursor/rules/ en tu proyecto.
    • Dales nombres claros y descriptivos (por ejemplo, convenciones-de-nomenclatura.mdc, estructura-endpoint-api.mdc).
    • ¿Quieres ponerte elegante? Puedes usar subdirectorios y patrones globales (como *.sql) para que Cursor sepa automáticamente qué reglas se aplican a qué archivos. ¡Súper útil!
  3. El Control de Versiones es tu Amigo:
    • ¡Sí, confirma esos archivos de reglas .mdc en git!
    • Trata los cambios en las reglas como cualquier otro cambio de código – revísalos en las solicitudes de extracción (pull requests).
    • Es una buena idea tener un archivo README.md dentro de tu directorio .cursor/rules/ que explique para qué sirve cada archivo de reglas.
  4. Valida Esas Reglas (¡No te Saltes Esto!):
    • La IA es inteligente, pero no es perfecta. Siempre revisa manualmente las reglas que genera para asegurarte de que sean precisas y tengan sentido para tu proyecto.
    • ¡Pruébalas! Aplica las reglas a algún código de muestra y observa si Cursor las usa correctamente.
  5. Integra con CI/CD (Movimiento Profesional Opcional):
    • Si quieres ponerte realmente serio, puedes agregar un paso a tu pipeline de CI/CD para verificar la sintaxis de tus archivos .mdc (por ejemplo, usando un linter de Markdown).
  6. Monitorea y Refina (¡Mantenlas Frescas!):
    • ¡Escucha a tu equipo! Si los desarrolladores encuentran que las sugerencias de Cursor no son útiles o están fuera de lugar, podría ser el momento de actualizar tus reglas.
    • Las reglas no están escritas en piedra. Si una regla se vuelve obsoleta o ya no es relevante, no temas modificarla o eliminarla.
  7. Documenta, Documenta, Documenta:
    • Mantén actualizado ese README.md de .cursor/rules/. Incluye directrices sobre cómo actualizar las reglas y las mejores prácticas para usar /Generate Cursor Rules.

Flujo de Trabajo de Ejemplo: ¡Veámoslo en Acción! 🎬

Imagina que estás agregando una nueva función de chat a tu aplicación que usa WebSockets. Así es como podrías usar las reglas:

  1. Inicia Cursor y ejecuta /Generate Cursor Rules con un prompt como: "Genera una regla para el manejo de errores de WebSocket en nuestra nueva función de chat".
  2. La IA te da alguna salida. Guárdala en un archivo nuevo, por ejemplo, .cursor/rules/chat-websocket-handling.mdc.
  3. ¡Ahora, ponla a prueba! Observa cómo Cursor aplica esta regla a tu código real de la función de chat. Si las sugerencias no son del todo correctas, modifica el archivo de reglas hasta que lo sean.
  4. Una vez que estés satisfecho, confirma el nuevo archivo .mdc en git. Asegúrate de que se revise en una solicitud de extracción, como cualquier otro código.
  5. Finalmente, actualiza tu README.md principal de .cursor/rules/ para informar a todos sobre esta nueva regla y lo que hace.

Creando reglas antes de que comience tu proyecto

Solo recomiendo esto para situaciones muy específicas en las que estás construyendo algo que ya sabes exactamente cómo construir y lo has construido antes, por ejemplo: si estás construyendo una API REST simple de una manera muy similar a como lo hiciste ayer.

Aquí encontrarás un montón de reglas de cursor preescritas que pueden funcionar para ese propósito.

Si eres una agencia de software o marketing, probablemente reutilizarás muchas reglas prefabricadas, y te recomiendo encarecidamente que lo hagas.

Mejores Prácticas para el Nirvana de las Reglas 🧘‍♀️

  • Enfócate en el Impacto: No necesitas una regla para todo. Concéntrate en reglas para características o patrones que realmente impacten tus estándares de codificación y consistencia.
  • IA + Cerebro Humano = Mejor Combinación: Deja que la IA haga el borrador inicial, pero siempre usa tu cerebro humano para validar y refinar las reglas.
  • Mantenlas Concisas y Claras: Las reglas concisas y enfocadas son las más fáciles de entender y mantener. No temas aplicar el método Marie Kondo a tu conjunto de reglas y deshazte de cualquiera que ya no despierte alegría (o proporcione valor).
  • Capacita a tu Equipo: Asegúrate de que todos en tu equipo sepan cómo usar /Generate Cursor Rules de manera efectiva y comprendan por qué estas reglas son importantes.

Bueno Saberlo 🤔

  • Las Reglas Pueden Heredar: Al igual que CSS, las reglas pueden construirse unas sobre otras. Puedes tener reglas base para estándares globales (como convenciones generales de nomenclatura) y luego reglas más específicas para módulos o tipos de archivos particulares.
  • Bucle de Retroalimentación: Cuanto más uses /Generate Cursor Rules y refines la salida, mejores serán tus prompts, ¡y mejor será la IA para ayudarte!

¡Puedes hacerlo! Al establecer estas reglas, estás en camino hacia una codificación más fluida y consistente con tu socio de IA. ¡A por ello! 🚀