La puerta del terminal
[!NOTE] Estado: Contenido listo · Multimedia: Portada generada e ilustración SVG original · Última verificación: 2026-09-05
Capacidad principal: Usar GitHub Copilot CLI de forma segura

Ilustración conceptual original (SVG)
[!TIP] Descarga este kit de aprendizaje y usa la guía de extracción y configuración. Mantén intacto el starter original.
---
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 LR
accTitle: Mapa de capacidades de La Puerta del Terminal
accDescr: Un analizador puede hacer predecible una interfaz pequeña. No sustituye los permisos en tiempo de ejecución ni una integración CLI completa.
S["Cadena de entrada"] --> T["Conteo de tokens y acción"]
T --> P["Validación de ruta relativa"]
P --> Q{"¿Solicitud permitida?"}
Q -->|Sí| O["Devolver acción y destino"]
Q -->|No| E["Error explícito"]
Leyenda. Los cuadros de validación describen etapas de análisis; ni la entrada aceptada ni la rechazada se ejecuta como código de shell.
Explicación. Un analizador puede hacer predecible una interfaz pequeña. No sustituye los permisos en tiempo de ejecución ni una integración CLI completa.
Referencias oficiales
Estas fuentes oficiales son la autoridad sobre el comportamiento y la disponibilidad del producto. Vuelve a consultarlas cuando uses otra superficie o después de una actualización del producto.
Historia
En la Puerta del Terminal, cada hechizo se convierte en un comando con un directorio de trabajo, un código de salida y un efecto secundario.
La fantasía es una ayuda para la memoria; la lección de ingeniería exige evidencia observable y reproducible.
Objetivos de aprendizaje
- Analiza únicamente las acciones de inspección y verificación con una ruta relativa.
- Rechaza argumentos no admitidos, traversal y sintaxis de shell sin evaluar la entrada.
- Registra las suposiciones sobre el directorio de trabajo y separa el analizador local de la autenticación de Copilot CLI.
Requisitos previos
Para preparar las herramientas y las cuentas personales, completa la guía de requisitos previos. Para estudiar solo desde el terminal, sigue la ruta de la CLI desde el kit extraído; la evidencia específica de VS Code sigue siendo independiente.
| Requisito | Por qué importa |
|---|---|
| Completar la aventura anterior, o demostrar su evidencia de salida | Mantiene esta misión enfocada en su capacidad nombrada |
| Node 24 y el kit extraído | El verificador local usa el runtime y los archivos suministrados |
| Una carpeta desechable fuera de otro proyecto | Las personalizaciones y los fallos intencionales no deben filtrarse a otro trabajo |
| Acceso autorizado al host, solo para pasos en vivo | La disponibilidad, las herramientas y las políticas difieren |
Límite de evidencia: El ejercicio del analizador no ejecuta ningún comando de shell. Usar el Copilot CLI real es un flujo en vivo separado con su propia configuración y permisos.
Tiempo estimado de la sesión: 45–75 minutos después de los prerrequisitos; la duración real varía. Nunca uses secretos de producción ni datos de clientes.
Explicación de conceptos
Copilot CLI es un harness de agentes en el terminal. Los comandos heredan el directorio actual, los permisos del usuario, las variables de entorno y la configuración de red. Ask y Plan deben establecer el alcance antes de que Agent ejecute. Lee los comandos antes de aprobarlos, evita exponer secretos, prefiere las tareas existentes del proyecto, conserva la salida y los códigos de salida y no presupongas la disponibilidad de funciones o modelos en todos los planes o plataformas.
Caso de uso concreto
El mismo nombre de archivo relativo significa algo distinto desde otro directorio de trabajo. Un contrato de comando seguro establece tanto la acción permitida como dónde se resuelve el destino.
Comprobación de vocabulario
- Rol: Ask, Plan, Agent o un agente personalizado.
- Harness/superficie: el entorno de ejecución o la superficie del producto en que opera un rol.
- Destino: el destino de sesión seleccionado, como Local, Copilot o Cloud cuando se ofrecen.
- Entorno: la carpeta, el worktree, la máquina local, el Codespace o el entorno remoto.
- Instrucciones: contexto duradero que se aplica automáticamente.
- Prompt: una plantilla de tarea invocada manualmente.
- Skill: conocimientos reutilizables que se cargan cuando son pertinentes.
- Agente personalizado: un rol con instrucciones, herramientas y transferencias opcionales.
- MCP: Model Context Protocol.
- Evidencia: una ruta, un diff, el resultado de un comando, una traza o una decisión de revisión.
Flujo de trabajo Ask → Plan → Agent
Ask — investigar
- Identifica el resultado real que busca el usuario y la fuente de verdad actual.
- Inspecciona los archivos, las instrucciones, las herramientas, los permisos y las comprobaciones existentes que sean relevantes.
- Cita rutas concretas o evidencia de la plataforma para cada hallazgo importante.
- Registra la incertidumbre y no deduzcas capacidades que no estén disponibles.
Punto de control: No implementes nada hasta comprender el estado actual y la evidencia.
Plan — diseñar
- Establece el alcance, los objetivos excluidos, las suposiciones, los riesgos y los límites de confianza.
- Selecciona el mínimo rol, herramientas, autoridad y entorno necesarios.
- Define los criterios de aceptación, los comandos de verificación, la revisión y el restablecimiento.
- Señala cualquier dependencia en versión preliminar o experimental y proporciona una alternativa.
Punto de control: Otra persona que esté aprendiendo debería poder anticipar qué significa completar el trabajo a partir del plan.
Agent — ejecutar
- Realiza el cambio reversible más pequeño o produce el artefacto planificado.
- Usa ciclos cortos de inspeccionar → cambiar → verificar.
- Conserva la salida de los comandos, el estado de salida, los diffs, las trazas o los registros de la plataforma.
- Detente cuando se cumplan los criterios de aceptación; no realices tareas de limpieza ajenas al alcance.
Revisión — cuestionar
- Inspecciona el diff o el artefacto completo.
- Compara cada resultado con el plan y los criterios de aceptación.
- Ejecuta la comprobación existente más específica que sea pertinente y amplía su alcance solo cuando esté justificado.
- Registra las limitaciones y los riesgos sin resolver.
- Puntúa el trabajo con rubric.md.
Misión guiada
1. Prepara una copia aislada
- Descarga y extrae el kit terminal-gate en un nuevo directorio de la unidad de trabajo.
- Lee
KIT-START.mden su raíz. Abrestarter/como el workspace de VS Code al probar el descubrimiento, pero ejecuta el verificador desde la raíz del kit. - Inspecciona
starter/command.js,verify.jsantes de editar. - Desde la raíz del kit extraído, ejecuta
node verify.js. - Registra el rechazo documentado del starter. Un runtime faltante o un fallo no relacionado no es el resultado esperado del ejercicio.
2. Investiga y planifica
Comando de comprobación inicial listo para copiar, desde la raíz del kit extraído:
node verify.js
En Ask, solicita un rastreo de los archivos inspeccionados y de lo que el verificador observa realmente. Cuestiona cualquier afirmación sobre ejecución en vivo que no esté respaldada por la salida.
Usa este prompt de planificación:
Define parseCommand output for the two allowed actions. Require exactly one relative target and reject absolute paths, traversal, quotes and shell operators as untrusted strings.
Do not implement yet. Identify affected files, the negative case and a safe reset.
3. Implementa el fragmento revisado
- Aprueba solo el artefacto starter nombrado y las pruebas enfocadas necesarias.
- Pide a Agent que implemente un solo fragmento; inspecciona los comandos propuestos antes de ejecutarlos.
- Ejecuta
node verify.jsotra vez desde la raíz del kit, onode ../verify.jsdesdestarter/. - Compara el resultado exacto con el punto de control de abajo y revisa el diff completo.
- Registra por separado el descubrimiento del host o la actividad en vivo cuando esté disponible. No habilites servicios extra para fabricar un resultado aprobado.
[!IMPORTANT] Punto de control: Las solicitudes válidas devuelven acción y destino; toda forma inválida proporcionada se rechaza. El ejercicio del analizador no ejecuta ningún comando de shell. Usar el Copilot CLI real es un flujo en vivo separado con su propia configuración y permisos.
4. Demuestra que una comprobación puede rechazar un error
Acepta temporalmente un argumento extra y confirma que el caso de entrada inválida falla. Restaura el analizador estricto.
| Observación | Decisión | Acción | Evidencia | Limitación |
|---|---|---|---|---|
| Estado inicial y diagnóstico exacto | Por qué se necesita este cambio | Archivo nombrado y cambio acotado | Comando, código de salida y resultado observado | Lo que la comprobación local no demuestra |
Termina con la evidencia de capacidad específica de la aventura en la rúbrica, no solo con la presencia de un archivo.
Fallo intencional: El comando del lado equivocado
Haz esto únicamente en un entorno desechable:
Cambia a un directorio no relacionado y observa cómo cambia el significado de un comando relativo seguro. El entorno del shell forma parte del contrato de ejecución.
Recuperación
Vuelve a Ask, identifica el límite vulnerado, acota el plan, elimina la autoridad o el contexto innecesarios y repite la verificación pertinente más pequeña. Documenta la lección sobre las causas en lugar de limitarte a afirmar que el intento falló.
Desafío independiente
Completa la corrección de un error pequeño con evidencia del terminal suficiente para que otra persona pueda reproducirla y restablecer el estado.
Restricciones:
- No copies literalmente la misión guiada.
- No añadas herramientas, permisos ni recursos en la nube sin una necesidad declarada.
- No afirmes calidad, rendimiento, compatibilidad ni disponibilidad sin evidencia obtenida mediante ejecución.
- Mantén el lenguaje fantástico subordinado a la claridad técnica.
Lista de comprobación de evidencia
- Hallazgos de Ask fundamentados en las fuentes.
- Plan aprobado con alcance, objetivos excluidos, riesgos, comprobaciones y restablecimiento.
- Diff o artefacto de Agent limitado al alcance declarado.
- Salida de verificación con comando, estado o registro de la plataforma.
- Causa raíz del fallo intencional y recuperación.
- Resultado del desafío independiente.
- Limitaciones explícitas y notas sobre el estado de las funciones.
- rubric.md completada.
Instrucciones de restablecimiento
- Guarda tu diff, la salida del comando y las limitaciones del kit desechable.
- Detén solo el proceso o la sesión de aprendizaje que iniciaste. No detengas otros proyectos.
- Si inicializaste Git en el kit, inspecciona
git status --shortallí y restaura solo tus archivos de ejercicio nombrados desde su línea base local. - De lo contrario, extrae el ZIP original en un nuevo directorio sin usar para otro intento; no sobrescribas tu trabajo actual.
- Elimina solo configuraciones, worktrees o recursos remotos propiedad del ejercicio después de revisar lo que valga la pena conservar.
La fuente del currículo y los demás proyectos deben permanecer sin cambios. Un restablecimiento de la copia del kit no es un reinicio completo del repositorio.