# Helpful

> CLIs support users by giving suggestions, being empathetic and providing error messages to move them forward.

#

## Support
- Always implement a help option with the two common flags: -h or --help
- Structure help sections with usage, commands, arguments, options and examples
- Provide help when users make invalid requests
- Provide documentation both at the terminal and online
- Document commands and extend documentation for your commands
- Provide auto-completion when possible

![Support - Do](https://www.figma.com/design/YSvLeddwfyjLx8G5QWOTCH/Documentation-Visuals?node-id=1035-8879&t=2JP2nlNciwS43htp-1)

## Errors
- Keep users informed
- Provide text-based error descriptions
- Present errors logically, e.g. by location or type
- Present all errors where they are the most discoverable, e.g. at the end of the command line

![Errors - Do](https://www.figma.com/design/YSvLeddwfyjLx8G5QWOTCH/Documentation-Visuals?node-id=1035-8921&t=2JP2nlNciwS43htp-1)

![Errors - Don’t](https://www.figma.com/design/YSvLeddwfyjLx8G5QWOTCH/Documentation-Visuals?node-id=1035-9024&t=2JP2nlNciwS43htp-1)
