Custom Instructions: El cerebro del editor
Por defecto, Copilot no sabe si prefieres tab o space, si te molestan los try-catch anidados o si en tu equipo esta prohibido el uso de any en TypeScript.
Para solucionar esto, existe el archivo de instrucciones personalizadas. Es la forma de programar el comportamiento de la IA antes de que escriba una sola línea de código.
¿Dónde viven las reglas?
Sección titulada «¿Dónde viven las reglas?»Existen dos niveles para configurar estas instrucciones. Ambos utilizan archivos Markdown, pero su alcance es diferente:
“Tus configuraciones personales”
Estas reglas aplican a todos los proyectos que abras en tu VS Code. Se guardan en tu perfil de usuario.
- Cómo crear el archivo: Desde el panel de Chat en VS Code: Clic en el engranaje (Manage) > Chat Instructions > New instruction file > Selecciona User Profile.
- Uso ideal: Preferencias que siempre quieres contigo (ej. “Siempre responde en español”, “No uses punto y coma”).
“Las reglas del proyecto”
Estas reglas viajan con el código dentro del repositorio. Si un compañero clona el repo, tendrá las mismas reglas automáticamente.
- Cómo crear el archivo: Crea manualmente un archivo en la ruta:
.github/copilot-instructions.md. - Uso ideal: Stack tecnológico y convenciones de equipo (ej. “Usa Tailwind”, “Testing con Vitest”).
Creando el archivo de reglas
Sección titulada «Creando el archivo de reglas»Vamos a definir el cerebro de nuestro proyecto.
Directorio.github
- copilot-instructions.md ¡TU OBJETIVO!
- src
- package.json
Anatomía de una instrucción
Sección titulada «Anatomía de una instrucción»Un buen archivo de instrucciones es un System Prompt estructurado. Debe contener cuatro secciones clave:
- Role (Rol): ¿Quién es la IA?
- Tech Stack (Tecnología): ¿Qué herramientas usamos (y cuáles no)?
- Style (Estilo): Convenciones de código.
- Boundaries (Límites): Qué está prohibido.
Ejemplo de instrucciones personalizadas
Sección titulada «Ejemplo de instrucciones personalizadas»Copia y pega esto en tu archivo .github/copilot-instructions.md y adáptalo a tu proyecto:
# Instrucciones de Comportamiento para GitHub Copilot
## 1. Role & ToneActúa como un **Ingeniero de Software Senior** especializado en [Tu Stack, ej: Astro y React].- Sé conciso. No expliques conceptos básicos a menos que se te pregunte.- Si ves un error de seguridad potencial, señálalo inmediatamente.
## 2. Tech Stack & ConstraintsEste proyecto utiliza estrictamente:- **Framework:** Astro 4.0 (Islands Architecture).- **Estilos:** Tailwind CSS (Utility-first).- **Lenguaje:** TypeScript (Modo estricto).- **Testing:** Vitest.
**PROHIBIDO:**- No uses `jQuery` ni manipulación directa del DOM (`document.getElementById`).- No sugieras librerías nuevas sin pedir permiso primero.- No uses `any` en TypeScript. Usa `unknown` o define la interfaz.
## 3. Coding Style- **Funcional:** Prefiere funciones puras y composición sobre clases y herencia.- **Nombramiento:** Usa `camelCase` para variables y `PascalCase` para componentes.- **Async:** Usa siempre `async/await` en lugar de `.then()`.- **Early Return:** Evita el anidamiento profundo usando cláusulas de guarda (return temprano).
## 4. Interaction Strategy- Antes de responder una tarea compleja, escribe un breve plan de pasos.- Si editas un archivo existente, respeta el estilo de código previo.- Si creas un componente nuevo, incluye siempre su test unitario correspondiente.Cómo verificar que funciona
Sección titulada «Cómo verificar que funciona»No tienes que “creer” que funciona, puedes probarlo.
- Crea el archivo: Guarda tu
.github/copilot-instructions.md. - Haz una prueba “trampa”: Pídele algo que hayas prohibido explícitamente. Por ejemplo: “Crea una función para buscar un usuario y usa
anypara el tipo de dato.” Respuesta esperada: “No puedo usaranyporque tus instrucciones indican usar tipado estricto. Aquí tienes la versión con una interfaz…”