Milo Examples

May 3, 2026 ยท View on GitHub

These examples are copy paths, not side demos. Every example directory has a runnable app.py; focused READMEs exist for the examples that are best starting points for new projects.

Fastest Starting Points

Start here when you needExampleWhy
The smallest typed CLIgreetOne command, tests for schema, CLI dispatch, llms.txt, and MCP dispatch
A human CLI that is also an MCP tooldeployTyped constraints, destructive tool annotations, progress, resources, prompts, and interactive confirmation
An agent-readable task CLItaskmanCommands plus MCP resources over application state
Polished terminal output patternsoutputgalleryHuman summaries, CI-safe output, JSON mode, and Kida output primitives

Run A CLI Example

uv run python examples/greet/app.py greet --name Alice
uv run python examples/greet/app.py greet --name Alice --loud
uv run python examples/greet/app.py --llms-txt
uv run pytest examples/greet/tests/ -q
uv run milo verify examples/greet/app.py

Example Map

CategoryExamples
Typed CLI and MCPgreet, deploy, ctxdemo, groups, lazyapp, devtool, taskman, outputgallery
Configuration, plugins, pipelinesconfigapp, pluggable, buildpipe
Interactive appscounter, todo, stopwatch, filepicker, wizard
Async workfetcher, downloader, spinner, liverender

Copy Rules

  • Start with greet unless you already know you need state, progress, resources, or templates.
  • Use deploy when the command has real-world side effects and needs agent-visible annotations.
  • Use taskman when an MCP client needs both tools and read-only resources.
  • Use outputgallery when output quality is the feature, especially for diagnostics, CI summaries, or site tooling.
  • Run uv run milo verify path/to/app.py after adapting an example.