Empieza aquí: tu primer cambio verificado
Objetivo: abre un proyecto de trabajo pequeño, explica un comportamiento, cámbialo con Copilot y demuestra el resultado. Esta primera ruta usa JavaScript, pero no tienes que escogerla como tu lenguaje a largo plazo.
| Resumen | Qué esperar |
|---|---|
| Punto de partida | Abrir una carpeta con comodidad; los pasos de la terminal se explican abajo |
| Herramientas | VS Code y Node 24; acceso autorizado a Copilot para los pasos de IA |
| Tiempo | Unos 20–35 minutos después de instalar las herramientas; una estimación, no una garantía |
| Proyecto | Una función de saludo con dos pruebas existentes |
| Final | Línea base, cambio revisado, regresión aprobada y una aserción incorrecta detectada |
| Siguiente | Orden de aprendizaje o el primer laboratorio completo |
[!TIP] Usa un kit, no el repositorio completo. Descarga 01-interface.zip. No se necesita instalar paquetes, Python, .NET, Docker, pagos, repositorio GitHub ni despliegue en la nube.
1. Prepara solo lo que necesita este ejercicio
¿No conoces todavía las herramientas o las cuentas? Sigue Requisitos previos y cuentas para el registro personal en GitHub, Copilot Free y los demás planes, VS Code frente a Insiders, la instalación de la CLI en cada sistema operativo y el uso opcional de Codespaces o Azure. Después, vuelve aquí; ninguna de las ofertas opcionales de la nube es necesaria para este laboratorio.
| Requisito | Cómo comprobarlo | Si falta |
|---|---|---|
| VS Code | El editor se abre y puede seleccionar una carpeta local | Sigue la configuración de VS Code o tu ruta de instalación administrada |
| Node 24 | Ejecuta node --version en una terminal |
Usa las instrucciones de runtime de Node con la versión requerida aquí |
| Acceso a Copilot | Una solicitud inocua de Ask funciona en la cuenta prevista | Sigue el laboratorio de configuración de Copilot |
[!NOTE] Puedes inspeccionar el proyecto y ejecutar pruebas locales sin Copilot. Si el acceso está bloqueado, registra baseline local completado; pasos de agente no realizados. No afirmes un ejercicio completo de Copilot ni cambies automáticamente facturación o políticas.
2. Descarga, extrae y abre
- Descarga el ZIP anterior. En la vista previa de archivos de GitHub, usa Download raw file.
- Elige una carpeta nueva en tu unidad de trabajo, fuera de otro repositorio.
- Usa Extract All en Windows o la acción de extracción de tu administrador de archivos en macOS/Linux.
- Abre el directorio extraído
01-interfaceen VS Code con Archivo → Abrir carpeta. - Confirma que el Explorador muestra los siguientes archivos:
01-interface/
KIT-START.md First-run guide
KIT-LESSON.md Complete exercise
KIT-MANIFEST.json Original file hashes
KIT-VERIFY.cjs Integrity check
greeting.mjs Code you will investigate
greeting.test.mjs Existing tests
El archivo también incluye licencias y guía de configuración. Para la verificación de hash, las instrucciones específicas del sistema o la publicación en GitHub, usa la guía de descargas.
Punto de control: los archivos están extraídos y se pueden editar. No estás mirando la vista previa del ZIP ni editando el starter original del currículo.
3. Ejecuta la línea base sin modificar
Selecciona Terminal → Nueva terminal en VS Code. La terminal es una interfaz de comandos
para tu computadora; no es Copilot Chat. Su directorio de trabajo debería ser
01-interface, la carpeta que contiene los dos archivos de saludo.
node KIT-VERIFY.cjs
node --test --test-concurrency=1 greeting.test.mjs
El comando de integridad confirma los bytes empaquetados antes de editar. El segundo comando ejecuta las pruebas reales. Espera 2 tests, 2 aprobadas y 0 fallos en el fixture sin modificar; la duración y el formato de salida pueden variar.
| Observación | Interpretación |
|---|---|
| Dos pruebas pasan | La línea base declarada funciona; aún no prueba el cambio de espacio en blanco solicitado |
| No se encontraron pruebas | Directorio o archivo incorrectos, o descubrimiento; no es una comprobación exitosa |
| Node no encontrado | La configuración del runtime está incompleta |
| Desajuste de integridad antes de editar | Revisa la descarga y la extracción antes de ejecutar más código |
Registra el comando y la salida en una nota de evidencia local. No copies los números esperados en la nota a menos que tu ejecución los informe realmente.
4. Comprende el concepto antes de cambiar el código
La función formatea un nombre. Las pruebas ya rechazan entradas vacías o que no sean cadenas. El nuevo requisito es: eliminar los espacios en blanco alrededor sin perder esos errores.
| Término | Significado simple en este laboratorio |
|---|---|
| Línea base | Cómo se comporta el proyecto sin cambios |
| Requisito | Qué debe cambiar: los espacios en blanco alrededor no deben aparecer en el saludo |
| Prueba de regresión | Una comprobación que rechaza una implementación que no tenga ese comportamiento |
| Diff | Las líneas exactas cambiadas, no el resumen del agente |
| Evidencia | El comando, la salida y el cambio revisado que respaldan la finalización |
Con greeting.mjs abierto, elige un rol Ask compatible. Adjunta el archivo si
es necesario y envía:
Explain how greeting handles blank names and surrounding whitespace.
Cite the actual implementation and current tests. Do not edit or run commands.
Separate existing behavior from missing test coverage.
Compara la respuesta con los archivos. Una explicación plausible sin evidencia de fuentes no basta.
5. Planifica, implementa y desafía
En un rol Plan compatible, envía:
Plan trimming surrounding whitespace before formatting a greeting, while preserving
errors for blank and non-string values. Include " Ada ", "", " ", null and a number.
Limit changes to greeting.mjs and greeting.test.mjs. Name the check and reset path.
Do not implement yet.
- Revisa los archivos afectados y los casos de prueba antes de aprobar.
- Pide a Agent que implemente solo ese plan revisado.
- Inspecciona sus comandos propuestos y el diff completo. No aceptes pruebas debilitadas.
- Ejecuta tú mismo el mismo comando de pruebas del paso 3.
- Añade o confirma una aserción para los espacios en blanco alrededor.
- Cambia temporalmente un saludo esperado por un valor obviamente incorrecto, vuelve a ejecutar y observa la aserción fallida. Restaura esa aserción y vuelve a ejecutar con éxito.
Punto de control: tanto los errores originales como el nuevo comportamiento del espacio en blanco están a prueba. La aserción incorrecta deliberada falló. Una UI verde por sí sola no es evidencia.
Por qué importa el traspaso de roles
---
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"
---
sequenceDiagram
accTitle: Transferencias entre el estudiante y los roles de agente
accDescr: El estudiante solicita investigación, un plan acotado, implementación y revisión independiente, y recibe un artefacto de evidencia diferente en cada paso.
participant L as Estudiante
participant A as Ask
participant P as Plan
participant G as Agent
participant R as Revisor
L->>A: Investigar el estado actual
A-->>L: Hechos, restricciones, incógnitas
L->>P: Diseñar un cambio acotado
P-->>L: Alcance, riesgos, comprobaciones, restablecimiento
L->>G: Implementar el plan aprobado
G-->>L: Diff y validación ejecutada
L->>R: Cuestionar la afirmación de finalización
R-->>L: Hallazgos y carencias de evidencia
Leyenda. Los participantes son el estudiante y los roles de agente. Las flechas continuas son solicitudes; las discontinuas son hallazgos, planes, cambios o resultados de revisión devueltos.
Explicación. El estudiante es responsable de la aceptación en cada límite. Una transferencia de rol transporta el contexto de la tarea, pero no demuestra que se haya ejecutado una prueba o una revisión.
Usa la guía de harnesses al elegir dónde se ejecuta el agente. Ask, Plan y Agent describen responsabilidades; no todos los CLI o runtimes los muestran como tres botones idénticos.
6. Finaliza, restablece y elige el siguiente paso
- El estado inicial está documentado.
- El alcance y los objetivos excluidos son explícitos.
- La elección del harness y del entorno está justificada.
- Las comprobaciones pertinentes se ejecutaron realmente.
- Se registraron la salida y el estado de salida.
- Los hallazgos de la revisión se resolvieron o aceptaron.
- Se limpiaron los recursos y credenciales temporales.
Para un restablecimiento, guarda tu evidencia y extrae el ZIP original en otro directorio no usado. Si creaste una línea base de Git, restaura solo los archivos de ejercicio nombrados después de inspeccionar tu diff. No hagas un hard reset de otro repositorio.
| Continuar con… | Elígelo cuando… |
|---|---|
| Laboratorio completo 01 | Quieres el contexto restante y los experimentos de asistencia en línea |
| Orden de aprendizaje | Estás listo para elegir C#, Python o la ruta de la aventura |
| Portales de Nexus | Prefieres la ruta de fundamentos apoyada por la historia |
| Solución de problemas y entorno | Un runtime, directorio de trabajo o permiso está bloqueando el progreso |
Lo que puede esperar
El historial de Git y la publicación en GitHub son opcionales para este primer ejercicio local. Codespaces y Dev Containers son entornos alternativos, no pasos obligatorios adicionales. Compilar todo el sitio de aprendizaje es una tarea de mantenimiento. MCP, Spec Kit, agentes paralelos, la nube y el SDK van más adelante en la progresión.