# Philosophy

URL: /milo-cli/docs/about/philosophy/
Section: about
Description: The design constraints behind Milo's command and app model.

---

> For a complete page index, fetch /milo-cli/llms.txt.

Milo starts from one constraint: a typed Python function should safely become a
human CLI command, an MCP tool with a truthful JSON Schema, and an llms.txt
entry.

That leads to a few practical choices:

- The function signature is the contract.
- Schema generation has one source of truth.
- Reducers stay pure and deterministic.
- Protocol code stays sans-I/O until the transport boundary.
- Runtime state is explicit enough to test, replay, and debug.

Milo keeps the default install small: pure Python plus `kida-templates`.
