If you're writing, make sure you cover all the commands a user could run with your application. A good example for a command line app is explaining each command, its flags, and what they do. Similar to web apps with API endpoints, or the capabilities of any program with an UI. A good tool is VitePress. Both in documenting a tool and how to use it. Another good example for Developers is how Rust and Go offer documentation.