> ## Documentation Index
> Fetch the complete documentation index at: https://graph.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> A plan engine for repeatable, AI-augmented workflows

**graph** is a command-line workflow engine for AI-augmented operations, CI, automation, and ETL. You describe a workflow as a **plan** — a small YAML file that chains tool calls with typed dataflow between steps and LLM inference exactly where you place it. Manage your entire workflow code base using the [graph workbench](/workbench/plan-workbench). Commit everything to version control. Build custom mcps to scale AI Ops across your teams.

<Frame caption="A report plan run end to end in the workbench: an exit gate for the quiet weeks, a per-file map, and the solver's report — the same steps in the same order, every Monday.">
  <img src="https://mintcdn.com/graph/VaTetSEpy4ieswMa/images/workbench/hero.svg?fit=max&auto=format&n=VaTetSEpy4ieswMa&q=85&s=9289da12e66e3c5de8b1af44f3dd3353" alt="The workbench after a completed weekly_status run: the chat agent on the left, the fully-executed step tree with exit-gate, map, and solver rows on the right, and the map's dataflow template in the detail pane." width="1044" height="720" data-path="images/workbench/hero.svg" />
</Frame>

An agent gives you a different answer every run. A plan is an artifact — versioned in a repo, reviewed in a PR, and cheap enough to schedule. That is the difference between a demo and a workflow you can run a thousand times.

## Why plans

* **Deterministic by default.** Steps are plain tool calls with no inference between them. The LLM enters only where you put it: a [prompt tool](/tools/user-defined) as a step (classify, extract, summarize mid-plan) and a [finish](/plans/finish-modes) that is a written report, structured JSON, or nothing at all.
* **Repeatable and reviewable.** A plan is a file you check into a repo, review in a PR, and share with your team. Your Monday status report is the same report every Monday.
* **Composable.** Every plan joins the tool catalog as `plan__<name>`, callable like any other tool — from the CLI, from a script, or from inside another plan. And a plan's own steps draw from that same catalog: MCP tools, wrapped CLIs, saved queries, prompt tools, and other plans.
* **Bring your own models and storage.** Any MCP server; Anthropic, OpenAI, or OpenAI-compatible/local models, [assignable per role](/models/models-and-providers). A single binary with plain-file storage — or in-memory storage for ephemeral CI runs. Your data stays on your machine.

## Built for scaled AI Ops

The same plan file works in a terminal, a cron job, and a CI pipeline: [finish modes](/plans/finish-modes) for reports, structured JSON, or silent side effects; meaningful exit codes; `${ENV}` secrets that fail loudly; repo-carried config under `./.graph/`. See the [cookbook](/cookbook/ci-checks).

## Prototype in chat, review in the workbench

`graph ask` and `graph chat` run an agent loop over the same tool catalog — the conversational surface for probing a tool's real output and prototyping a workflow before you freeze it into a plan ([Chat & ask](/using/chat-and-ask)). And plans themselves have a dedicated surface: the **workbench** (`graph wb plan`), a dual-pane TUI where the agent drafts a plan into a side pane and you inspect, validate, and step through it with a debugger ([Workbench](/workbench/plan-workbench)).

## Where to go next

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/getting-started/quickstart">
    Install, scaffold a project, run your first plan.
  </Card>

  <Card title="Core concepts" icon="lightbulb" href="/getting-started/concepts">
    Plans, the tool catalog, the shape cache, the workbench, and what a run costs.
  </Card>

  <Card title="Author a plan" icon="pen-to-square" href="/plans/authoring">
    From blank file to running plan, using a real example.
  </Card>

  <Card title="Cookbook" icon="book-open" href="/cookbook/ci-checks">
    CI checks, reports, and automation — worked examples, annotated.
  </Card>
</CardGroup>


## Related topics

- [Changelog](/changelog.md)
