Skip to content


When designing for the command line, consider:

1. What the command does

  • What makes sense to do from a terminal? What doesn’t?
  • What might people want to automate?
  • What is the default behavior? What flags might you need to change that behavior?
  • What might people try and fail to do and how can you anticipate that?

2. What the command is called

  • What should the command language system be?
  • What should be a command vs a flag?
  • How can you align the language of the new command with the existing commands?

3. What the command outputs

4. How you explain your command

  • You will need to provide a short and long description of the command for the help pages.

5. How people discover your command

  • Are there ways to integrate CLI into the feature where it exists on other platforms?
Edit this page on GitHub
1 contributorampinsk
Last edited by ampinsk on August 4, 2020