Ir al contenido

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.

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”).

Vamos a definir el cerebro de nuestro proyecto.

  • Directorio.github
    • copilot-instructions.md ¡TU OBJETIVO!
  • src
  • package.json

Un buen archivo de instrucciones es un System Prompt estructurado. Debe contener cuatro secciones clave:

  1. Role (Rol): ¿Quién es la IA?
  2. Tech Stack (Tecnología): ¿Qué herramientas usamos (y cuáles no)?
  3. Style (Estilo): Convenciones de código.
  4. Boundaries (Límites): Qué está prohibido.

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 & Tone
Actú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 & Constraints
Este 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.

No tienes que “creer” que funciona, puedes probarlo.

  1. Crea el archivo: Guarda tu .github/copilot-instructions.md.
  2. Haz una prueba “trampa”: Pídele algo que hayas prohibido explícitamente. Por ejemplo: “Crea una función para buscar un usuario y usa any para el tipo de dato.” Respuesta esperada: “No puedo usar any porque tus instrucciones indican usar tipado estricto. Aquí tienes la versión con una interfaz…”