{"meta":{"title":"Uso de instrucciones personalizadas para desbloquear la eficacia de la revisión de código de Copilot","intro":"Obtenga información sobre cómo escribir instrucciones personalizadas eficaces que ayuden a GitHub Copilot proporcionar revisiones de código más relevantes y accionables.","product":"GitHub Copilot","breadcrumbs":[{"href":"/es/copilot","title":"GitHub Copilot"},{"href":"/es/copilot/tutorials","title":"Tutoriales"},{"href":"/es/copilot/tutorials/customize-code-review","title":"Personalización de la revisión de código"}],"documentType":"article"},"body":"# Uso de instrucciones personalizadas para desbloquear la eficacia de la revisión de código de Copilot\n\nObtenga información sobre cómo escribir instrucciones personalizadas eficaces que ayuden a GitHub Copilot proporcionar revisiones de código más relevantes y accionables.\n\n## Introducción\n\nGitHub Copilot La revisión de código se puede personalizar mediante archivos de instrucciones para adaptar la experiencia de revisión a las necesidades y los estándares de codificación de su equipo. Sin embargo, escribir instrucciones personalizadas eficaces requiere comprender cómo Copilot se procesan estas instrucciones y qué enfoques funcionan mejor.\n\nEn este tutorial, aprenderá a escribir instrucciones personalizadas claras y eficaces que ayuden a Copilot proporcionar revisiones de código más relevantes. Descubrirá los procedimientos recomendados para estructurar las instrucciones, los problemas comunes que se deben evitar y las estrategias para organizar instrucciones en diferentes archivos.\n\nEste tutorial trata sobre el uso de instrucciones personalizadas para Copilot code review. Para obtener una introducción más general al uso de instrucciones personalizadas, consulte [Adición de instrucciones personalizadas para Copilot](/es/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions).\n\n### Qué aprenderá:\n\nAl final de este tutorial, comprenderá lo siguiente:\n\n* Cómo escribir instrucciones personalizadas concisas y eficaces para la revisión de código.\n* Diferencia entre las instrucciones de todo el repositorio y específicas de una ruta de acceso.\n* Patrones comunes que funcionan bien con Copilot code review.\n* Qué tipos de instrucciones no se admiten actualmente.\n* Cómo estructurar y organizar las instrucciones para obtener los mejores resultados.\n\n### Prerrequisitos\n\n* Acceso a Copilot code review.\n* Repositorio GitHub en el que puede crear archivos de instrucciones personalizados.\n* Conocimientos básicos de la sintaxis de Markdown.\n\n## Comprender cómo GitHub Copilot procesa las instrucciones de revisión de código\n\nAntes de escribir instrucciones personalizadas, resulta útil comprender cómo Copilot code review se usan. Al revisar una solicitud de incorporación de cambios, Copilot lee sus archivos de instrucciones y los utiliza para guiar su análisis. Sin embargo, al igual que cualquier sistema de inteligencia artificial, tiene limitaciones:\n\n* **Comportamiento no determinista**: Copilot puede que no siga todas las instrucciones perfectamente cada vez.\n* **Límites de contexto**: los archivos de instrucciones muy largos pueden dar lugar a que se pasen por alto algunas instrucciones.\n* **Cuestiones de especificidad**: las instrucciones claras y específicas funcionan mejor que las directivas vagas.\n\nTenga en cuenta estos factores a medida que escribe sus instrucciones: le ayudarán a establecer expectativas realistas y escribir instrucciones más eficaces.\n\n> \\[!NOTE]\n> Al revisar una solicitud de incorporación de cambios, Copilot lee las instrucciones personalizadas del repositorio, las instrucciones del agente y las capacidades del agente de la rama de origen (la rama con sus cambios), y no de la rama base. Por ejemplo, al combinar `my-feature-branch` en `main`, Copilot usa las instrucciones y aptitudes de `my-feature-branch`, por lo que puede probar los cambios en ellas en la misma solicitud de incorporación de cambios sin combinarlas primero.\n\n## Redacción de instrucciones personalizadas eficientes\n\nLa clave para obtener instrucciones personalizadas correctas es ser clara, concisa y específica. Estos son los principios básicos que se deben seguir:\n\n### Mantener las instrucciones cortas y centradas\n\nEs más probable que los archivos de instrucción más cortos se procesen completamente mediante Copilot. Comience con un conjunto mínimo de instrucciones y agregue más iterativamente en función de lo que funciona.\n\n**Procedimiento recomendado**: limite cualquier archivo de instrucción único a un máximo de aproximadamente 1000 líneas. Además de esto, la calidad de las respuestas puede deteriorarse.\n\n### Uso de una estructura y formato claros\n\nCopilot se beneficia de instrucciones bien estructuradas:\n\n* **Distintos encabezados** que separan temas diferentes.\n* **Viñetas** para facilitar la lectura y la referencia.\n* **Directivas breves e imperativas** en lugar de párrafos narrativos largos.\n\nPor ejemplo, en lugar de escribir:\n\n```markdown\nWhen you're reviewing code, it would be good if you could try to look for\nsituations where developers might have accidentally left in sensitive\ninformation like passwords or API keys, and also check for security issues.\n```\n\nEscritura:\n\n```markdown\n## Security Critical Issues\n\n- Check for hardcoded secrets, API keys, or credentials\n- Look for SQL injection and XSS vulnerabilities\n- Verify proper input validation and sanitization\n```\n\n### Proporcionar ejemplos concretos\n\nAl igual que cuando se explica un concepto a un compañero, los ejemplos ayudan a Copilot comprender lo que quiere decir. Incluya fragmentos de código que muestren patrones correctos e incorrectos.\n\nPor ejemplo:\n\n````markdown\n## Naming Conventions\n\nUse descriptive, intention-revealing names.\n\n```javascript\n// Avoid\nconst d = new Date();\nconst x = users.filter(u => u.active);\n\n// Prefer\nconst currentDate = new Date();\nconst activeUsers = users.filter(user => user.isActive);\n```\n````\n\n## Organización de instrucciones entre archivos\n\nCopilot code review admite varios tipos de archivos de instrucción:\n\n1. \\*\\*\n   `copilot-instructions.md`\n   \\*\\*: instrucciones para todo el repositorio que se aplican a todos los archivos.\n2. \\*\\*\n   `*.instructions.md`\n   \\*\\*: instrucciones específicas de la ruta de acceso que se aplican a determinados archivos o directorios.\n3. \\*\\*\n   `AGENTS.md`\n   \\*\\*: instrucciones específicas del agente de nivel de repositorio.\n\nUtilice instrucciones específicas de ruta para mantener Copilot centrado y evitar que aplique reglas específicas del lenguaje a los archivos equivocados.\n\n### Cuándo usar instrucciones para todo el repositorio\n\nUse `copilot-instructions.md` para:\n\n* Directrices y estándares generales del equipo\n* Requisitos de seguridad universal\n* Cuestiones transversales, como la filosofía de control de errores\n* Expectativas de documentación\n\n**Estructura de ejemplo para `copilot-instructions.md`**:\n\n```markdown copy\n# General Code Review Standards\n\n## Code Quality Essentials\n\n- Functions should be focused and appropriately sized\n- Use clear, descriptive naming conventions\n- Ensure proper error handling throughout\n\n## Security Standards\n\n- Never hardcode credentials or API keys\n- Validate all user inputs\n- Use parameterized queries to prevent SQL injection\n\n## Documentation Expectations\n\n- All public functions must include doc comments\n- Complex algorithms should have explanatory comments\n- README files must be kept up to date\n```\n\n### Cuándo usar instrucciones específicas de ruta\n\nUse los archivos `*.instructions.md` con la propiedad frontmatter `applyTo` para:\n\n* Estándares de codificación específicos del lenguaje\n* Patrones específicos del marco de trabajo\n* Problemas de seguridad específicos de la tecnología\n* Reglas diferentes para diferentes partes del código base\n\n**Example: instrucciones específicas de Python**\n\nCree un archivo llamado `python.instructions.md` en el `.github/instructions` directorio :\n\n````text copy\n---\napplyTo: \"**/*.py\"\n---\n\n# Python Coding Conventions\n\n## Naming Conventions\n\n- Use snake_case for variables and functions\n- Use PascalCase for class names\n- Use UPPERCASE for constants\n\n## Code Style\n\n- Follow PEP 8 style guidelines\n- Limit line length to 88 characters (Black formatter standard)\n- Use type hints for function signatures\n\n## Best Practices\n\n- Use list comprehensions for simple transformations\n- Prefer f-strings for string formatting\n- Use context managers (with statements) for resource management\n\n```python\n# Avoid\nfile = open('data.txt')\ncontent = file.read()\nfile.close()\n\n# Prefer\nwith open('data.txt') as file:\n    content = file.read()\n```\n````\n\n**Ejemplo: Instrucciones específicas del front-end**\n\nCree un archivo llamado `frontend.instructions.md` en el `.github/instructions` directorio :\n\n```text copy\n---\napplyTo: \"src/components/**/*.{tsx,jsx}\"\n---\n\n# React Component Guidelines\n\n## Component Structure\n\n- Use functional components with hooks\n- Keep components small and focused (under 200 lines)\n- Extract reusable logic into custom hooks\n\n## State Management\n\n- Use useState for local component state\n- Use useContext for shared state across components\n- Avoid prop drilling beyond 2-3 levels\n\n## Accessibility\n\n- All interactive elements must be keyboard accessible\n- Include appropriate ARIA labels\n- Ensure color contrast meets WCAG AA standards\n```\n\n### Cuándo usar instrucciones específicas del agente\n\nUsa `AGENTS.md` para las instrucciones que se aplican a un custom agents específico en tu repositorio. Esto le permite adaptar el comportamiento de diferentes agentes para diferentes tareas, incluida la forma Copilot code review de los comentarios para reflejar mejor las convenciones y expectativas del repositorio.\n\n**Ejemplo: instrucciones específicas del agente**\n\nCree un archivo llamado `AGENTS.md` en la raíz del repositorio:\n\n```markdown copy\n# AGENTS.md\n\n## Code Review\n\nYour primary goal is to validate that incoming code changes are secure, performant, and match this repository's engineering standards.\n\n### Code Style & Anti-Patterns\n\nEnforce these strict patterns for code inspection:\n\n- **Asynchronous Code:** Prefer `async/await` syntax over explicit `.then()` chains.\n- **Error Handling:** Every API call must be wrapped in a structured `try/catch` block.\n- **State Management:** React components must keep local UI state completely isolated from global stores.\n```\n\n### Separación de conjuntos de instrucciones complejas\n\nPara repositorios de gran tamaño con muchos problemas, divida las instrucciones en varios archivos centrados:\n\n```text\nAGENTS.md                          # Agent-specific\n\n.github/\n  copilot-instructions.md          # General standards\n\n.github/instructions/\n  python.instructions.md           # Python-specific\n  javascript.instructions.md       # JavaScript-specific\n  security.instructions.md         # Security-specific\n  api.instructions.md              # API-specific\n```\n\nCada archivo debe tener un propósito claro y específico, y un \"frontmatter\" adecuado `applyTo` cuando sea necesario.\n\n## Estructura de archivos de instrucciones recomendada\n\nEn función de lo que funciona bien con Copilot code review, esta es una plantilla recomendada para estructurar las instrucciones:\n\n````text copy\n---\napplyTo: \"**/*.{js,ts}\"  # If this is a path-specific file\n---\n\n# [Title: Technology or Domain Name] Guidelines\n\n## Purpose\n\nBrief statement of what this file covers and when these instructions apply.\n\n## Naming Conventions\n\n- Rule 1\n- Rule 2\n- Rule 3\n\n## Code Style\n\n- Style rule 1\n- Style rule 2\n\n```javascript\n// Example showing correct pattern\n```\n\n## Error Handling\n\n- How to handle errors\n- What patterns to use\n- What to avoid\n\n## Security Considerations\n\n- Security rule 1\n- Security rule 2\n\n## Testing Guidelines\n\n- Testing expectation 1\n- Testing expectation 2\n\n## Performance\n\n- Performance consideration 1\n- Performance consideration 2\n````\n\nAdapte esta estructura a sus necesidades específicas, pero mantenga el formato de sección claro y con formato de viñetas.\n\n## Qué no incluir en las instrucciones personalizadas\n\nComprender lo que Copilot code review actualmente no admite ayuda a evitar perder tiempo en las instrucciones que no funcionarán.\n\n### Tipos de instrucciones no admitidos\n\nCopilot code review actualmente no admite instrucciones que intenten:\n\n**Cambie la experiencia del usuario o el formato**:\n\n* `Use bold text for critical issues`\n* `Change the format of review comments`\n* `Add emoji to comments`\n\n**Modifique el comentario de información general de la solicitud de incorporación de cambios**:\n\n* `Include a summary of security issues in the PR overview`\n* `Add a testing checklist to the overview comment`\n\n**Cambie GitHub Copilotla función principal**:\n\n* `Block a PR from merging unless all Copilot code review comments are addressed`\n* `Generate a changelog entry for every PR`\n\n**Siga los vínculos externos**:\n\n* `Review this code according to the standards at https://example.com/standards`\n\n  Solución alternativa: copie el contenido pertinente directamente en el archivo de instrucciones en su lugar.\n\n**Mejoras imprecisas de calidad**:\n\n* `Be more accurate`\n* `Don't miss any issues`\n* `Be consistent in your feedback`\n\nEste tipo de instrucciones agrega ruido sin mejorar la eficacia de Copilot, ya que se ha optimizado para proporcionar revisiones precisas y coherentes.\n\n## Prueba e iteración en las instrucciones\n\nEl mejor enfoque para crear instrucciones personalizadas eficaces es iniciar pequeñas e iterar en función de los resultados.\n\n### Comience con un conjunto de instrucciones mínimo\n\nComience con instrucciones específicas de 10 a 20 que aborden sus necesidades de revisión más comunes y, a continuación, pruebe si estas influyen Copilot code review en la manera prevista.\n\n### Prueba con solicitudes de incorporación de cambios reales\n\nDespués de crear las instrucciones:\n\n1. Abra una solicitud de incorporación de cambios en tu repositorio.\n2. Solicite una revisión de Copilot.\n3. Observe qué instrucciones sigue de forma eficaz.\n4. Tenga en cuenta las instrucciones que se omiten o malinterpretan de manera consistente.\n\n### Iteración basada en los resultados\n\nAgregue instrucciones nuevas de uno a uno o en grupos pequeños:\n\n1. Identifique un patrón que Copilot podría revisar mejor.\n2. Agregue una instrucción específica para ese patrón.\n3. Pruebe con una nueva solicitud de incorporación de cambios.\n4. Refinar la instrucción en función de los resultados.\n\nEste enfoque iterativo le ayuda a comprender qué funciona y mantiene los archivos de instrucciones centrados.\n\n## Ejemplo: Completar instrucciones personalizadas para la revisión de código\n\nEste es un ejemplo completo que incorpora todos los procedimientos recomendados de este tutorial:\n\n**Archivo: `.github/copilot-instructions.md`**\n\n```markdown copy\n# General Code Review Standards\n\n## Purpose\n\nThese instructions guide Copilot code review across all files in this repository.\nLanguage-specific rules are in separate instruction files.\n\n## Security Critical Issues\n\n- Check for hardcoded secrets, API keys, or credentials\n- Look for SQL injection and XSS vulnerabilities\n- Verify proper input validation and sanitization\n- Review authentication and authorization logic\n\n## Performance Red Flags\n\n- Identify N+1 database query problems\n- Spot inefficient loops and algorithmic issues\n- Check for memory leaks and resource cleanup\n- Review caching opportunities for expensive operations\n\n## Code Quality Essentials\n\n- Functions should be focused and appropriately sized (under 50 lines)\n- Use clear, descriptive naming conventions\n- Ensure proper error handling throughout\n- Remove dead code and unused imports\n\n## Review Style\n\n- Be specific and actionable in feedback\n- Explain the \"why\" behind recommendations\n- Acknowledge good patterns when you see them\n- Ask clarifying questions when code intent is unclear\n\n## Testing Standards\n\n- New features require unit tests\n- Tests should cover edge cases and error conditions\n- Test names should clearly describe what they test\n\nAlways prioritize security vulnerabilities and performance issues that could impact users.\n```\n\n**Archivo: `.github/instructions/typescript.instructions.md`**\n\n````text copy\n---\napplyTo: \"**/*.{ts,tsx}\"\n---\n\n# TypeScript Development Standards\n\n## Type Safety\n\n- Avoid using `any` type—use `unknown` or specific types instead\n- Use strict null checks (no `null` or `undefined` without explicit handling)\n- Define interfaces for all object shapes\n\n```typescript\n// Avoid\nfunction processData(data: any) {\n    return data.value;\n}\n\n// Prefer\ninterface DataShape {\n    value: string;\n}\n\nfunction processData(data: DataShape): string {\n    return data.value;\n}\n```\n\n## Naming Conventions\n\n- Use PascalCase for types, interfaces, and classes\n- Use camelCase for variables, functions, and methods\n- Use UPPER_CASE for constants\n\n## Modern TypeScript Patterns\n\n- Use optional chaining (`?.`) and nullish coalescing (`??`)\n- Prefer `const` over `let`; never use `var`\n- Use arrow functions for callbacks and short functions\n\n## React-Specific (for .tsx files)\n\n- Use functional components with TypeScript props interfaces\n- Type all props and state explicitly\n- Use proper event types (e.g., `React.ChangeEvent<HTMLInputElement>`)\n````\n\n## Solucionar los problemas comunes\n\nSi Copilot code review no sigue las instrucciones como se esperaba, pruebe estas soluciones:\n\n### Problema: Se omiten las instrucciones\n\n**Causas posibles**:\n\n* El archivo de instrucciones es demasiado largo (más de 1000 líneas).\n* Las instrucciones son vagas o ambiguas.\n* Las instrucciones entran en conflicto entre sí.\n\n**Soluciones**:\n\n* Acorte el archivo quitando instrucciones menos importantes.\n* Vuelva a escribir instrucciones vagas para ser más específicas y accionables.\n* Revise las instrucciones en conflicto y priorice las más importantes.\n\n### Problema: reglas específicas del idioma aplicadas a archivos incorrectos\n\n**Causas posibles**:\n\n* Falta o es incorrecto el frontmatter `applyTo`.\n* Reglas en un archivo a nivel del repositorio en lugar de un archivo específico de ruta.\n\n**Soluciones**:\n\n* Agregue frontmatter `applyTo` a archivos de instrucciones específicos de la ruta.\n* Mueva las reglas específicas del idioma de `copilot-instructions.md` a los archivos adecuados `*.instructions.md` .\n\n### Problema: Comportamiento incoherente entre revisiones\n\n**Causas posibles**:\n\n* Las instrucciones son demasiado numerosas.\n* Las instrucciones carecen de especificidad.\n* Variabilidad natural en las respuestas de IA.\n\n**Soluciones**:\n\n* Céntrese en sus instrucciones de prioridad más alta.\n* Agregue ejemplos concretos para aclarar la intención.\n* Acepte que cierta variabilidad es normal para los sistemas de inteligencia artificial.\n\n## Conclusión\n\nLas instrucciones personalizadas eficaces ayudan a Copilot code review proporcionar comentarios más relevantes y accionables adaptados a los estándares de su equipo. Siguiendo los principios de este tutorial, manteniendo instrucciones concisas, proporcionando una estructura clara, usando ejemplos concretos y organizando varios archivos, puede mejorar significativamente la experiencia de revisión del código.\n\nRecuerde que la creación de instrucciones eficaces es un proceso iterativo. Comience con un pequeño conjunto de instrucciones centradas, pruárelas con solicitudes de incorporación de cambios reales y expanda gradualmente en función de lo que funciona bien para su equipo.\n\n## Pasos siguientes\n\n* Eche un vistazo a algunas de las [instrucciones personalizadas de ejemplo](https://github.com/github/awesome-copilot/tree/main/instructions) en el repositorio Awesome GitHub Copilot para obtener inspiración.\n* Lea [Acerca de la personalización de las respuestas de GitHub Copilot](/es/copilot/concepts/prompting/response-customization) para obtener información sobre la gama completa de opciones de personalización.\n* Explora [Adición de instrucciones personalizadas para Copilot](/es/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions) para obtener detalles técnicos sobre la creación de archivos de instrucciones."}