Awesome CopilotAdventures

Laboratório do Portal do Terminal

[!TIP] Baixe o ZIP do aprendiz ou copie este laboratório inteiro para uma pasta não usada. Leia primeiro a configuração e as etapas opcionais do GitHub.

Antes de executar qualquer coisa

Item Contrato
Runtime Node 24; as integrações ao vivo são separadas
Arquivos para inspecionar starter/command.js, verify.js
Diretório do verificador Raiz do kit extraído: node verify.js; em starter/: node ../verify.js
Estado inicial O starter inacabado é rejeitado; preserve o diagnóstico
Evidência de conclusão As solicitações válidas retornam a ação e o destino; cada forma inválida enviada é rejeitada.

Conceito em prática: O mesmo nome de arquivo relativo significa algo diferente em outro diretório de trabalho. Um contrato de comando seguro define tanto a ação permitida quanto onde o destino é resolvido.

Construa um pequeno analisador de argumentos para uma superfície de terminal segura e determinística.

Missão

Implemente parseCommand em starter/command.js. Aceite somente:

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

Retorne { action, target }. Rejeite argumentos ausentes ou extras, caminhos absolutos, travessia para diretórios superiores, metacaracteres do shell e ações sem suporte.

Execute node verify.js.

Execução guiada

  1. Execute o verificador intacto e registre o estado inicial esperado.
  2. Peça uma explicação fundamentada na fonte do código e nas verificações relevantes.
  3. Planeje: defina a saída de parseCommand para as duas ações permitidas. Exija exatamente um destino relativo e rejeite caminhos absolutos, traversal, aspas e operadores de shell como strings não confiáveis.
  4. Implemente apenas o recorte aprovado e execute novamente o mesmo verificador.
  5. Aceite temporariamente um argumento extra e confirme que o caso de entrada inválida falha. Restaure o analisador estrito.
  6. Revise o diff e registre a limitação: o exercício do analisador não executa nenhum comando de shell. Usar o Copilot CLI real é um fluxo ao vivo separado, com sua própria configuração e permissões.

Conclusão e redefinição segura

  • O comportamento exigido e seu caso negativo têm evidência observada.
  • O resultado distingue a verificação local do comportamento ao vivo do host/runtime.
  • Nenhuma credencial, arquivo não relacionado ou serviço foi alterado.
  • A evidência está salva antes de redefinir o starter copiado.

Use uma nova extração para outra tentativa, ou restaure apenas os arquivos nomeados a partir de uma linha de base Git criada nesta cópia. Nunca aplique um comando de redefinição da raiz do currículo a partir de um projeto diferente.

Continue com a aventura e a rubrica.

Buscar

Busca em português do Brasil. Os caminhos e os exemplos executáveis mantêm o texto original.