npm link) so you can use the ecp command from your shell.
Getting help
The CLI is built on oclif: built-in--help shows the authoritative list of commands and flags for your installed version.
ecp --help— Lists top-level commands (run,validate,trace, …).ecp <command> --help— Full flags and arguments for that command, e.g.ecp run --help,ecp validate --help,ecp trace --help.
Commands
run
Execute a Context manifest. By default,ecp run enables tracing and saves traces under ~/.ecp/traces (disable with --no-trace).
- context.yaml — Path to the Context YAML file (also accepts
context.json).
| Option | Description |
|---|---|
--enable <name> | Enable a plugin by ID (e.g. model providers openai, ollama). Repeat for multiple. |
-i, --input | Set input key=value. Repeat for each input (e.g. -i topic=test). |
--provider | Optional model provider: openai or ollama. If omitted, it is inferred from the Context. |
--model | Override model name (e.g. for Ollama: llama3.2:3b). |
--config | Path to system config file (e.g. ecp.config.yaml). |
--ollama-base-url | Ollama API base URL (default http://localhost:11434). |
-t, --[no-]trace | Enable tracing (default) or disable with --no-trace. |
--trace-dir | Directory for trace files (default ~/.ecp/traces). |
--debug | Enable debug logging. |
--environment <path> | Path to a .env file for the dot.env secret provider for this run only (overrides secrets.providers.dot.env.path in config). Does not merge into process.env. |
validate
Validate a Context manifest without running it:- -i, —input — Provide required inputs so validation can succeed (e.g.
-i shopifyStoreId=demo -i jiraProject=DEMOforspec.yaml). - —skip-inputs — Validate the Context manifest itself but skip runtime input resolution. Instead of failing, it prints which inputs are required.
--environment <path>— Same semantics asecp run: selects the.envfile for thedot.envprovider (future-proof for validation tooling that resolves secrets).
trace
Display a saved execution trace from a previousecp run:
| Option | Description |
|---|---|
--output | Render mode: text (human log) or graph (ASCII visualization). Default: text. |
--trace-dir | Directory for trace files (default ~/.ecp/traces). |
--environment <path> | Optional; same as on run — selects the .env file for dot.env when trace tooling is wired to secret resolution. |
ecp graphis a hidden alias forecp trace --output graph.- Traces are stored as JSON files in
~/.ecp/traces.
trace list
List locally available trace IDs:--environment <path> like ecp run (dotenv file for dot.env; no merge into process.env).
Environment
- OPENAI_API_KEY — Used by the OpenAI provider when
--provider openai(or when the Context implies OpenAI). - OLLAMA_BASE_URL — Optional; overrides Ollama base URL (default
http://localhost:11434).
process.env, dot.env, and os.secrets (see Security). --environment only affects the file backing dot.env, not the shell environment.
System config
The CLI loads system config from (in order):--config <path>./ecp.config.yaml~/.ecp/config.yamlor~/.ecp/ecp.config.yaml
models, tools, loggers, agents, secrets, optional executors / memory, and plugins.installs. Policy lives under the top-level security object, which mirrors those areas (security.models, security.tools, security.plugins, …). Legacy plugins.allowEnable / plugins.security keys are removed; use security.models.allowProviders, security.tools.allowServers, security.plugins, and related subtrees instead. Include version: "0.5" in the file.
Use system config to register MCP servers under tools.servers, model providers under models.providers, and to restrict what the runtime may load via security.*. Inspect or update security with ecp config security get, ecp config security plugins update, and the rest of ecp config --help (plugins installs, models, tools, loggers, secrets, …).
Contexts control which tools an executor may call via policies.toolAccess; the host still decides which server names exist and are allowed (security.tools.allowServers and configured tools.servers).
Full spec: SPEC.md — Host system configuration, annotated config/ecp.config.example.yaml, and TypeScript ECPSystemConfig. See Security for the security model and SETUP.md for setup.
See also
- Quickstart — First run
- Development — Global install and env
- SETUP.md — Full setup guide