Skip to content

Quickstart ​

Get Elliot running and talking to an agent in minutes.

The fastest way. The only prerequisite is Docker — no Python, Node, uv, or pnpm, and no source checkout:

bash
curl -LsSf https://raw.githubusercontent.com/EliBarak12/Elliot/main/scripts/install.sh | sh

This pulls the pre-built images, generates a local .env with a fresh secret key, starts all three services, and opens Studio at http://localhost:8080.

bash
# stop
docker compose -f docker-compose.run.yml down
# view logs
docker compose -f docker-compose.run.yml logs -f

On the Docker path you build and test connectors visually in Studio. To use the elliot CLI (init, lint, eval), run from source instead.

Run from source ​

For developing Elliot itself, or to use the elliot CLI.

Prerequisites ​

  • uv (Python 3.13)
  • pnpm (Node 22)
bash
curl -LsSf https://astral.sh/uv/install.sh | sh
npm install -g pnpm

Clone & install ​

bash
git clone https://github.com/EliBarak12/Elliot.git
cd Elliot
make setup
cp .env.example .env

Boot the stack ​

bash
make dev

make dev runs elliot connect first — auto-registering Elliot with every coding agent it can find (Claude Code, Cursor, OpenClaw, Codex). Then it brings up:

  • elliot-mcp-plugin on :3000 (MCP endpoint)
  • elliot-connector-runtime on :3001 (tool execution)
  • elliot-studio on :5173 (dashboard)

Open http://localhost:5173.

Scaffold your first connector ​

bash
elliot init --template rest-api-key my-api.connector.json

Open the file. Fill in the source URL, the auth secret name (an env var), and any tools you want exposed. See Connector spec for the full schema.

Lint & eval before shipping ​

bash
elliot lint my-api.connector.json
elliot eval my-api.eval.yaml

The linter checks every tool against the five principles. The eval harness is deterministic — no LLM is involved. Each case names a tool and the arguments to call it with; Elliot executes that tool directly against the connector and asserts on the result (row counts, fields present, token size, error codes), reporting a pass/fail with token counts. See the CLI reference for the suite schema.

Call a tool from an agent ​

In Claude Code (or any registered MCP client), ask it a question that needs your data. The agent calls list_animals (or whatever you defined), Elliot returns a small, contextually-sized response, and Studio shows the call in the audit log.

What an agent gets on first connect ​

On first connect the agent automatically calls prompts/get name=getting_started. That single prompt teaches the agent the five principles, the canonical workflow (discover-source → build-connector → lint-connector → run-eval → deploy), and the reference resources available (templates, error-code dictionary, install docs).

Next steps ​

Released under the MIT License. Privacy · Terms