Awesome CopilotAdventures

Laboratorio La puerta del terminal

[!TIP] Descarga el ZIP del aprendiz o copia este laboratorio completo en una carpeta sin usar. Lee primero la configuración y los pasos opcionales de GitHub.

Antes de ejecutar nada

Elemento Contrato
Runtime Node 24; las integraciones en vivo son independientes
Archivos a inspeccionar starter/command.js, verify.js
Directorio del verificador Raíz del kit extraído: node verify.js; desde starter/: node ../verify.js
Estado inicial El starter incompleto se rechaza; conserva el diagnóstico
Evidencia de finalización Las solicitudes válidas devuelven la acción y el destino; cada forma inválida enviada se rechaza.

Concepto en práctica: El mismo nombre de archivo relativo significa algo distinto desde otro directorio de trabajo. Un contrato de comando seguro define tanto la acción permitida como dónde se resuelve el destino.

Construye un pequeño analizador de argumentos para una superficie de terminal segura y determinista.

Misión

Implementa parseCommand en starter/command.js. Acepta únicamente:

inspect <relative-path>
verify <relative-path>

Devuelve { action, target }. Rechaza argumentos ausentes o adicionales, rutas absolutas, recorridos a directorios superiores, metacaracteres del shell y acciones no admitidas.

Ejecuta node verify.js.

Ejecución guiada

  1. Ejecuta el verificador intacto y registra el estado inicial esperado.
  2. Pide una explicación fundamentada en la fuente del código y las comprobaciones relevantes.
  3. Planifica: define la salida de parseCommand para las dos acciones permitidas. Exige exactamente un destino relativo y rechaza rutas absolutas, traversal, comillas y operadores de shell como cadenas no confiables.
  4. Implementa solo el fragmento aprobado y vuelve a ejecutar el mismo verificador.
  5. Acepta temporalmente un argumento extra y confirma que el caso de entrada inválida falla. Restaura el analizador estricto.
  6. Revisa el diff y registra la limitación: el ejercicio del analizador no ejecuta ningún comando de shell. Usar el Copilot CLI real es un flujo en vivo aparte con su propia configuración y permisos.

Finalización y restablecimiento seguro

  • El comportamiento requerido y su caso negativo cuentan con evidencia observada.
  • El resultado distingue la verificación local del comportamiento en vivo del host/runtime.
  • No se cambiaron credenciales, archivos no relacionados ni servicios.
  • La evidencia está guardada antes de restablecer el starter copiado.

Usa una nueva extracción para otro intento, o restaura solo los archivos nombrados desde una línea base de Git creada en esta copia. Nunca apliques un comando de restablecimiento de la raíz del currículo desde un proyecto ajeno.

Continúa con la aventura y la rúbrica.

Buscar

Búsqueda en español. Las rutas y los ejemplos ejecutables conservan el texto original.