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

# Quickstart

> Run your first ECP Context in minutes

Get an ECP Context running locally in three steps.

## Prerequisites

* **Node.js** 22+ (required for schema generation and full builds in this repo; see [Development](/getting-started/development))
* **npm** (v7+ for workspaces) or pnpm
* For **OpenAI**: set `OPENAI_API_KEY`. For **Ollama**: [install Ollama](https://ollama.com/) and run it locally.

## Step 1: Clone and install

```bash theme={null}
git clone https://github.com/executioncontrolprotocol/executioncontrolprotocol.git
cd executioncontrolprotocol
npm install
```

## Step 2: Run a Context

Install the CLI from the repository (one-time). This gives you the `ecp` command:

```bash theme={null}
npm install -g tsx
cd packages/cli
npm link
cd ../..
```

Then run the single-executor example with OpenAI:

```bash theme={null}
ecp run examples/single-executor/context.yaml --enable openai -i topic="ECP"
```

Or validate a Context without running it:

```bash theme={null}
ecp validate examples/single-executor/context.yaml -i topic=test
```

After `ecp run`, tracing is enabled by default. You can inspect the latest run with:

```bash theme={null}
ecp trace list
ecp trace <run-id>
```

Disable tracing with `--no-trace` (traces default to `~/.ecp/traces`).

For every flag and option on your installed CLI, run `ecp --help` or `ecp run --help` (same pattern for `validate` and `trace`).

For **Ollama** (no API key):

```bash theme={null}
ollama pull llama3.2:3b
ecp run examples/single-executor/context.yaml --provider ollama --enable ollama --model llama3.2:3b -i topic="Test"
```

## Step 3: Inspect the manifest

The canonical example Context is [`spec.yaml`](https://github.com/executioncontrolprotocol/executioncontrolprotocol/blob/main/spec.yaml) at the repo root. It includes:

* **inputs** — parameters like `shopifyStoreId`, `jiraProject`
* **outputs** — structured results (e.g. from a schema)
* **schemas** — JSON Schema-like definitions for outputs
* **triggers** — when the Context runs (e.g. schedule, webhook)
* **orchestration** — entrypoint, strategy, delegation defaults
* **executors** — agents with models, mounts, and policies

## Next steps

* [Development](/getting-started/development) — preview docs locally, global CLI install
* [Concepts](/learn/concepts) — Context, executors, mounts, orchestration
* [SETUP.md](https://github.com/executioncontrolprotocol/executioncontrolprotocol/blob/main/SETUP.md) — env vars, system config, Ollama details
