# llms.txt Generation URL: /docs/usage/llms/ Section: usage Tags: llms, ai, discovery -------------------------------------------------------------------------------- Milo can generate an llms.txt document from your CLI's registered commands. This gives AI agents a curated Markdown overview of what your tool can do. Generating llms.txt myapp --llms-txt Output: # myapp > My tool Version: 1.0.0 ## Commands - **greet**: Say hello Parameters: `--name` (string, required), `--loud` (boolean) ## Site Operations - **build**: Build the site Parameters: `--output` (string) - **serve**: Start dev server Parameters: `--port` (integer) Structure The output follows the llms.txt specification: Title — CLI name as # heading Description — CLI description as a blockquote Version — if set Commands — grouped by tag, then by command group Parameters — with types and required markers Tags Commands with tags are grouped under tag-derived headings: @cli.command("deploy", description="Deploy the app", tags=("ops",)) def deploy(target: str) -> str: ... @cli.command("rollback", description="Rollback", tags=("ops",)) def rollback(steps: int = 1) -> str: ... Produces: ## Ops - **deploy**: Deploy the app Parameters: `--target` (string, required) - **rollback**: Rollback Parameters: `--steps` (integer) Groups Command groups produce nested headings: ## Site Operations - **build**: Build the site ### Config Management - **show**: Show merged config - **set**: Update a config value Programmatic generation from milo import generate_llms_txt text = generate_llms_txt(cli) Hidden commands Commands with hidden=True are excluded from the output. Aliases Command aliases appear in parentheses: - **list** (ls): List all items Tip Tip Pair --llms-txt with --mcp to give AI agents both a discovery document and a tool invocation interface. See MCP Server for the full MCP setup, including the gateway for multi-CLI projects. -------------------------------------------------------------------------------- Metadata: - Author: lbliii - Word Count: 250 - Reading Time: 1 minutes