Skip to main content
Kody Rules page

Code review → Kody Rules en el alcance de repositorio: revisión pendiente, pestañas Review Rules y Memories, filtros y la tabla de reglas

Dos tipos en la interfaz de Kody Rules

Las Kody Rules están organizadas en dos categorías, gestionadas a través de las pestañas Review Rules y Memories en la barra lateral, en Code review → Kody Rules. Elige Global (o un repositorio / directorio) en el selector de alcance en la parte superior del grupo Code review para elegir qué nivel estás editando.
Reglas de revisión de código tradicionales que se ejecutan durante la etapa dedicada de revisión de código. Analizan los diffs de archivos y los metadatos del PR para aplicar estándares de codificación.
  • Se aplican a nivel de archivo (modo de ejecución Per file) o nivel de pull request (modo de ejecución Per PR)
  • Soportan variables, referencias a archivos y funciones MCP
  • Se activan durante las revisiones de código automatizadas

Reglas de Revisión

Crear Reglas Personalizadas

Define reglas basadas en las necesidades exactas de tu equipo. En la pestaña Review Rules, haz clic en New rule (o Write a rule cuando la lista está vacía) para abrir el diálogo de la regla. Las Reglas de Revisión pueden aplicarse en dos niveles diferentes, elegidos con el campo Execution mode: Nivel de Archivo (Per file) y Nivel de Pull Request (Per PR). Ambos niveles soportan variables, referencias a archivos y funciones MCP para construir reglas potentes y conscientes del contexto.

Variables, Referencias a Archivos y Funciones MCP

Las reglas pueden acceder a contexto enriquecido a través de variables, referencias a archivos y funciones MCP. Esto es lo que está disponible: Variables: Las variables representan los datos de contexto disponibles durante la ejecución de la regla. Entender qué está disponible te ayuda a componer mejores reglas combinando variables con funciones MCP y referencias a archivos.
  • Nivel de Archivo:
    • fileDiff - Los cambios específicos realizados en el archivo individual que se está analizando
  • Nivel de PR:
    • pr_title - El título del Pull Request
    • pr_description - La descripción/cuerpo del Pull Request
    • pr_total_additions - Número total de líneas agregadas
    • pr_total_deletions - Número total de líneas eliminadas
    • pr_total_files - Número total de archivos modificados
    • pr_total_lines_changed - Número total de líneas modificadas
    • pr_files_diff - Diff completo de todos los cambios en todo el Pull Request
    • pr_tags - Etiquetas asociadas al Pull Request
    • pr_author - Autor del Pull Request
    • pr_number - Número del Pull Request
Usa estas variables en las instrucciones de tu regla para acceder a datos de contexto (el menú Variables del editor de Instructions inserta las que están disponibles para el modo de ejecución seleccionado), y combínalas con funciones MCP para obtener información adicional o realizar análisis dinámicos. Referencias a Archivos: Referencia archivos directamente en las instrucciones de tu regla para comparar código, validar patrones, aplicar consistencia y aprovechar plantillas o estándares existentes.
  • @file:path/to/file.ts - Referencia archivos en el mismo repositorio donde estás editando la regla
    • Úsalo cuando referencias plantillas, ejemplos o archivos de configuración dentro de tu repositorio actual
    • Ejemplo: @file:src/services/userService.ts
  • @repo:org/project - Referencia archivos en otro repositorio o cuando configuras reglas fuera del contexto de un repositorio
    • Úsalo cuando apliques consistencia entre múltiples repositorios o referencíes estándares compartidos
    • Ejemplo: @repo:team/api-standards
Cómo Funcionan las Referencias a Archivos:
  • Kody identifica las referencias a archivos automáticamente cuando guardas una regla
  • Las referencias se resuelven en segundo plano — observa el indicador de estado junto al editor para confirmar la finalización
  • Usa rutas de estilo blob precisas (p. ej., src/utils/helpers.ts) en lugar de marcadores de posición
  • El contenido de los archivos se inyecta en el contexto de la regla, permitiendo a Kody comparar, validar o aplicar patrones
  • Funciona tanto en reglas de Nivel de Archivo como de Nivel de Pull Request
Funciones MCP: Las reglas pueden usar funciones MCP (Model Context Protocol) para obtener datos y contexto adicionales. Puedes usar cualquier herramienta o servidor MCP conectado en la página de Plugins de tu workspace. El editor de reglas ya no tiene un selector de MCP. Las funciones disponibles incluyen:
  • Operaciones de repositorio: Listar repositorios, obtener archivos, contenido e idiomas del repositorio
  • Análisis de PR: Obtener detalles del pull request, listar commits, analizar contenido de archivos del PR
  • Recuperación de contenido de archivos: Obtener contenido de archivos y diffs
  • Validación entre archivos: Realizar análisis avanzado entre múltiples archivos
  • Integraciones personalizadas: Cualquier servidor MCP que hayas conectado como plugin (Jira, herramientas personalizadas, etc.)
Las funciones MCP se ejecutan durante la evaluación de la regla, habilitando reglas que se adaptan al estado actual del repositorio y obtienen datos en tiempo real. Mejores Prácticas:
  • Usa rutas de archivos específicas en lugar de marcadores de posición genéricos
  • Referencia archivos estables que representen los estándares de tu equipo
  • Verifica que las referencias a archivos existan antes de guardar las reglas para evitar errores de resolución
  • Combina variables, referencias a archivos y funciones MCP para una validación exhaustiva

Reglas a Nivel de Archivo

Analiza archivos individuales para detectar problemas dentro de archivos de código específicos. Contexto Disponible: Consulta la sección Variables, Referencias a Archivos y Funciones MCP anterior para más detalles. Disponible en este nivel: variable fileDiff, referencias a archivos (@file, @repo) y funciones MCP. Qué Puedes Hacer:
  • Comparar con archivos de referencia usando @file o @repo
  • Obtener archivos relacionados o datos del repositorio usando funciones MCP
  • Combinar variables, referencias a archivos y funciones MCP para validar patrones, verificar consistencia o aplicar reglas arquitectónicas
Cómo Configurar:
  • Nombre de la regla: Define claramente el propósito de la regla
  • Execution mode: Per file (el valor por defecto)
  • Path: Limita las reglas a archivos o directorios específicos usando patrones glob (déjalo vacío para aplicarla a todos los archivos)
  • Instructions: Usa fileDiff, referencia archivos con @file/@repo y llama a funciones MCP para componer reglas potentes con contexto enriquecido. Las reglas nuevas pueden empezar desde una plantilla con Start with a popular template
  • Severity: Establece en Critical, High (el valor por defecto), Medium o Low
  • Advanced settings: Inheritable (activado por defecto; consulta Herencia de Reglas) y Code examples (Bad example / Good example)
Ejemplo de Configuración: 📋 Regla: “Evita operadores de igualdad (==, !=) en condiciones de terminación de bucles.” 📁 Ruta: src/**/*.ts ⚠️ Severidad: Crítico 📝 Instrucciones: “Usar operadores de igualdad (== o !=) puede causar bucles infinitos si los valores exactos no coinciden.” ❌ Mal Ejemplo:
✅ Buen Ejemplo:

Reglas a Nivel de Pull Request

Analiza el Pull Request completo para validación entre archivos y requisitos específicos del PR. Contexto Disponible: Consulta la sección Variables, Referencias a Archivos y Funciones MCP anterior para más detalles. Disponible en este nivel: variables de PR (pr_title, pr_description, pr_files_diff, etc.), referencias a archivos (@file, @repo) y funciones MCP. Qué Puedes Hacer:
  • Validar metadatos del PR usando variables como pr_title, pr_description, pr_author
  • Referenciar archivos de configuración o plantillas usando @file o @repo
  • Obtener contexto adicional usando funciones MCP (p. ej., verificar si archivos relacionados existen, validar contra la estructura del repositorio)
  • Combinar variables de PR, referencias a archivos y funciones MCP para crear reglas de validación exhaustivas
Cómo Configurar: El proceso de creación es idéntico al de las reglas a nivel de archivo, pero debes establecer Execution mode en Per PR (Path no aplica en este modo). Este contexto más amplio habilita el análisis de dependencias entre archivos y la calidad general del PR. Ejemplos:
  • Cada archivo de servicio debe tener un archivo de prueba correspondiente
  • La descripción del PR debe ser completa, indicando claramente qué se agregó o eliminó
  • Cuando se crea una nueva ruta en un controlador, debe registrarse en routes.json
  • Usa pr_total_lines_changed para señalar PRs que superan los límites de tamaño
  • Combina pr_files_diff con funciones MCP para validar dependencias entre archivos
  • Referencia @file:routes.json para asegurar que las nuevas rutas estén registradas
  • Usa funciones MCP para verificar si existen archivos de prueba para los archivos de servicio modificados

Composición de Reglas Potentes

Combina variables, funciones MCP y referencias a archivos para crear reglas sofisticadas con contexto enriquecido. Esto es lo que está disponible en cada nivel: Composición a Nivel de Archivo:
  • Usa fileDiff para analizar los cambios específicos en un archivo
  • Referencia archivos relacionados con @file:path/to/template.ts para comparar con patrones
  • Llama a funciones MCP para obtener datos del repositorio o verificar si existen archivos relacionados
  • Ejemplo: “Analiza fileDiff y asegúrate de que siga el patrón en @file:src/utils/example.ts. Usa MCP para verificar que existan archivos de prueba relacionados.”
Composición a Nivel de PR:
  • Usa variables de PR (pr_title, pr_description, pr_files_diff, etc.) para validar metadatos del PR y tamaño
  • Referencia archivos de configuración con @file:config.json o @repo:org/shared-config para aplicar consistencia
  • Llama a funciones MCP para realizar validación entre archivos, verificar la estructura del repositorio u obtener el historial de commits
  • Ejemplo: “Si pr_files_diff contiene nuevas rutas, verifica que estén registradas en @file:routes.json. Usa MCP para verificar si existen archivos de prueba correspondientes para todos los archivos de servicio modificados.”
Validación entre Repositorios:
  • Referencia archivos de otros repositorios con @repo:org/project para mantener consistencia entre proyectos
  • Combina con funciones MCP para validar contra estándares o plantillas compartidos
  • Ejemplo: “Asegúrate de que los endpoints de la API sigan el patrón definido en @repo:org/api-standards. Usa MCP para obtener el documento de estándares más reciente.”
Análisis Dinámico:
  • Las funciones MCP se ejecutan durante la evaluación de la regla, habilitando reglas que se adaptan al estado actual del repositorio
  • Obtén datos en tiempo real sobre archivos, commits o la estructura del repositorio
  • Ejemplo: “Usa MCP para verificar la estructura actual del repositorio y asegurarte de que los nuevos archivos sigan los patrones de directorio existentes.”
Esta composición habilita reglas que entienden no solo los cambios de código, sino el contexto más amplio de tu base de código, las prácticas del equipo y los requisitos del proyecto.

Importar desde la Biblioteca de Reglas

Aprovecha las mejores prácticas probadas al instante:
  • En Code review → Kody Rules (pestaña Review Rules), haz clic en Discovery para abrir la biblioteca de reglas (Rules Marketplace). También puedes llegar desde Browse the library cuando la lista de reglas está vacía, o buscando Rules library en la paleta de comandos ⌘K.
  • Empieza por Featured, o cambia a Browse para buscar en el catálogo completo y filtrar reglas por Severity, Language o Packs.
  • Abre una regla y haz clic en Add to my rules, usando el selector de repositorios junto a él para elegir Global o los repositorios (y directorios) que deben recibir la regla.
Ejemplos:
  • Seguridad: “Prohibir el uso del hash MD5 inseguro.”
  • Mantenibilidad: “Limitar los componentes React a menos de 150 líneas.”

Memorias

Las Memorias son instrucciones contextuales persistentes que Kody aprende de las conversaciones y prácticas de codificación de tu equipo. A diferencia de las Reglas de Revisión que se ejecutan durante la revisión de código, las Memorias se inyectan en todos los prompts y conversaciones para proporcionar contexto continuo de alta prioridad y mejorar futuras sugerencias.

Cómo Funcionan las Memorias

  • Inyectadas en todas partes: Las Memorias se incluyen en el análisis de revisión de código (entre archivos, salvaguardas, reglas a nivel de PR) y en las interacciones conversacionales
  • Contexto de alta prioridad: Las Memorias son tratadas como orientación de alta prioridad por la IA, asegurando que las convenciones de tu equipo se apliquen de manera consistente
  • Mejores sugerencias futuras: Las Memorias ayudan a Kody a no repetir las mismas suposiciones equivocadas sobre tu repositorio
  • Deduplicación inteligente: Cuando se crea una nueva memoria, Kody usa un mecanismo de resolución basado en LLM para determinar si crearla, omitirla (si es duplicada) o actualizar una memoria existente

Crear Memorias

Hay dos formas de crear memorias:

Vía Conversación

La forma más natural de crear memorias es a través de la conversación con Kody en los comentarios del PR. Kody detecta tanto intenciones explícitas como implícitas de guardar convenciones: Explícita — pedir directamente a Kody que recuerde:
Implícita — expresar una preferencia o convención que Kody captura:
Kody NO creará memorias para instrucciones transitorias (p. ej., “arregla esto ahora”), conversaciones de depuración, preguntas, declaraciones vagas o solicitudes explícitamente limitadas a una sola tarea o PR.
Cuando se crea o actualiza una memoria, Kody responde con una confirmación y proporciona un enlace directo para ver la memoria en la UI.

Vía la UI

También puedes crear memorias manualmente:
  1. En la barra lateral, elige Global (o el repositorio / directorio) en el selector de alcance en la parte superior del grupo Code review y abre Kody Rules. La memoria se crea en el alcance que elijas aquí
  2. Cambia a la pestaña Memories
  3. Haz clic en New memory (o Add a memory cuando la lista está vacía)
  4. Completa Memory name e Instructions y haz clic en Create memory

Alcances de las Memorias

Cada memoria tiene un alcance que determina dónde se aplica:

Aprobación de Memorias Generadas por LLM

Por defecto, las memorias generadas por IA se activan automáticamente. Puedes requerir aprobación manual antes de que entren en vigor:
  1. Ve a Code review → Kody Rules en el alcance que quieras (Global, un repositorio o un directorio)
  2. Haz clic en Configuration para abrir el panel lateral
  3. Habilita Kody knowledge approval
Cuando está habilitado:
  • Las reglas y memorias generadas por IA entran en un estado pendiente y no están activas hasta que se aprueben
  • Un badge en las pestañas Review Rules y Memories muestra el número de elementos pendientes
  • Los elementos pendientes aparecen en la sección Pending review en la parte superior de la página, donde los apruebas o descartas (consulta Elementos pendientes más abajo)
  • Tanto las nuevas creaciones como las actualizaciones de reglas/memorias existentes pasan por el flujo de aprobación
También puedes configurar esto en kodus-config.yml:

Elementos pendientes

La sección Pending review (“Rules and memories awaiting approval.”) lista juntas las reglas y memorias pendientes, cada una marcada como Rule, Memory o Update:
  • Nuevas reglas y memorias: Elementos generados por IA en espera de aprobación. Elige Approve para activar el elemento o Discard para rechazarlo.
  • Actualizaciones: Cambios propuestos a una regla o memoria existente, mostrados como un diff. Elige Update existing para aplicar el cambio, Create new instead para conservar el original y agregar la propuesta como un elemento separado, o Discard para rechazarla.
Selecciona varios elementos y usa Bulk actions (Approve N, Create as new (N), Discard N) para gestionarlos de una vez.

Próximos Pasos

Sincronizar Reglas del IDE

Importa automáticamente reglas de Cursor, Copilot, Claude y otras herramientas de codificación con IA.

Reglas del Repositorio

Crea reglas directamente en tu repositorio usando archivos markdown estructurados.

Generación con IA

Deja que la IA genere reglas basadas en los patrones de tu base de código y revisiones pasadas.