DEV Community

Yuri Peixinho
Yuri Peixinho

Posted on

CLI Tools

Introdução

CLI = Command Line Interface. É um jeito de controlar um programa digitando texto, em vez de clicar em ícones e janelas (isso seria uma GUI — Graphical User Interface). Você digita um comando, aperta Enter, o programa executa e devolve uma resposta em texto. Não é algo específico de JavaScript ou web — ls, cd, git, curl, python, docker são todas CLIs, e existem desde muito antes da internet existir.

A anatomia de um comando

Quase todo comando de terminal segue essa estrutura:

comando subcomando --flag valor argumento
                                 
  git     commit      -m   "msg"   arquivo.txt
Enter fullscreen mode Exit fullscreen mode

Por que isso importa tanto no desenvolvimento

GUIs são ótimas pra explorar visualmente, mas CLIs ganham em três frentes que importam muito pra programação:

  1. Automação — você pode colocar um comando dentro de um script e rodar mil vezes sem clicar em nada
  2. Composição — como vimos com os pipes, você combina ferramentas pequenas em fluxos complexos
  3. Funciona sem interface gráfica — servidores, containers Docker, pipelines de CI/CD geralmente não têm tela nenhuma; só dá pra interagir via terminal

É por isso que praticamente toda ferramenta séria do ecossistema JS (Vite, ESLint, TypeScript, Git, Docker) é, no fundo, uma CLI: ela precisa rodar igualzinho na sua máquina e num servidor remoto sem interface nenhuma, de forma automatizável.

Top comments (0)