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

# Build from source

> Clone the ECP (Execution Control Protocol) monorepo, build packages, and link the CLI for local development.

# Build from source

Use this path when you are changing ECP (Execution Control Protocol) packages themselves. Day-to-day usage should [install the CLI from npm](/getting-started/quickstart).

## Prerequisites

* Node.js 22+
* npm (install from the **repo root**, never inside individual packages)

## Clone and build

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

Link the CLI:

```bash theme={null}
cd packages/cli
npm link
```

From the monorepo root, run an example:

```bash theme={null}
ecp run examples/01-echo/workflow.ts --env examples/01-echo/environment.ts
ecp validate examples/01-echo/workflow.ts --env examples/01-echo/environment.ts
```

## Useful monorepo commands

```bash theme={null}
npm run check          # build + schema + lint + tests
npm run test:unit
npm run generate:schema
```

Package map and boundaries: see the monorepo [`AGENTS.md`](https://github.com/executioncontrolprotocol/executioncontrolprotocol/blob/main/AGENTS.md) and [Packages](/reference/packages).

## Browser demo with linked packages

For side-by-side work with the [browser demo](/getting-started/browser-demo), clone the demo as a sibling, rebuild monorepo `dist/`, then follow the demo README’s `npm link` procedure so the Graph Editor picks up local `@executioncontrolprotocol/*` builds.

## Next steps

* [Quickstart](/getting-started/quickstart)
* [Fluent API](/guides/fluent-api)
* [CLI reference](/reference/cli)
