> For the complete documentation index, see [llms.txt](https://docs.zenml.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zenml.io/getting-started/introduction.md).

# Welcome to ZenML

ZenML is an open-source framework for developing, evaluating, and deploying your entire AI portfolio: classical ML, LLM pipelines, and AI agents alike. It brings the battle-tested engineering principles of production ML to everything you ship, so you don't maintain one toolchain for models and another for agents.

That story has two open-source projects behind it:

* **ZenML** is the MLOps framework: portable, production-ready **pipelines** for ML and LLM workloads, with versioned artifacts, caching, and infrastructure abstracted behind [stacks](https://docs.zenml.io/stacks).
* [**Kitaru**](https://docs.zenml.io/kitaru) is for **AI agents**: traces you can run, not just read. Replay a real run against your real code with one thing changed — a cheaper model, a different prompt — diff the two, and roll the winner across recent runs. Recorded tool calls are answered from the recording, which is what makes the replay faithful.

Each works on its own. You can run ZenML and never touch Kitaru, or pick up Kitaru purely to put one agent's runs under replay. The split is clean: ZenML is for ML pipelines; Kitaru is for agents, with its own lightweight server (one `docker compose up`) and workers that execute replays in your environment.

### What are you building?

Pick the path that matches your work. Neither path requires the other, and adopting the second one later doesn't mean starting over.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>ML Pipelines → ZenML</strong></td><td>Build, version, and deploy classical ML and LLM pipelines. Start with Hello World, then the Starter guide.</td><td><a href="/files/qdeGD5qx5b8tXE5MV5SE">/files/qdeGD5qx5b8tXE5MV5SE</a></td><td><a href="/pages/hMvaw3pJYHjAQ2mQuRGb">/pages/hMvaw3pJYHjAQ2mQuRGb</a></td></tr><tr><td><strong>AI Agents → Kitaru</strong></td><td>Record every run as a session, replay a real run against your real code with one change, and keep the version that wins on cost, latency, and quality. Start with the Kitaru quickstart.</td><td><a href="/files/YfFG4p4r8KCz7DiIUP1s">/files/YfFG4p4r8KCz7DiIUP1s</a></td><td><a href="https://docs.zenml.io/kitaru/getting-started/quickstart">https://docs.zenml.io/kitaru/getting-started/quickstart</a></td></tr></tbody></table>

### How these docs are organized

The documentation is split into spaces — the tabs at the top of this page. Knowing what lives where saves you a lot of searching:

| Space                                                                                                               | What you'll find there                                                                                                |
| ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **ZenML** (you are here)                                                                                            | The pipelines framework: installation, core concepts, deployment, and how-to guides                                   |
| [**Kitaru**](https://docs.zenml.io/kitaru)                                                                          | The agents project: quickstart, recording and replaying sessions, evaluators and experiments, framework adapters      |
| [**Learn**](https://docs.zenml.io/user-guides)                                                                      | Narrative guides for both projects: Starter, Production, LLMOps, and Agents tracks, plus tutorials and best practices |
| [**Stacks**](https://docs.zenml.io/stacks)                                                                          | The infrastructure components — orchestrators, artifact stores, and more — that both pipelines and agents run on      |
| [**SDK reference**](https://docs.zenml.io/sdk-reference) / [**API reference**](https://docs.zenml.io/api-reference) | Client and REST API references, organized per project                                                                 |
| [**Changelog**](https://docs.zenml.io/changelog)                                                                    | Release notes, version by version                                                                                     |

### First steps

Whichever path you picked, the first steps are the same shape: install, run something real, then learn the concepts.

|               | ML Pipelines (ZenML)                               | AI Agents (Kitaru)                                                        |
| ------------- | -------------------------------------------------- | ------------------------------------------------------------------------- |
| **Install**   | [Installation](/getting-started/installation.md)   | [Installation](https://docs.zenml.io/kitaru/getting-started/installation) |
| **First run** | [Hello World](/getting-started/hello-world.md)     | [Quickstart](https://docs.zenml.io/kitaru/getting-started/quickstart)     |
| **Concepts**  | [Core Concepts](/getting-started/core-concepts.md) | [Core Concepts](https://docs.zenml.io/kitaru/concepts)                    |

If you use AI coding tools, see [LLM tooling](/reference/llms-txt.md) for ZenML's MCP server and Agent Skills (including `zenml-scoping` and `zenml-pipeline-authoring`).

### Guides

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Starter Guide</strong></td><td>Get started with ZenML fundamentals and set up your first pipeline</td><td><a href="/files/qyUjfZIIZ6gu6KN2d1i0">/files/qyUjfZIIZ6gu6KN2d1i0</a></td><td><a href="https://docs.zenml.io/user-guides/starter-guide">https://docs.zenml.io/user-guides/starter-guide</a></td></tr><tr><td><strong>Production Guide</strong></td><td>Move your ML pipelines from development to production</td><td><a href="/files/MdXKmxkxJ3qzq1imbM3J">/files/MdXKmxkxJ3qzq1imbM3J</a></td><td><a href="https://docs.zenml.io/user-guides/production-guide">https://docs.zenml.io/user-guides/production-guide</a></td></tr><tr><td><strong>Kitaru</strong></td><td>Replay a real run with one change, and improve agents across a cohort of real runs</td><td><a href="/files/YfFG4p4r8KCz7DiIUP1s">/files/YfFG4p4r8KCz7DiIUP1s</a></td><td><a href="https://docs.zenml.io/kitaru">https://docs.zenml.io/kitaru</a></td></tr></tbody></table>

<figure><img src="https://static.scarf.sh/a.png?x-pxid=f0b4f458-0a54-4fcd-aa95-d5ee424815bc" alt="ZenML Scarf"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.zenml.io/getting-started/introduction.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
