Laboratorios prácticos de GitHub Copilot
[!TIP] Descarga solo lo que necesitas: el catálogo de learner kits incluye un ZIP para cada una de las 21 variantes de ejercicio, con instrucciones, imágenes, pruebas, datos sintéticos, licencias y comprobaciones de integridad. Las guías de preparación reutilizan el kit de ejercicio asociado en lugar de duplicarlo.
Usa estos ejercicios numerados para escenarios profesionales específicos. Comparten el enfoque basado en evidencia del repositorio, pero no son aventuras de fantasía. Las duraciones son estimaciones de facilitación, no garantías medidas de finalización.
[!IMPORTANT] Trabaja con un fixture copiado a la vez. Mantén los archivos temporales y las cachés en la unidad de trabajo seleccionada; no ejecutes todas las compilaciones o perfiladores en una estación compartida. Empieza con la configuración del entorno.
Preparación
| Laboratorio | Resultado |
|---|---|
| Entorno de C# | Coincidencia entre SDK y destino, una compilación y descubrimiento real de pruebas |
| Entorno de Python | Intérprete, raíz de importación y pruebas aisladas |
| Acceso a Copilot | Evidencia de cuenta, destino y solicitud inocua |
| Configuración de Spec Kit | Integración de skills con versión fijada sin sobrescribir el trabajo existente |
| Configuración del SDK | Lógica sin conexión separada de la inferencia autenticada |
Flujo de trabajo principal
Elige un itinerario de lenguaje; no compiles las copias de C# y Python simultáneamente.
| Laboratorio | C# | Python | Resultado |
|---|---|---|---|
| 01 | Contexto e interfaz | Ejercicio compartido | Roles, harnesses, evidencia y permisos |
| 02 | Analizar y documentar | Analizar y documentar | Incorporación fundamentada en el código fuente |
| 03 | Desarrollar disponibilidad | Desarrollar disponibilidad | Disponibilidad de ejemplares de libros de principio a fin |
| 04 | Pruebas de xUnit | Pruebas de pytest | Pruebas que detectan comportamiento incorrecto |
| 05 | Refactorizar | Refactorizar | Caracterización y preservación semántica |
Ingeniería y colaboración
| Laboratorio | Enfoque |
|---|---|
| 06 - Prototipo de compras | PRD pequeño, dominio con centavos enteros y comprobaciones de interfaz accesible |
| 07 - Duplicación | Mecanismos compartidos frente a reglas de negocio distintas |
| 08 - Funciones grandes | Rutas de error, compensación de inventario y extracción |
| 09 - Condiciones complejas | Tablas de decisiones y límites de igualdad |
| 10 - Análisis de rendimiento | Mediciones pequeñas, alcance controlado y ninguna aceleración prometida |
| 11 - Incidencias | De la reproducción local al cambio revisado |
| 12 - Remediación de secretos | Simulación que empieza por revocación sin credenciales reales |
Desarrollo guiado por especificaciones y personalización de agentes
| Laboratorio | Caso y pila |
|---|---|
| 13 - Proyecto nuevo | Contrato de suscripciones RSS; Node/TypeScript con adaptaciones a .NET/Python/Go |
| 14 - Función en proyecto existente | Panel existente; metadatos limitados al propietario y compatibilidad |
| 15 - Personalización | Instrucciones, prompts, skills y transferencias de agentes |
| 16 - Copilot SDK | Herramienta de soporte de solo lectura, contratos sin conexión e inferencia real opcional |
| 17 - Modernización | De CSV a SQLite con Python; conciliación, no sobrescritura y reversión |
Cómo elegir un caso de Spec Kit
---
config:
theme: base
look: classic
themeVariables:
darkMode: false
background: "#ffffff"
primaryColor: "#f5f5f5"
primaryTextColor: "#111111"
primaryBorderColor: "#555555"
secondaryColor: "#e0e0e0"
secondaryTextColor: "#111111"
secondaryBorderColor: "#666666"
tertiaryColor: "#bdbdbd"
tertiaryTextColor: "#111111"
tertiaryBorderColor: "#444444"
lineColor: "#444444"
textColor: "#111111"
mainBkg: "#f5f5f5"
nodeBorder: "#555555"
clusterBkg: "#ffffff"
clusterBorder: "#999999"
edgeLabelBackground: "#ffffff"
actorBkg: "#e0e0e0"
actorBorder: "#555555"
actorTextColor: "#111111"
actorLineColor: "#777777"
signalColor: "#333333"
signalTextColor: "#111111"
labelBoxBkgColor: "#f5f5f5"
labelBoxBorderColor: "#777777"
labelTextColor: "#111111"
loopTextColor: "#111111"
activationBkgColor: "#bdbdbd"
activationBorderColor: "#555555"
noteBkgColor: "#f5f5f5"
noteTextColor: "#111111"
noteBorderColor: "#777777"
attributeBackgroundColorOdd: "#f5f5f5"
attributeBackgroundColorEven: "#e0e0e0"
---
flowchart TD
accTitle: Elegir un caso de desarrollo guiado por especificaciones
accDescr: Distingue un producto nuevo, una función nueva en un producto existente y una modernización técnica que preserve el comportamiento para los consumidores.
Start{"¿Ya existe comportamiento funcional?"}
Start -->|No| Greenfield["13: Especificar un producto nuevo pequeño"]
Start -->|Sí| Change{"¿Qué debe cambiar?"}
Change -->|Nuevo comportamiento para el usuario| Feature["14: Preservar la línea base y añadir una función"]
Change -->|Límite técnico| Modernize["17: Preservar contratos y migrar datos"]
Greenfield --> Evidence["Requisitos, implementación y comprobaciones"]
Feature --> Evidence
Modernize --> Evidence
Leyenda. Los rombos son decisiones de alcance, los rectángulos son itinerarios de ejercicios y las flechas continuas muestran el flujo de selección. Las etiquetas distinguen un comportamiento nuevo de un cambio de almacenamiento.
Explicación. Los tres itinerarios usan artefactos de Spec Kit, pero su evidencia inicial y sus riesgos de fallo difieren. La modernización requiere salidas preservadas, datos conciliados y reversión, no solo una implementación nueva.