Command Line Interface
A command line interface (CLI) is a text-based way to operate software by typing commands instead of clicking through a graphical interface. The user enters a command name with arguments and flags, the program runs, and it prints text output. Because both input and output are plain text, commands can be chained together, piped into other programs, saved in scripts, and run unattended on a server. That makes the CLI the natural interface for automation and for continuous integration pipelines, where nobody is present to click anything. Most developer tooling ships a CLI first: Git, npm and pnpm, Docker, Terraform, and the AWS and Vercel command line tools all work this way. AI tools have followed the same path, with Claude Code running as a terminal program that reads a project and edits files in place. A well-designed CLI documents itself through a help flag, returns a non-zero exit code on failure so scripts can react, and can print machine-readable output such as JSON when asked. The usual weakness is discoverability, since a CLI hides its capabilities behind command names a newcomer must already know, which is why many products pair one with a dashboard or an IDE extension covering the same features.