# Distri > Distri is a composable AI agent runtime for building in-product agents. Define > an agent once in markdown, connect your product's functions as tools, and run > it from the CLI, as a streaming API server, or embedded in your app with > @distri/react. Built in Rust; A2A-compatible; free to self-host. Key idea: an agent isn't just a chat box, it reaches into your product and calls your functions (fill the form, reconcile the ledger, update the grid), streaming every step back to your UI. ## For coding agents - [Distri skill (SKILL.md)](https://distri.dev/skills/distri/SKILL.md): drop-in instructions to build/run/deploy agents - [Install the skill](https://distri.dev/skills/install.sh): `curl -fsSL https://distri.dev/skills/install.sh | sh` - [Full text reference](https://distri.dev/llms-full.txt): complete API + CLI + examples in one file - [Skills index](https://distri.dev/skills.txt): all skill files and how to use them ## Start here - [Overview](https://distri.dev/docs): what Distri is and the mental model - [Getting Started](https://distri.dev/docs/getting-started): install the CLI and run an agent in two minutes - [Agent Definition](https://distri.dev/docs/concepts/agent-definition): the agent.md format - [CLI Reference](https://distri.dev/docs/reference/cli-reference): every command and flag - [Live Samples](https://distri.dev/samples): interactive agents driving real UIs ## Build agents - [In-Product Tools](https://distri.dev/docs/guides/agent/in-product-tools): connect your app's functions as tools - [Agent Skills](https://distri.dev/docs/guides/agent/agent-skills): reusable skills - [Managing Agents](https://distri.dev/docs/managing-agents): push and sync to the cloud - [Deep Agents](https://distri.dev/docs/concepts/deep-agents): planning and sub-agents ## Embed & integrate - [React Integration](https://distri.dev/docs/guides/client/guide-distri-provider): DistriProvider + Chat - [Client SDK](https://distri.dev/docs/guides/client/guide-distri-client): agent.invoke, client.llm, resubscribe - [Sessions](https://distri.dev/docs/concepts/using-session): state scoped to a thread - [Following Tasks (read-only)](https://distri.dev/docs/concepts/read-only-task-streaming): background tasks & resubscribe ## Operate - [Traces](https://distri.dev/docs/traces): observe tool calls, tokens, latency - [Self-Hosted](https://distri.dev/docs/self-hosted/quick-start): run on your own infrastructure - [Pricing](https://distri.dev/pricing) ## Blog - [Blog](https://distri.dev/blog): walkthroughs and samples