GitHub Copilot puede proporcionar respuestas adaptadas a sus preferencias personales, la forma en que trabaja su equipo, las herramientas que usa o los detalles del proyecto, si lo proporciona con suficiente contexto para hacerlo. En lugar de agregar repetidamente este detalle contextual a las indicaciones, puede crear instrucciones personalizadas que agreguen automáticamente esta información. La información adicional no se muestra, pero está disponible para Copilot de manera que pueda generar respuestas de mayor calidad.
Tipos de instrucciones personalizadas
CLI de GitHub Copilot admite instrucciones de las siguientes ubicaciones.
A menos que se indique en la tabla siguiente, CLI de Copilot detecta los archivos de instrucciones de repositorio y agente en las ubicaciones estándar: la raíz del repositorio, el directorio de trabajo actual, los directorios intermedios entre ellos y los directorios anidados en la ruta de acceso de un archivo en el que está trabajando. Los archivos de instrucciones modulares (los que coinciden con *.instructions.md) son específicos de una ruta: un archivo con el valor applyTo solo se aplica a los archivos que coinciden.
| Ubicación | Ámbito y comportamiento |
|---|---|
$HOME/ | Instrucciones de nivel de usuario que se aplican entre repositorios. |
$HOME/ | Instrucciones modulares de nivel de usuario. |
.github/ | Instrucciones aplicables a todo el repositorio, encontradas en las ubicaciones estándar. |
.github/ | Instrucciones del repositorio modular, detectadas en las ubicaciones estándar, pero no en directorios intermedios. |
AGENTS.md | Instrucciones del agente, encontradas en las ubicaciones estándar. Para obtener más información, consulte el repositorio agentsmd/agents.md. |
CLAUDE.md | Instrucciones del agente, encontradas en las ubicaciones estándar. |
CLI de Copilot también usa .claude/CLAUDE.md. | |
GEMINI.md | Instrucciones del agente, detectadas en las ubicaciones estándar. |
Directorios enumerados en COPILOT_CUSTOM_ | Archivos AGENTS.md y *.instructions.md adicionales. Separe varios directorios con comas. |
Si establece la variable de entorno COPILOT_HOME, CLI de Copilot usa ese directorio en lugar de $HOME/.copilot para ambas ubicaciones de instrucciones a nivel de usuario.
Use el /instructions comando para ver los archivos de instrucciones detectados para la sesión actual y habilitar o deshabilitar archivos individuales.
Interacción de varios archivos de instrucción
Cuando existen varios archivos de instrucciones de repositorio y de nivel de usuario aplicables, CLI de Copilot combina sus instrucciones. Quita copias duplicadas de instrucciones idénticas de nivel copilot-instructions.mdde usuario, de repositorio y de agente, pero no define un orden de precedencia general entre estos archivos. Evite instrucciones en conflicto.
Las instrucciones específicas de la ruta de acceso solo se incluyen cuando el valor de applyTo coincide con un archivo con el que CLI de Copilot está trabajando. Un archivo de instrucciones que se desactiva usando /instructions no está incluido.
Creación de instrucciones personalizadas para todo el repositorio
-
En la raíz del repositorio, cree un archivo denominado
.github/copilot-instructions.md.Cree el directorio
.githubsi aún no existe. -
Agrega instrucciones de lenguaje natural al archivo en formato Markdown.
Se ignora el espacio en blanco entre las instrucciones, por lo que estas pueden escribirse como un solo párrafo, cada una en una nueva línea o separadas por líneas en blanco para mejorar la legibilidad.
Para obtener ayuda sobre cómo escribir instrucciones personalizadas eficaces, consulte Acerca de la personalización de las respuestas de GitHub Copilot.
Hacer referencia a otros archivos
En .github/copilot-instructions.md, AGENTS.md, o CLAUDE.md, usa @ seguido de una ruta relativa para incluir otro archivo.
CLI de Copilot lee el archivo al que se hace referencia inmediatamente y admite referencias dentro de los archivos a los que se hace referencia.
Los archivos a los que se hace referencia deben permanecer dentro del repositorio o dentro del directorio de instrucciones personalizadas para obtener instrucciones locales. Las rutas de acceso absolutas y las rutas de acceso que comienzan por ~/ no se cargan. Las referencias a archivos no se expanden en archivos GEMINI.md o *.instructions.md.
Creación de instrucciones personalizadas específicas de la ruta de acceso
-
Crea el directorio
.github/instructionssi no existe todavía. -
Opcionalmente, cree subdirectorios de
.github/instructionspara organizar sus archivos de instrucciones. -
Crea uno o varios archivos
NAME.instructions.md, dondeNAMEindica el propósito de las instrucciones. El nombre de archivo debe terminar con.instructions.md. -
Al principio del archivo, crea un bloque de texto preliminar que contenga la palabra clave
applyTo. Usa la sintaxis global para especificar a qué archivos o directorios se aplican las instrucciones.Por ejemplo:
--- applyTo: "app/models/**/*.rb" ---Puedes especificar varios patrones si los separas con comas. Por ejemplo, para aplicar las instrucciones a todos los archivos TypeScript del repositorio, podrías usar el siguiente bloque de texto preliminar:
--- applyTo: "**/*.ts,**/*.tsx" ---Ejemplos de Glob:
*- coincidirá con todos los archivos del directorio actual.**o**/*- coincidirán con todos los archivos en todos los directorios.*.py: coincidirá con todos los.pyarchivos del directorio actual.**/*.py: coincidirá recursivamente con todos los.pyarchivos de todos los directorios.src/*.py: coincidirá con todos los.pyarchivos delsrcdirectorio. Por ejemplo,src/foo.pyysrc/bar.pypero nosrc/foo/bar.py.src/**/*.py: coincidirá recursivamente con todos los.pyarchivos delsrcdirectorio. Por ejemplo,src/foo.py,src/foo/bar.pyysrc/foo/bar/baz.py.**/subdir/**/*.py: coincidirá recursivamente con todos los.pyarchivos de cualquiersubdirdirectorio a cualquier profundidad. Por ejemplo,subdir/foo.py,subdir/nested/bar.py,parent/subdir/baz.pyydeep/parent/subdir/nested/qux.py, pero nofoo.pyen una ruta de acceso que no contiene unsubdirdirectorio.
-
De forma opcional, para evitar que el archivo sea usado por agente en la nube de Copilot o revisión de código Copilot, agregue la palabra clave
excludeAgental bloque frontmatter. Use"code-review"o"cloud-agent".Por ejemplo, el archivo siguiente solo lo leerá agente en la nube de Copilot.
--- applyTo: "**" excludeAgent: "code-review" ---Si la
excludeAgentpalabra clave no se incluye en el bloque de front matter, tanto revisión de código Copilot como agente en la nube de Copilot usarán tus instrucciones. -
Agrega las instrucciones personalizadas en lenguaje natural mediante el formato Markdown. Se ignora el espacio en blanco entre las instrucciones, por lo que estas pueden escribirse como un solo párrafo, cada una en una nueva línea o separadas por líneas en blanco para mejorar la legibilidad.
Instrucciones personalizadas en uso
Los cambios realizados en los archivos de instrucciones personalizados no están disponibles inmediatamente para su uso en sesiones activas de la CLI. Para aplicar los cambios, salga de la sesión actual y, a continuación, reanude la sesión (por ejemplo, ejecute copilot --continue) o inicie una nueva sesión (por ejemplo, use /new desde dentro de una sesión interactiva).