CLI Reference (Complete)
The eve CLI is the single entry point to the Eve Horizon platform. Every operation — bootstrapping a project, creating jobs, deploying environments, managing secrets, coordinating agent teams — flows through this tool. Both humans and AI agents use the same commands, making the CLI the shared language of the entire system.
eve <command> [subcommand] [options]
This page documents every command, every subcommand, every flag, and every example. Use your browser's search (Ctrl+F / Cmd+F) or the sidebar to jump to a specific command.
Global options
These flags work with any command and override profile defaults for the current invocation.
| Flag | Type | Default | Description |
|---|---|---|---|
--help | boolean | — | Show help for the current command or subcommand |
--api-url <url> | string | Profile default | Override the API base URL |
--profile <name> | string | Active profile | Use a named repo-local profile |
--org <id> | string | Profile default | Override default organization ID |
--project <id> | string | Profile default | Override default project ID |
--json | boolean | false | Output as machine-readable JSON |
eve access
Manage access control: check permissions, manage roles/bindings, and sync policy-as-code from .eve/access.yaml.
eve access <subcommand> [options]
eve access can
Check if a principal can perform an action.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <org_id> | string | Profile default | Org scope |
--user <user_id> | string | — | User to check (mutually exclusive with --service-account/--group) |
--service-account <id> | string | — | Service account to check (mutually exclusive with --user/--group) |
--group <group_id> | string | — | Group to check directly (mutually exclusive with --user/--service-account) |
--permission <perm> | string | — | Permission to check (e.g., chat:write, jobs:admin) |
--project <project_id> | string | — | Optional project scope for the check |
--resource-type <type> | string | — | Optional resource type: orgfs, orgdocs, envdb |
--resource <id> | string | — | Optional resource id/path (required when --resource-type used) |
--action <action> | string | — | Optional action: read, write, admin |
Examples:
eve access can --org org_xxx --user user_abc --permission chat:write
eve access can --org org_xxx --user user_abc --project proj_xxx --permission jobs:admin
eve access can --org org_xxx --service-account sa_xxx --permission jobs:read
eve access can --org org_xxx --user user_abc --permission orgfs:read \
--resource-type orgfs --resource /groups/pm/spec.md --action read
eve access explain
Explain the permission resolution chain.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <org_id> | string | Profile default | Org scope |
--user <user_id> | string | — | User to explain (mutually exclusive with --service-account/--group) |
--service-account <id> | string | — | Service account to explain |
--group <group_id> | string | — | Group to explain directly |
--permission <perm> | string | — | Permission to explain |
--project <project_id> | string | — | Optional project scope |
--resource-type <type> | string | — | Optional resource type: orgfs, orgdocs, envdb |
--resource <id> | string | — | Optional resource id/path |
--action <action> | string | — | Optional action: read, write, admin |
Examples:
eve access explain --org org_xxx --user user_abc --permission jobs:admin
eve access explain --org org_xxx --user user_abc --project proj_xxx --permission jobs:admin
eve access explain --org org_xxx --service-account sa_xxx --permission jobs:read
eve access groups
Manage access groups and members.
eve access groups <create|list|show|update|delete|members> [args]
Examples:
eve access groups create "Product Management" --org org_xxx --slug pm-team
eve access groups list --org org_xxx
eve access groups members add pm-team --org org_xxx --user user_abc
eve access groups members list pm-team --org org_xxx
eve access memberships
Inspect memberships, effective bindings, and effective scopes for a principal.
eve access memberships --org <org_id> (--user <id>|--service-account <id>|--group <id>)
Examples:
eve access memberships --org org_xxx --user user_abc
eve access memberships --org org_xxx --service-account sa_abc
eve access memberships --org org_xxx --group grp_abc
eve access roles
List, create, or inspect platform roles.
eve access roles <list|show|create|update|delete> [--org <org_id>] [flags]
| Flag | Type | Default | Description |
|---|---|---|---|
--org <org_id> | string | Profile default | Scope organization |
--name <name> | string | — | Role name |
--description <text> | string | — | Human-readable role description |
Examples:
eve access roles list --org org_xxx
eve access roles create --org org_xxx --name reviewer --description "Can review jobs"
eve access roles show reviewer --org org_xxx
eve access bind
Bind a role to a principal.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <org_id> | string | Profile default | Target organization |
--role <name> | string | — | Role name |
--user <user_id> | string | — | Bind to a user |
--service-account <id> | string | — | Bind to a service account |
--group <group_id> | string | — | Bind to an access group |
Examples:
eve access bind --org org_xxx --role reviewer --user user_abc
eve access bind --org org_xxx --role ci-bot --service-account sa_xyz
eve access unbind
Remove a principal-to-role binding.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <org_id> | string | Profile default | Target organization |
--role <name> | string | — | Role name |
--user <user_id> | string | — | Unbind from user |
--service-account <id> | string | — | Unbind from service account |
--group <group_id> | string | — | Unbind from access group |
Examples:
eve access unbind --org org_xxx --role reviewer --user user_abc
eve access unbind --org org_xxx --role ci-bot --service-account sa_xyz
eve access bindings
List effective and explicit bindings for a role or principal.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <org_id> | string | Profile default | Target organization |
--role <name> | string | — | Optional role filter |
--service-account <id> | string | — | Optional principal filter |
--user <id> | string | — | Optional principal filter |
--group <id> | string | — | Optional principal filter |
Examples:
eve access bindings --org org_xxx
eve access bindings --org org_xxx --role reviewer
eve access validate
Validate an .eve/access.yaml file (schema + semantic checks).
| Flag | Type | Default | Description |
|---|---|---|---|
--file <path> | string | .eve/access.yaml | Path to access YAML file |
--json | boolean | false | Output validation result as JSON |
Examples:
eve access validate
eve access validate --file custom/access.yaml
eve access validate --json
eve access plan
Show changes needed to sync access.yaml to an org (dry run).
| Flag | Type | Default | Description |
|---|---|---|---|
--file <path> | string | .eve/access.yaml | Path to access YAML file |
--org <org_id> | string | Profile default | Org to plan against |
--json | boolean | false | Output plan as machine-readable JSON |
Examples:
eve access plan --org org_xxx
eve access plan --file .eve/access.yaml --org org_xxx --json
eve access sync
Apply access.yaml to an org (create/update roles and bindings).
| Flag | Type | Default | Description |
|---|---|---|---|
--file <path> | string | .eve/access.yaml | Path to access YAML file |
--org <org_id> | string | Profile default | Org to sync to |
--yes | boolean | false | Skip confirmation prompt |
--prune | boolean | false | Delete roles/bindings that exist in the org but not in the YAML |
--json | boolean | false | Output sync result as JSON |
Examples:
eve access sync --org org_xxx
eve access sync --org org_xxx --yes
eve access sync --org org_xxx --prune --yes
eve access sync --file .eve/access.yaml --org org_xxx --json
eve admin
Administrative commands for user, identity, and platform operations.
eve admin <subcommand> [options]
eve admin users
List platform users with org and project memberships (system admin).
eve admin users [--json]
Output includes user email, display name, admin status, org memberships, project memberships, and creation date.
Examples:
eve admin users
eve admin users --json
eve admin invite
Invite a user by registering their GitHub SSH keys and adding them to an org.
| Flag | Type | Default | Description |
|---|---|---|---|
--email <email> | string | — | User email address (required) |
--github <username> | string | — | GitHub username to fetch SSH keys from |
--role <role> | string | member | Org role: owner, admin, member |
--org <org_id> | string | Profile default | Organization to add user to |
Examples:
eve admin invite --email user@example.com --github octocat
eve admin invite --email user@example.com --github octocat --role admin --org org_xxx
eve admin ingress-aliases
Inspect and reclaim ingress alias claims (system admin).
eve admin ingress-aliases <list|reclaim> [options]
List options: --alias <name>, --project <id>, --environment <id|null>, --limit <n>, --offset <n>
Reclaim usage: eve admin ingress-aliases reclaim <alias> --reason "<text>"
Examples:
eve admin ingress-aliases list --project proj_xxx
eve admin ingress-aliases reclaim eve-pm --reason "Reserved org rename"
eve admin access-requests
List or act on pending self-service access requests.
eve admin access-requests <list|approve|reject> [request_id] [options]
| Flag | Type | Default | Description |
|---|---|---|---|
--org <org_id> | string | Profile default | Organization scope |
--request-id <id> | string | — | Request identifier for approve/reject |
--limit <n> | number | 20 | Max items |
--offset <n> | number | 0 | Page offset |
--reason <text> | string | — | Rejection reason |
Examples:
eve admin access-requests list --org org_xxx
eve admin access-requests approve req_xxx
eve admin access-requests reject req_xxx --reason "Invalid identity proof"
eve admin pricing
View model pricing and exchange-rate settings (admin scope).
eve admin pricing [--org <org_id>]
eve admin balance
Show organization or platform wallet balances (admin scope).
eve admin balance [--org <org_id>]
eve admin usage
View usage statistics for billing and quota analysis (admin scope).
eve admin usage [--org <org_id>] [--window <duration>] [--json]
eve admin receipts
List or fetch billing receipts for an organization (admin scope).
eve admin receipts --org org_xxx [--limit <n>] [--offset <n>]
eve admin models
Manage platform model enablement and provider configuration.
eve admin models <list|enable|disable> [flags]
Examples:
eve admin models list
eve admin models enable claude-3-7-sonnet
eve admin models disable gpt-4.1-nano
eve agents
Inspect agent policy config and harness capabilities for orchestration. Default profile: primary-orchestrator.
eve agents <config|sync|runtime-status> [options]
eve agents config
Show agent policy (profiles/councils) and harness availability.
| Flag | Type | Default | Description |
|---|---|---|---|
--path <dir> | string | cwd | Repository root to inspect |
--repo-dir <dir> | string | — | Alias for --path |
--no-harnesses | boolean | false | Skip harness availability lookup |
Examples:
eve agents config
eve agents config --json
eve agents config --path ../my-repo
eve agents sync
Sync agents.yaml/teams.yaml/chat.yaml to the API, and sync pack-defined workflows through the manifest endpoint when present.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--ref <ref> | string | — | Git ref to sync (required unless --local) |
--local | boolean | false | Allow local sync (only for localhost/lvh.me API) |
--allow-dirty | boolean | false | Allow syncing a dirty working tree |
--repo-dir <path> | string | cwd | Repository root |
--force-nonlocal | boolean | false | Allow --local against non-local API URL |
Examples:
eve agents sync --project proj_xxx --ref main
eve agents sync --project proj_xxx --ref HEAD
eve agents sync --project proj_xxx --local --allow-dirty
When x-eve.packs are resolved, eve agents sync now also uploads merged workflow definitions (workflows) and merged x_eve fragments (for example profiles) to the project manifest.
eve agents runtime-status
Show agent runtime status for an org.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
Examples:
eve agents runtime-status --org org_xxx
eve agents runtime-status --json
eve analytics
View org-wide analytics: job counts, pipeline success rates, and environment health.
eve analytics <subcommand> [options]
eve analytics summary
Org-wide activity summary (jobs, pipelines, environments).
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
--window <duration> | string | 7d | Time window (e.g., 7d, 24h, 30d) |
--json | boolean | false | Output raw JSON |
Examples:
eve analytics summary --org org_xxx
eve analytics summary --org org_xxx --window 30d
eve analytics summary --org org_xxx --json
eve analytics jobs
Job breakdown for the given time window.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
--window <duration> | string | 7d | Time window |
--json | boolean | false | Output raw JSON |
Examples:
eve analytics jobs --org org_xxx
eve analytics jobs --org org_xxx --window 24h --json
eve analytics pipelines
Pipeline success rates and durations.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
--window <duration> | string | 7d | Time window |
--json | boolean | false | Output raw JSON |
Examples:
eve analytics pipelines --org org_xxx
eve analytics pipelines --org org_xxx --window 30d
eve analytics env-health
Current environment health snapshot.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
--json | boolean | false | Output raw JSON |
Examples:
eve analytics env-health --org org_xxx
eve analytics env-health --org org_xxx --json
eve api
Explore project API sources and call them with Eve auth.
eve api <subcommand> [options]
eve api list
List API sources for a project.
| Flag | Type | Default | Description |
|---|---|---|---|
<project> | string | Profile default | Project ID |
--env <name> | string | — | Environment name (optional filter) |
Examples:
eve api list
eve api list proj_xxx --env staging
eve api show
Show details for a single API source.
| Flag | Type | Default | Description |
|---|---|---|---|
--env <name> | string | — | Environment name (optional filter) |
Examples:
eve api show app
eve api show app proj_xxx --env staging
eve api spec
Show cached API spec (OpenAPI/GraphQL).
| Flag | Type | Default | Description |
|---|---|---|---|
--env <name> | string | — | Environment name (optional filter) |
Examples:
eve api spec app
eve api spec app proj_xxx --env staging
eve api refresh
Refresh cached API spec.
| Flag | Type | Default | Description |
|---|---|---|---|
--env <name> | string | — | Environment name (optional filter) |
Examples:
eve api refresh app --env staging
eve api examples
Print curl templates from the cached API spec.
| Flag | Type | Default | Description |
|---|---|---|---|
--env <name> | string | — | Environment name (optional filter) |
Examples:
eve api examples app
eve api examples app --env staging
eve api call
Call an API endpoint with Eve auth.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--env <name> | string | — | Environment name (optional source) |
--json <payload> | string | — | JSON body inline or @file |
--data <payload> | string | — | Alias for --json (curl-style) |
-d <payload> | string | — | Shorthand alias for --json |
--jq <expr> | string | — | Filter JSON output with jq |
--graphql <query> | string | — | GraphQL query inline or @file |
--variables <json> | string | — | JSON variables for GraphQL query |
--token <token> | string | — | Override auth token |
--print-curl | boolean | false | Print curl command instead of executing |
Examples:
eve api call app GET /notes --jq ".items"
eve api call app POST /notes --json '{"title":"Hello"}'
eve api call app POST /notes --data '{"title":"Hello"}'
eve api call graphql POST /graphql --graphql "{ notes { id } }"
eve api generate
Export the API OpenAPI spec from the server.
| Flag | Type | Default | Description |
|---|---|---|---|
--out <dir> | string | docs/system | Output directory |
Examples:
eve api generate
eve api generate --out ./tmp/openapi
eve api diff
Diff generated OpenAPI spec against the repo copy.
| Flag | Type | Default | Description |
|---|---|---|---|
--exit-code | boolean | false | Exit non-zero when drift detected |
--out <dir> | string | docs/system | Directory containing expected spec |
Examples:
eve api diff --exit-code
eve auth
Authenticate with Eve Horizon. Auth is optional for local development but required for cloud deployments. Credentials are stored globally per API URL.
eve auth <login|logout|status|whoami|bootstrap|sync|creds|token|mint|permissions>
eve auth login
Login via GitHub SSH challenge (default) or Supabase (legacy).
| Flag | Type | Default | Description |
|---|---|---|---|
--email <email> | string | Profile default_email | Email address for SSH login |
--user-id <id> | string | — | User id for SSH login |
--ssh-key <path> | string | Profile default_ssh_key | Path to SSH private key (when omitted, the CLI auto-discovers keys in ~/.ssh/, preferring id_ed25519, then id_ecdsa, then id_rsa) |
--ttl <days> | number | Server configured | Token TTL in days (1-90) |
--password <pass> | string | — | Supabase password (triggers Supabase login) |
--supabase-url <url> | string | — | Supabase URL |
--supabase-anon-key <key> | string | — | Supabase anon key |
Examples:
eve auth login --email user@example.com
eve auth login --email user@example.com --ttl 30
eve auth login # uses profile defaults if set
eve auth login --ssh-key ~/.ssh/id_rsa
If auto-discovery is used, the CLI prints which SSH key succeeded.
eve auth logout
Clear stored credentials.
eve auth logout
eve auth status
Check authentication status.
eve auth status
eve auth request-access
Submit or check self-service access requests.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization to request access for |
--email <email> | string | — | Requesting user email |
--ssh-key <path> | string | ~/.ssh/id_ed25519.pub | SSH public key for bootstrap |
--nostr-pubkey <hex> | string | — | Nostr identity key |
--role <role> | string | member | Requested organization role |
--status <request_id> | string | — | Poll request status (optional) |
--wait | boolean | false | Poll until request is processed |
Examples:
eve auth request-access --org org_xxx --email you@example.com
eve auth request-access --org org_xxx --ssh-key ~/.ssh/id_ed25519.pub
eve auth request-access --org org_xxx --nostr-pubkey 9a...
eve auth request-access --status req_xxx
eve auth whoami
Show current user info.
eve auth whoami
eve auth token
Print the current access token to stdout for sharing with reviewers or use in scripts.
| Flag | Type | Default | Description |
|---|---|---|---|
--print | boolean | true | Explicitly request token print (default behavior) |
Examples:
eve auth token
TOKEN=$(eve auth token)
curl -H "Authorization: Bearer $(eve auth token)" https://api.example.com
eve auth token | pbcopy # Copy to clipboard
eve auth mint
Mint a user token (admin-only, no SSH login required).
| Flag | Type | Default | Description |
|---|---|---|---|
--email <email> | string | — | Target user email (created if missing) |
--org <org_id> | string | — | Org scope for membership and permission checks |
--project <id> | string | — | Project scope for membership and permission checks |
--role <role> | string | member | Role to assign: member, admin |
--ttl <days> | number | Server configured | Token TTL in days (1-90) |
Examples:
eve auth mint --email app-bot@example.com --org org_xxx
eve auth mint --email app-bot@example.com --project proj_xxx
eve auth mint --email app-bot@example.com --project proj_xxx --role admin
eve auth mint --email bot@example.com --org org_xxx --ttl 90
eve auth create-service-account
Create a service account for CI/CD automation.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <org_id> | string | — | Organization for the service account |
--name <name> | string | — | Service account name |
--role <role> | string | member | Service account role |
--description <text> | string | — | Optional description |
Examples:
eve auth create-service-account --org org_xxx --name "ci-bot"
eve auth create-service-account --org org_xxx --name "release-bot" --role admin
eve auth list-service-accounts
List service accounts for an organization.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <org_id> | string | Profile default | Organization to list from |
--limit <n> | number | 100 | Maximum rows |
--offset <n> | number | 0 | Paging offset |
--include-disabled | boolean | false | Include disabled service accounts |
Examples:
eve auth list-service-accounts --org org_xxx
eve auth list-service-accounts --org org_xxx --limit 20
eve auth revoke-service-account
Revoke and delete a service account.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <org_id> | string | Profile default | Organization containing account |
--service-account-id <id> | string | — | Service account ID |
--force | boolean | false | Skip confirmation prompt |
Examples:
eve auth revoke-service-account --org org_xxx --service-account-id sa_xxx
eve auth revoke-service-account --service-account-id sa_xxx --force
eve auth bootstrap
Bootstrap the first admin user with flexible security modes.
| Flag | Type | Default | Description |
|---|---|---|---|
--email <email> | string | — | Admin email address (required for bootstrap) |
--token <token> | string | $EVE_BOOTSTRAP_TOKEN | Bootstrap token (required in secure mode) |
--ssh-key <path> | string | ~/.ssh/id_ed25519.pub | Path to SSH public key |
--display-name <name> | string | — | Display name for the admin user |
--status | boolean | false | Check bootstrap status instead of bootstrapping |
Bootstrap modes (configured server-side via BOOTSTRAP_MODE):
- auto-open — Token not required during initial window (default for new installs)
- recovery — Like auto-open, but for disaster recovery scenarios
- secure — Token always required (recommended for production)
- closed — Bootstrap disabled (use database seeding instead)
Examples:
eve auth bootstrap --status
eve auth bootstrap --email admin@example.com
eve auth bootstrap --email admin@example.com --token secret123
EVE_BOOTSTRAP_TOKEN=secret123 eve auth bootstrap --email admin@example.com
eve auth bootstrap --email admin@example.com --ssh-key ~/.ssh/id_rsa.pub
eve auth sync
Extract OAuth tokens from host and set as Eve secrets.
| Flag | Type | Default | Description |
|---|---|---|---|
--claude | boolean | false | Only extract Claude/Anthropic tokens |
--codex | boolean | false | Only extract Codex/OpenAI tokens |
--org <id> | string | — | Set as org-level secrets |
--project <id> | string | — | Set as project-level secrets |
--dry-run | boolean | false | Show what would be set without actually setting |
Scope priority: --project > --org > user (default). Default scope is user-level, so credentials are available to all your jobs.
Examples:
eve auth sync # Sync to user-level (default)
eve auth sync --org org_xxx # Sync to org-level
eve auth sync --project proj_xxx # Sync to project-level
eve auth sync --dry-run # Preview without syncing
eve auth creds
Show local AI tool credentials (Claude Code, Codex/Code) without syncing.
| Flag | Type | Default | Description |
|---|---|---|---|
--claude | boolean | false | Only check Claude/Anthropic credentials |
--codex | boolean | false | Only check Codex/OpenAI credentials |
Examples:
eve auth creds
eve auth creds --claude
eve auth creds --json
eve auth permissions
Show the permission matrix (which permissions each role has).
Examples:
eve auth permissions
eve auth permissions --json
eve user
Look up user profiles and memberships.
eve user <show> [user_id|me] [--json]
eve user show
Show a user profile with org and project memberships. Defaults to me when no user_id is provided.
| Flag | Type | Default | Description |
|---|---|---|---|
--json | boolean | false | Output machine-readable JSON |
Examples:
eve user show me
eve user show usr_abc123
eve user show me --json
eve build
Manage builds. Builds are first-class primitives for container image creation (specs, runs, artifacts).
eve build <subcommand> [options]
eve build create
Create a new build spec.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--ref <sha> | string | — | Git SHA (required). Non-SHA refs resolve against the repo in --repo-dir or cwd. |
--manifest-hash <hash> | string | — | Manifest hash (required) |
--services <list> | string | — | Comma-separated service names to build |
--repo-dir <path> | string | cwd | Resolve --ref against this repo instead of cwd |
Examples:
eve build create --ref 0123456789abcdef0123456789abcdef01234567 --manifest-hash mfst_123
eve build create --project proj_xxx --ref 0123456789abcdef0123456789abcdef01234567 \
--manifest-hash mfst_123 --services api,web
eve build create --project proj_xxx --ref main --repo-dir ./my-app --manifest-hash mfst_123
eve build list
List build specs for a project.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--limit <n> | number | — | Number of results |
--offset <n> | number | — | Skip first n results |
Examples:
eve build list
eve build list --project proj_xxx --limit 20
eve build show
Show build spec details.
eve build show build_xxx
eve build run
Start a build run for an existing build spec.
eve build run build_xxx
eve build runs
List runs for a build spec.
| Flag | Type | Default | Description |
|---|---|---|---|
--limit <n> | number | — | Number of results |
--offset <n> | number | — | Skip first n results |
Examples:
eve build runs build_xxx
eve build logs
Show build logs.
| Flag | Type | Default | Description |
|---|---|---|---|
--run <id> | string | Latest | Specific run ID |
--follow | boolean | false | Stream logs in real time |
Examples:
eve build logs build_xxx
eve build logs build_xxx --run brun_yyy
eve build logs build_xxx --follow
eve build artifacts
List build artifacts (images produced).
eve build artifacts build_xxx
eve build diagnose
Show full build state (spec, runs, artifacts, logs).
eve build diagnose build_xxx
eve build cancel
Cancel an active build run.
eve build cancel build_xxx
eve chat
Chat tooling for gateway testing.
eve chat <subcommand> [options]
eve chat simulate
Simulate an inbound chat message.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | — | Project ID (legacy simulate path) |
--provider <name> | string | slack | Provider name |
--team-id <id> | string | — | Slack team ID |
--channel-id <id> | string | — | Channel ID |
--user-id <id> | string | — | User ID |
--thread-id <id> | string | — | Thread ID override (--thread-key alias supported) |
--external-email <email> | string | — | External identity email hint for routing |
--dedupe-key <key> | string | — | Deterministic deduplication key |
--event-type <type> | string | — | Provider event type override |
--metadata <json> | string | — | Legacy metadata JSON (external_email supported) |
Examples:
eve chat simulate --team-id T123 --text "hello"
eve chat simulate --team-id T123 --text "hello" --external-email user@example.com
eve chat simulate --project proj_xxx --team-id T123 --text "hello" # legacy path
When --project is set, the CLI uses the legacy project simulate endpoint. Without --project, it uses the gateway simulate endpoint (/gateway/providers/simulate).
eve db
Inspect and query environment databases with Eve auth + RLS.
eve db <subcommand> [options]
eve db schema
Show database schema for an environment.
| Flag | Type | Default | Description |
|---|---|---|---|
--env <name> | string | — | Environment name |
--url <postgres-url> | string | — | Direct Postgres connection |
--project <id> | string | Profile default | Project ID |
Examples:
eve db schema --env staging
eve db schema --url postgres://app:secret@localhost:5432/myapp
eve db rls
Show RLS policies or scaffold helper SQL.
| Flag | Type | Default | Description |
|---|---|---|---|
--env <name> | string | — | Environment name (required for inspect mode) |
--with-groups | boolean | false | Generate app.current_group_ids()/app.has_group() helper SQL (init mode) |
--out <path> | string | db/rls/helpers.sql | Output file for init mode |
--force | boolean | false | Overwrite output file when it already exists |
Examples:
eve db rls --env staging
eve db rls init --with-groups
eve db sql
Run parameterized SQL as the calling user.
| Flag | Type | Default | Description |
|---|---|---|---|
--env <name> | string | — | Environment name |
--url <postgres-url> | string | — | Direct Postgres connection |
--sql <statement> | string | — | SQL to run (inline) |
--file <path> | string | — | Read SQL from file |
--params <json> | string | — | JSON array/object of parameters |
--write | boolean | false | Allow writes (requires db.write scope) |
Examples:
eve db sql --env staging --sql "select * from notes"
eve db sql --url postgres://app:secret@localhost:5432/myapp --sql "select 1"
eve db sql --env staging --file ./query.sql --params "[1]"
eve db migrate
Apply pending migrations.
eve db migrate --env staging
eve db migrate --url postgres://app:secret@localhost:5432/myapp
eve db migrations
List applied migrations.
eve db migrations --env <name>|--url <postgres-url> [--project <id>]
eve db reset
Reset schema and optionally re-apply migrations.
eve db reset --env <name>|--url <postgres-url> --force [--no-migrate] [--skip-snapshot] [--project <id>]
eve db wipe
Alias for reset with --no-migrate.
eve db wipe --env <name>|--url <postgres-url> --force [--project <id>]
eve db destroy
Destroy a managed environment database.
eve db destroy --env <name> --force [--skip-snapshot] [--project <id>]
eve db snapshot
Create, inspect, delete, or download database snapshots.
Snapshot create:
eve db snapshot --env <name> [--retention <policy>] [--project <id>]
Snapshot show:
eve db snapshot show <snapshot_id> [--env <name>] [--project <id>]
Snapshot delete:
eve db snapshot delete <snapshot_id> [--env <name>] --force [--project <id>]
Snapshot download URL:
eve db snapshot download <snapshot_id> --output <path> [--env <name>] [--project <id>]
eve db snapshots
List snapshots for an environment.
| Flag | Type | Default | Description |
|---|---|---|---|
--env <name> | string | — | Environment name |
--status <state> | string | — | Filter snapshots by status |
--limit <n> | integer | API default | Maximum snapshots to return |
--project <id> | string | Profile default | Project ID |
eve db snapshots --env <name> [--status <state>] [--limit <n>] [--project <id>]
eve db restore
Restore an environment database from a snapshot.
| Flag | Type | Default | Description |
|---|---|---|---|
--env <name> | string | — | Target environment to restore |
--snapshot <id> | string | — | Snapshot ID to restore from |
--force | boolean | false | Required confirmation flag |
--source-env <name> | string | — | Optional source environment for cross-env restore |
--source-project <id> | string | — | Optional source project for cross-project restore |
--skip-safety-snapshot | boolean | false | Skip pre-restore safety snapshot |
--project <id> | string | Profile default | Project ID |
eve db restore --env <name> --snapshot <id> --force [--source-env <name>] [--source-project <id>] [--skip-safety-snapshot] [--project <id>]
eve db backup-status
Show backup schedule and snapshot protection settings for an environment.
eve db backup-status --env <name> [--project <id>]
eve docs
Manage org documents (versioned).
eve docs <subcommand> [options]
eve docs write
Create or update an org document.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
--path <path> | string | — | Document path (required) |
--file <path> | string | — | Read content from file |
--stdin | boolean | false | Read content from stdin |
--project <id> | string | — | Project ID to associate |
--metadata <json> | string | — | Document metadata JSON |
--review-in <dur> | string | — | Set review_due from now (e.g., 30d) |
--review-due <iso> | string | — | Set explicit review_due timestamp |
--expires-in <dur> | string | — | Set expires_at from now (e.g., 14d) |
--expires-at <iso> | string | — | Set explicit expires_at timestamp |
--lifecycle-status <s> | string | — | Lifecycle status override |
Examples:
eve docs write --org org_xxx --path /pm/features/FEAT-123.md --file ./feat.md
eve docs write --org org_xxx --path /agents/reviewer/memory/learnings/auth.md \
--file ./auth.md --review-in 30d
eve docs read
Read a document (optionally pinned to a version).
eve docs read --org <org_id> --path <doc_path> [--version <n>]
Examples:
eve docs read --org org_xxx --path /pm/features/FEAT-123.md --version 3
eve docs show
Show document metadata (verbose includes version info).
eve docs show --org <org_id> --path <doc_path> [--verbose]
eve docs list
List documents by path prefix.
eve docs list --org <org_id> [--path <prefix>] [--tree] [--json]
eve docs search
Full-text search documents.
eve docs search --org <org_id> --query <text> [--limit <n>] [--mode text|semantic|hybrid] [--path <prefix>] [--context <n>]
eve docs stale
List stale documents by review_due age.
eve docs stale --org <org_id> [--overdue-by 7d] [--prefix <path>] [--limit <n>]
Examples:
eve docs stale --org org_xxx --overdue-by 7d
eve docs review
Mark a document reviewed and set next review date.
eve docs review --org <org_id> --path <doc_path> --next-review <duration|iso>
Examples:
eve docs review --org org_xxx --path /agents/reviewer/memory/learnings/auth.md --next-review 30d
eve docs versions
List document versions.
eve docs versions --org <org_id> --path <doc_path> [--limit <n>] [--offset <n>]
Examples:
eve docs versions --org org_xxx --path /pm/features/FEAT-123.md
eve docs query
Structured metadata query.
eve docs query --org <org_id> [--path-prefix <prefix>] --where "metadata.foo eq bar"
Examples:
eve docs query --org org_xxx --where "metadata.feature_status in draft,review"
eve docs delete
Delete a document.
eve docs delete --org <org_id> --path <doc_path>
eve docs patch
Surgical document edits using search/replace operations.
eve docs patch --org <org_id> --path <doc_path> --replace "search" "replacement"
eve docs patch --org <org_id> --path <doc_path> --append "content"
eve docs patch --org <org_id> --path <doc_path> --insert-after "anchor" "content"
eve docs patch --org <org_id> --path <doc_path> --operations '<json>'
| Flag | Type | Default | Description |
|---|---|---|---|
--replace <search> <replace> | string | — | Search and replace text |
--append <content> | string | — | Append content to end of document |
--insert-after <anchor> <content> | string | — | Insert content after anchor text |
--operations <json> | string | — | Raw JSON array of patch operations |
Simple flags and --operations are mutually exclusive. Returns the updated document with current_version and content_hash.
Examples:
eve docs patch --org org_xxx --path /wiki/state.yaml --replace "health: green" "health: amber"
eve docs patch --org org_xxx --path /wiki/state.yaml --insert-after "signals:" $'\n - paging active'
eve docs diff
Show changes between document versions.
eve docs diff --org <org_id> --path <doc_path> [--from <n>] [--to <n>] [--unified]
| Flag | Type | Default | Description |
|---|---|---|---|
--from <n> | number | latest-1 | Starting version number |
--to <n> | number | latest | Ending version number |
--unified | boolean | false | Force unified diff format |
--json | boolean | false | Machine-readable output |
Examples:
eve docs diff --org org_xxx --path /wiki/state.yaml # Latest vs previous
eve docs diff --org org_xxx --path /wiki/state.yaml --from 1 --to 5 # Specific range
eve docs list --tree
Render document hierarchy as a tree.
eve docs list --org <org_id> [--path <prefix>] --tree [--json]
--tree renders a human-readable directory tree. --tree --json returns nested JSON nodes with name, type (directory/document), and path (for documents).
Examples:
eve docs list --org org_xxx --path /wiki --tree
# └── wiki/
# ├── operating-model/
# │ ├── mission.md
# │ └── outcomes/
# │ └── first-deploy.md
# └── world-model/
# └── state.yaml
eve docs search (enhanced)
Search now supports path prefix filtering and context lines.
| Flag | Type | Default | Description |
|---|---|---|---|
--path <prefix> | string | — | Restrict results to path prefix |
--context <n> | number | — | Include N surrounding lines from each match |
Examples:
eve docs search --org org_xxx --query "error rate" --path /world-model --context 3
eve docs write-dir
Bulk write documents from a local directory.
eve docs write-dir --org <org_id> --source <dir> [--path-prefix <prefix>]
Maps each file in --source to a document path under --path-prefix. Hidden files (dotfiles) are skipped.
eve docs sync
Synchronize a local directory with org documents.
eve docs sync --org <org_id> --source <dir> --path-prefix <prefix> [--dry-run] [--delete]
| Flag | Type | Default | Description |
|---|---|---|---|
--dry-run | boolean | false | Report changes without mutating |
--delete | boolean | false | Remove remote docs not found locally |
--delete is never the default — remote documents are only removed when explicitly requested. Always use --dry-run first.
eve docs watch
Stream document change events as NDJSON.
eve docs watch --org <org_id> [--path <prefix>] [--since now|5m|<iso>] [--project <id>]
Polls the events API for system.doc.created, system.doc.updated, and system.doc.deleted events. Filters by --path prefix. Outputs one JSON object per line.
Examples:
eve docs watch --org org_xxx --path /world-model --since now
# {"type":"system.doc.updated","path":"/world-model/state.yaml","version":42,"updated_at":"...","content_hash":"..."}
eve domain
Manage custom domains for Eve-deployed apps. Domains are declared in the manifest under x-eve.ingress.domains and registered during eve project sync.
eve domain <subcommand> [options]
eve domain list
List custom domains for a project.
| Flag | Type | Default | Description |
|---|---|---|---|
--project | string | context | Project ID |
--json | boolean | false | JSON output |
eve domain list --project proj_xxx
# HOSTNAME SERVICE STATUS VERIFIED
# limelee.com web active 2026-03-28
# www.limelee.com web pending_dns -
eve domain verify
Check DNS resolution and show activation status. If DNS is verified, the domain transitions toward active.
| Flag | Type | Default | Description |
|---|---|---|---|
--project | string | context | Project ID |
eve domain verify limelee.com --project proj_xxx
# Domain: limelee.com
# Status: active
# ✓ Domain is active and serving traffic
# URL: https://limelee.com
When DNS isn't ready, shows instructions:
- Apex domains (e.g.,
limelee.com): add an A record to the platform ingress IP - Subdomains (e.g.,
www.limelee.com): add a CNAME to the platform ingress hostname
eve domain status
Show detailed domain information.
| Flag | Type | Default | Description |
|---|---|---|---|
--project | string | context | Project ID |
eve domain status limelee.com --project proj_xxx
# Domain: limelee.com
# Status: active
# Service: web
# Environment: env_xxx
# Ingress: prod-web-cd-limelee-com
# Verified: 2026-03-28T10:15:00.000Z
eve domain remove
Remove a custom domain. The K8s Ingress is garbage-collected on next deploy.
| Flag | Type | Default | Description |
|---|---|---|---|
--project | string | context | Project ID |
--json | boolean | false | JSON output |
eve domain remove www.limelee.com --project proj_xxx
# ✓ Removed custom domain: www.limelee.com
eve env
Manage environments for projects. Environments are deployment targets (staging, production, test).
eve env <subcommand> [options]
eve env list
List environments for a project.
| Flag | Type | Default | Description |
|---|---|---|---|
<project> | string | Profile default | Project ID or slug |
Examples:
eve env list
eve env list proj_xxx
eve env show
Show details of an environment.
eve env show proj_xxx staging
eve env show my-project production
eve env create
Create an environment.
| Flag | Type | Default | Description |
|---|---|---|---|
<name> | string | — | Environment name (e.g., staging, production, test) |
--type <type> | string | — | Environment type: persistent or temporary (required) |
--namespace <ns> | string | — | K8s namespace (optional) |
--db-ref <ref> | string | — | Database reference (optional) |
--project <id> | string | Profile default | Project ID |
Examples:
eve env create staging --type=persistent
eve env create test --type=persistent --namespace=eve-test
eve env suspend
Suspend environment reconciliation and stop auto-deploys.
| Flag | Type | Default | Description |
|---|---|---|---|
<env> | string | — | Environment name |
--project <id> | string | Profile default | Project ID |
Examples:
eve env suspend staging
eve env resume
Resume a suspended environment.
| Flag | Type | Default | Description |
|---|---|---|---|
<env> | string | — | Environment name |
--project <id> | string | Profile default | Project ID |
Examples:
eve env resume staging
eve env health
Check environment readiness status without logs.
| Flag | Type | Default | Description |
|---|---|---|---|
<project> | string | — | Project ID or slug |
<env> | string | — | Environment name |
--json | boolean | false | Output machine-readable JSON |
Examples:
eve env health proj_xxx staging
eve env health proj_xxx staging --json
eve env deploy
Deploy to an environment.
| Flag | Type | Default | Description |
|---|---|---|---|
<env> | string | — | Environment name |
--ref <sha> | string | — | Git SHA (choose one: --ref or --release-tag) |
--release-tag <tag> | string | — | Deploy an existing release by tag |
--direct | boolean | false | Bypass pipeline and do direct deploy |
--inputs <json> | string | — | JSON inputs for the deployment |
--image-tag <tag> | string | — | Use a specific image tag for deploy (direct only) |
--repo-dir <path> | string | cwd | Resolve --ref against this repo instead of cwd |
--skip-preflight | boolean | false | Skip deploy image preflight checks |
--project <id> | string | Profile default | Project ID or slug |
--watch | boolean | true | Poll deployment status until ready |
--timeout <seconds> | number | 120 | Watch timeout in seconds |
Examples:
eve env deploy staging --ref 0123456789abcdef0123456789abcdef01234567
eve env deploy staging --release-tag v1.2.3
eve env deploy staging --ref 0123456789abcdef0123456789abcdef01234567 --direct
eve env deploy staging --ref main --repo-dir ./my-app
eve env rollback
Roll back an environment to a known release.
| Flag | Type | Default | Description |
|---|---|---|---|
<env> | string | — | Environment name |
--release <ref> | string | — | Release ID, release tag, or "previous" |
--project <id> | string | Profile default | Project ID |
--skip-preflight | boolean | false | Skip deploy image preflight checks |
Examples:
eve env rollback staging --release previous
eve env rollback staging --release rel_xxx --project proj_xxx
eve env reset
Reset an environment (cancel runs, teardown workloads, redeploy release).
| Flag | Type | Default | Description |
|---|---|---|---|
<env> | string | — | Environment name |
--release <ref> | string | Current release | Optional release override |
--project <id> | string | Profile default | Project ID |
--force | boolean | false | Required for non-production persistent envs |
--danger-reset-production | boolean | false | Required for production envs |
--skip-preflight | boolean | false | Skip deploy image preflight checks |
Examples:
eve env reset staging --force
eve env reset production --danger-reset-production --release v1.2.3
eve env recover
Analyze environment issues and suggest the next recovery command.
eve env recover proj_xxx staging
eve env diagnose
Diagnose environment deployments (k8s-only).
| Flag | Type | Default | Description |
|---|---|---|---|
<project> | string | — | Project ID or slug |
<env> | string | — | Environment name |
--events <n> | number | — | Limit number of recent events |
Examples:
eve env diagnose proj_xxx staging
eve env diagnose proj_xxx staging --events 20
eve env services
Show per-service pod status summary (k8s-only).
eve env services proj_xxx staging
eve env logs
Fetch logs for a service in an environment (k8s-only).
| Flag | Type | Default | Description |
|---|---|---|---|
<project> | string | — | Project ID or slug |
<env> | string | — | Environment name |
<service> | string | — | Service name from manifest |
--since <seconds> | number | — | Seconds since now |
--tail <n> | number | — | Tail line count |
--grep <text> | string | — | Filter lines containing text |
--pod <name> | string | — | Specific pod name |
--container <name> | string | — | Specific container name |
--previous | boolean | false | Use previous container logs |
--all-pods | boolean | false | Fetch logs for all matching pods |
Examples:
eve env logs proj_xxx staging api --tail 200
eve env logs proj_xxx staging api --since 3600 --grep ERROR
eve env logs proj_xxx staging api --all-pods
eve env delete
Delete an environment.
| Flag | Type | Default | Description |
|---|---|---|---|
<name> | string | — | Environment name to delete |
--project <id> | string | Profile default | Project ID |
--force | boolean | false | Skip confirmation prompt |
--danger-delete-production | boolean | false | Required for production envs |
Examples:
eve env delete test
eve env delete staging --project=proj_xxx
eve env delete old-env --force
eve endpoint
Register, inspect, and diagnose private endpoints backed by Tailscale. Endpoints make internal services reachable from the Eve cluster over a Tailscale connection.
eve endpoint <subcommand> [options]
eve endpoint add
Register a new private endpoint.
| Flag | Type | Default | Description |
|---|---|---|---|
--name <name> | string | — | Endpoint name (required) |
--tailscale-hostname <fqdn> | string | — | Tailscale fully-qualified hostname (required) |
--port <port> | number | — | Port number 1-65535 (required) |
--org <org_id> | string | Profile default | Organization scope |
--health-path <path> | string | — | Health check path (use none to disable) |
Examples:
eve endpoint add --name my-llm --tailscale-hostname my-host.ts.net --port 8080 --org org_xxx
eve endpoint add --name gpu-api --tailscale-hostname gpu.ts.net --port 443 --health-path /healthz
On success the command prints the cluster URL and a suggested eve secrets set command for wiring it into your services.
eve endpoint list
List private endpoints for an org.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <org_id> | string | Profile default | Organization scope |
Examples:
eve endpoint list --org org_xxx
eve endpoint show
Show details for a single endpoint.
| Flag | Type | Default | Description |
|---|---|---|---|
--verbose | boolean | false | Run and display a live health check |
Examples:
eve endpoint show my-llm --org org_xxx
eve endpoint show my-llm --org org_xxx --verbose
eve endpoint remove
Remove a registered endpoint.
eve endpoint remove my-llm --org org_xxx
eve endpoint health
Run a health check against a registered endpoint.
eve endpoint health my-llm --org org_xxx
eve endpoint diagnose
Run diagnostics on an endpoint (connectivity, DNS resolution, health probe).
eve endpoint diagnose my-llm --org org_xxx
eve event
Emit and inspect events. Apps use this to participate in the Event Ecosystem.
eve event <subcommand> [options]
eve event list
List events for a project.
| Flag | Type | Default | Description |
|---|---|---|---|
<project> | string | Profile default | Project ID or slug |
--type <type> | string | — | Filter by event type (e.g., github.push, app.deploy.complete) |
--source <source> | string | — | Filter by source (e.g., github, cron, app) |
--status <status> | string | — | Filter by status: pending, processed, failed |
--limit <n> | number | — | Number of results |
--offset <n> | number | — | Skip first n results |
Examples:
eve event list
eve event list --type app.deploy.complete --source app
eve event show
Show event details.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
Examples:
eve event show evt_xxx
eve event show evt_xxx --project proj_yyy
eve event emit
Emit an event to trigger pipelines or notify other services.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | — | Project ID (required) |
--type <type> | string | — | Event type (e.g., app.build.complete) |
--source <source> | string | — | Event source (e.g., app, ci, manual) |
--env <name> | string | — | Environment name |
--ref-branch <branch> | string | — | Git branch reference |
--ref-sha <sha> | string | — | Git commit SHA |
--actor-type <type> | string | user | Actor kind (user, system, app) |
--actor-id <id> | string | — | Actor identifier |
--dedupe-key <key> | string | — | Idempotency key for deduplicating events |
--mutation-id <id> | string | — | External mutation identifier |
--request-id <id> | string | — | Upstream request identifier |
--payload <json> | string | — | JSON payload with event data |
Examples:
eve event emit --project proj_xxx --type app.build.complete --source app
eve event emit --project proj_xxx --type deploy.finished --source ci \
--env production --ref-branch main --payload '{"version":"1.2.3"}'
eve fs
Manage org filesystem sync links, share links, public path prefixes, and diagnostics.
eve fs <sync|share|shares|revoke|publish|public-paths> [options]
eve fs sync
Org filesystem sync operations.
eve fs sync <init|status|logs|pause|resume|disconnect|mode|conflicts|resolve|doctor> [options]
| Subcommand | Flags |
|---|---|
init | --org <id> --local <path> [--mode two-way|push-only|pull-only] [--include <glob>] [--exclude <glob>] [--remote-path <path>] [--device-name <name>] |
status | --org <id> |
logs | --org <id> [--after <seq>] [--limit <n>] [--follow] |
pause | --org <id> [--link <link_id>] |
resume | --org <id> [--link <link_id>] |
disconnect | --org <id> [--link <link_id>] |
mode | --org <id> --set <two-way|push-only|pull-only> [--link <link_id>] |
conflicts | --org <id> [--open-only] |
resolve | --org <id> --conflict <id> --strategy <pick-remote|pick-local|manual> |
doctor | --org <id> |
Examples:
eve fs sync init --org org_xxx --local ~/Eve/acme --mode two-way \
--include "docs/**" --exclude ".git/**" --device-name laptop-01
eve fs sync status --org org_xxx
eve fs sync logs --org org_xxx --follow
eve fs sync mode --org org_xxx --set pull-only
eve fs sync doctor --org org_xxx
eve fs share
Create a time-limited share URL for an org filesystem path.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization scope |
--expires <duration> | string | Server default | Expiry duration (for example 1h, 7d) |
--label <text> | string | — | Human-readable label |
--json | boolean | false | Output full share payload as JSON |
Examples:
eve fs share /test/scenario-26.md --org org_xxx --expires 1h
eve fs share /docs/roadmap.md --org org_xxx --label "External review"
eve fs share /docs/roadmap.md --org org_xxx --json
eve fs shares
List active share tokens for an org.
eve fs shares --org org_xxx [--json]
eve fs revoke
Revoke an active share token.
eve fs revoke <token> --org org_xxx [--json]
eve fs publish
Publish a path prefix for tokenless public access.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization scope |
--label <text> | string | — | Human-readable label for the published prefix |
--json | boolean | false | Output result as JSON |
Examples:
eve fs publish /test/ --org org_xxx --label "Public test area"
eve fs publish /assets/ --org org_xxx --json
eve fs public-paths
List currently published public path prefixes.
eve fs public-paths --org org_xxx [--json]
eve github
Configure and verify project-level GitHub webhook integration.
eve github <setup|status|test> [--project <id>]
eve github setup
Generate or rotate webhook configuration for a project. Attempts to auto-create/update the webhook using gh when available; otherwise prints manual instructions.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--regenerate | boolean | false | Rotate webhook secret |
Examples:
eve github setup --project proj_xxx
eve github setup --project proj_xxx --regenerate
eve github status
Show whether GitHub webhook integration is configured for the project.
eve github status --project proj_xxx
eve github test
Emit a test GitHub event for trigger validation.
eve github test --project proj_xxx
eve harness
Inspect available harnesses, variants, and auth status.
eve harness <subcommand> [options]
eve harness list
List available harnesses.
| Flag | Type | Default | Description |
|---|---|---|---|
--capabilities | boolean | false | Show model/reasoning capability hints |
Examples:
eve harness list
eve harness list --capabilities
eve harness get
Get harness details and auth requirements.
eve harness get mclaude
eve init
Initialize a new Eve Horizon project from a template. Downloads the starter template, strips git history, initializes a fresh repo, and installs skills. After init, start your AI coding agent and run the eve-new-project-setup skill to complete configuration.
| Flag | Type | Default | Description |
|---|---|---|---|
[directory] | string | . | Target directory |
--template <url> | string | https://github.com/incept5/eve-horizon-starter | Template repository URL |
--branch <branch> | string | main | Branch to use |
--skip-skills | boolean | false | Skip automatic skill installation |
Examples:
eve init
eve init my-project
eve init my-project --template https://github.com/myorg/my-template
eve init . --branch develop
eve ingest
Upload files for ingest processing and inspect ingest lifecycle records.
eve ingest <file>
eve ingest <create|list|show> [args] [options]
eve ingest create
Create an ingest record, upload the file to the returned presigned URL, and confirm processing.
| Flag | Type | Default | Description |
|---|---|---|---|
[file] | string | — | Path to local file to ingest |
--project <id> | string | Profile default | Project ID |
--title <text> | string | — | Optional user-facing title |
--description <text> | string | — | Optional description/context |
--instructions <text> | string | — | Optional processing guidance |
--tags <a,b> | string | — | Comma-separated tags |
--mime-type <type> | string | Inferred from file extension | Override MIME type |
--source-channel <name> | string | cli | Source marker for downstream processing |
--json | boolean | false | Output response as JSON |
eve ingest <file> is shorthand for eve ingest create <file>.
MIME types are inferred from file extension when --mime-type is not provided. Supported inference now covers:
- Text:
md,txt,csv,html,htm - Structured data:
json,yaml,yml,xml - Documents:
pdf,doc,docx,rtf - Images:
png,jpg,jpeg,gif,webp,svg,tif,tiff - Audio:
mp3,wav,m4a,aac,ogg,opus,flac,wma,amr,m4b,m4r,oga - Video:
mp4,mkv,mov,avi,wmv,webm,flv,m4v,mpeg,mpg,3gp,ogv
eve ingest list
List ingest records for a project.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--status <status> | string | — | Filter by ingest status |
--limit <n> | number | API default | Max items |
--offset <n> | number | API default | Skip first n items |
--json | boolean | false | Output response as JSON |
eve ingest show
Show details for a single ingest record.
| Flag | Type | Default | Description |
|---|---|---|---|
[ingest_id] | string | — | Ingest record ID |
--project <id> | string | Profile default | Project ID |
--json | boolean | false | Output response as JSON |
Examples:
eve ingest ./docs/spec.md
eve ingest create ./audio/meeting.mp3 --title "Weekly sync" --tags notes,meeting
eve ingest list --status processing
eve ingest show ing_abc123 --json
eve identity
Identity linking helpers for external providers.
eve identity <link>
eve identity link
Create a link token for the current user and provider/org pair.
| Flag | Type | Default | Description |
|---|---|---|---|
[provider] | string | — | Provider name (currently slack) |
--org <id> | string | Profile default | Organization ID |
Examples:
eve identity link slack --org org_xxx
eve identity link slack --org org_xxx --json
eve integrations
Manage chat integrations (Slack) for an organization.
eve integrations <subcommand> [options]
eve integrations list
List integrations for an org.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
eve integrations slack
Manage Slack integration setup (connect or install-url).
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | — | Organization ID |
--team-id <id> | string | — | Slack team ID |
--token <token> | string | — | Slack access token (stored in tokens_json) |
--tokens-json <json> | string | — | Raw tokens_json payload |
--status <status> | string | active | Integration status |
--ttl <duration> | string | — | Expiry for install link (e.g., 24h, 7d, 3600) |
The install-url subcommand generates a shareable, time-limited install link. The recipient does not need an Eve login -- they click the link and approve the Slack app. Use --ttl to control how long the link stays valid.
Examples:
eve integrations list --org org_xxx
eve integrations slack connect --org org_xxx --team-id T123 --token xoxb-...
eve integrations slack install-url --org org_xxx
eve integrations slack install-url --org org_xxx --ttl 7d
eve integrations test
Test an integration.
eve integrations test <integration_id>
eve integrations update
Patch integration settings with a single key=value entry.
| Flag | Type | Default | Description |
|---|---|---|---|
<integration_id> | string | — | Integration ID |
--org <id> | string | Profile default | Organization ID |
--setting <key=value> | string | — | Setting update (for example admin_channel_id=C12345) |
Examples:
eve integrations update int_xxx --org org_xxx --setting admin_channel_id=C12345
eve job
Manage jobs. Jobs are units of work executed by AI agents against a project's repo.
Phase lifecycle: idea > backlog > ready > active > review > done (or cancelled). Jobs default to ready phase, making them immediately schedulable.
eve job <subcommand> [options]
eve job create
Create a new job.
Core options:
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--description <text> | string | — | Work description/prompt (required) |
--title <text> | string | Auto-generated | Title |
--parent <id> | string | — | Parent job ID (for sub-jobs) |
--type <type> | string | task | Issue type: task, bug, feature, epic, chore |
--priority <0-4> | number | 2 | Priority P0-P4 |
--phase <phase> | string | ready | Initial phase |
--review <type> | string | none | Review requirement: none, human, agent |
--labels <a,b,c> | string | — | Comma-separated labels |
--assignee <id> | string | — | Assign to agent/user |
--defer-until <date> | string | — | Hide until date (ISO 8601) |
--due-at <date> | string | — | Deadline (ISO 8601) |
--env <name> | string | — | Environment name for persistent execution |
--execution-mode <mode> | string | — | Execution mode: persistent, ephemeral |
Harness selection:
| Flag | Type | Default | Description |
|---|---|---|---|
--harness <name> | string | — | Preferred harness, e.g., mclaude |
--profile <name> | string | — | Harness profile name |
--variant <name> | string | — | Harness variant preset |
--model <name> | string | — | Model override for harness |
--reasoning <level> | string | — | Reasoning effort: low, medium, high, x-high |
Scheduling hints:
| Flag | Type | Default | Description |
|---|---|---|---|
--worker-type <type> | string | — | Worker type preference |
--permission <policy> | string | — | Permission policy: default, auto_edit, yolo |
--timeout <seconds> | number | — | Execution timeout |
--resource-class <rc> | string | — | Compute SKU (e.g., job.c1, job.c2) |
Inline execution:
| Flag | Type | Default | Description |
|---|---|---|---|
--claim | boolean | false | Create and immediately claim the job |
--agent <id> | string | $EVE_AGENT_ID | Agent ID for claim |
Git controls:
| Flag | Type | Default | Description |
|---|---|---|---|
--git-ref <ref> | string | — | Target ref (branch, tag, or SHA) |
--git-ref-policy <policy> | string | — | auto, env, project_default, explicit |
--git-branch <branch> | string | — | Branch to create/checkout |
--git-create-branch <mode> | string | — | never, if_missing, always |
--git-commit <policy> | string | — | never, manual, auto, required |
--git-commit-message <text> | string | — | Commit message template |
--git-push <policy> | string | — | never, on_success, required |
--git-remote <remote> | string | origin | Remote to push to |
Workspace options:
| Flag | Type | Default | Description |
|---|---|---|---|
--workspace-mode <mode> | string | job | job, session, isolated |
--workspace-key <key> | string | — | Workspace key for session mode |
Examples:
eve job create --description "Fix the login bug in auth.ts"
eve job create --description "Add dark mode" --priority 1 --harness mclaude
eve job create --parent MyApp-abc123 --description "Implement tokens" --claim
eve job create --description "Feature branch work" \
--git-branch feature/new-api --git-push on_success
eve job list
List jobs in a project.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--all | boolean | false | Admin mode: list across projects |
--org <id> | string | — | Org filter for --all |
--phase <phase> | string | — | Filter by phase |
--assignee <id> | string | — | Filter by assignee |
--priority <n> | number | — | Filter by priority |
--since <time> | string | — | Filter jobs created after time (e.g., 1h, 30m, 2d, or ISO timestamp) |
--stuck | boolean | false | Show only jobs stuck in active phase (no progress for 5+ min) |
--stuck-minutes <n> | number | 5 | Minutes threshold for stuck detection |
--limit <n> | number | 50 | Number of results |
--offset <n> | number | — | Skip first n results |
Examples:
eve job list --phase active
eve job list --since 1h
eve job list --stuck
eve job list --all --org org_xxx
eve job ready
Show schedulable jobs (ready phase, not blocked, not deferred).
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--limit <n> | number | 10 | Number of results |
eve job blocked
Show jobs blocked by dependencies.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
eve job show
Get job details.
| Flag | Type | Default | Description |
|---|---|---|---|
--verbose | boolean | false | Include attempt details, exit codes, durations |
Examples:
eve job show MyApp-abc123
eve job show MyApp-abc123 --verbose
eve job current
Get the current job context (defaults to $EVE_JOB_ID).
| Flag | Type | Default | Description |
|---|---|---|---|
--tree | boolean | false | Render job hierarchy instead of JSON |
Examples:
eve job current
eve job current MyApp-abc123 --tree
eve job diagnose
Comprehensive job debugging (state, attempts, timeline, logs, recommendations).
eve job diagnose MyApp-abc123
eve job tree
Show job hierarchy (parent + children).
eve job tree MyApp-abc123
eve job update
Update job fields.
| Flag | Type | Default | Description |
|---|---|---|---|
--phase <phase> | string | — | Transition phase (validated) |
--priority <n> | number | — | Set priority (0-4) |
--assignee <id> | string | — | Set assignee |
--title <text> | string | — | Update title |
--description <text> | string | — | Update description |
--labels <a,b,c> | string | — | Set labels |
--defer-until <date> | string | — | Set defer date |
--due-at <date> | string | — | Set due date |
--review <type> | string | — | Set review requirement |
--git-ref <ref> | string | — | Target ref |
--git-ref-policy <policy> | string | — | auto, env, project_default, explicit |
--git-branch <branch> | string | — | Branch to create/checkout |
--git-create-branch <mode> | string | — | never, if_missing, always |
--git-commit <policy> | string | — | never, manual, auto, required |
--git-commit-message <text> | string | — | Commit message template |
--git-push <policy> | string | — | never, on_success, required |
--git-remote <remote> | string | origin | Remote to push to |
--workspace-mode <mode> | string | job | job, session, isolated |
--workspace-key <key> | string | — | Workspace key for session mode |
Examples:
eve job update MyApp-abc123 --git-branch feature/work --git-push on_success
eve job update MyApp-abc123 --workspace-mode session --workspace-key session:123
eve job close
Mark job as done.
| Flag | Type | Default | Description |
|---|---|---|---|
--reason <text> | string | — | Completion reason |
eve job close MyApp-abc123 --reason "Completed"
eve job cancel
Mark job as cancelled.
| Flag | Type | Default | Description |
|---|---|---|---|
--reason <text> | string | — | Cancellation reason |
eve job cancel MyApp-abc123 --reason "Superseded by new approach"
eve job dep
Manage job dependencies.
| Subcommand | Description |
|---|---|
add <from> <to> | Add dependency: from depends on to |
remove <from> <to> | Remove dependency |
list <job-id> | Show dependencies and dependents |
Examples:
eve job dep add MyApp-abc123 MyApp-def456
eve job dep list MyApp-abc123
eve job claim
Claim a job for execution (creates attempt, transitions to active).
| Flag | Type | Default | Description |
|---|---|---|---|
--agent <id> | string | $EVE_AGENT_ID or cli-user | Agent identifier |
--harness <name> | string | — | Harness to use (overrides job harness) |
This is typically called by the scheduler or by agents creating sub-jobs. For normal workflows, jobs are auto-scheduled when ready.
eve job release
Release a claimed job (ends attempt, returns to ready).
| Flag | Type | Default | Description |
|---|---|---|---|
--agent <id> | string | $EVE_AGENT_ID or cli-user | Agent identifier |
--reason <text> | string | — | Release reason |
eve job attempts
List execution attempts for a job.
eve job attempts MyApp-abc123
eve job logs
View execution logs for a job attempt.
| Flag | Type | Default | Description |
|---|---|---|---|
--attempt <n> | number | Latest | Attempt number |
--after <seq> | number | — | Return logs after sequence number |
eve job submit
Submit job for review.
| Flag | Type | Default | Description |
|---|---|---|---|
--summary <text> | string | — | Submission summary (required) |
--status <status> | string | succeeded | Submission status: succeeded or failed |
--result-json <json> | string | none | Optional structured result payload |
--agent-id <id> | string | cli-user | Agent ID |
eve job approve
Approve a job in review.
| Flag | Type | Default | Description |
|---|---|---|---|
--comment <text> | string | — | Approval comment |
--reviewer-id <id> | string | cli-user | Reviewer ID |
eve job reject
Reject a job in review (creates new attempt).
| Flag | Type | Default | Description |
|---|---|---|---|
--reason <text> | string | — | Rejection reason (required) |
--reviewer-id <id> | string | cli-user | Reviewer ID |
eve job result
Get job execution result.
| Flag | Type | Default | Description |
|---|---|---|---|
--format <mode> | string | text | Output format: text, json, full |
--attempt <n> | number | Latest | Attempt number |
Examples:
eve job result MyApp-abc123
eve job wait
Wait for job completion, polling until done.
| Flag | Type | Default | Description |
|---|---|---|---|
--timeout <seconds> | number | 300 | Max wait time |
--quiet | boolean | false | Suppress progress output |
--verbose | boolean | false | Show phase/status transitions |
--json | boolean | false | Output JSON summary |
Examples:
eve job wait MyApp-abc123
eve job wait MyApp-abc123 --timeout 600
eve job follow
Stream job logs in real-time (SSE).
| Flag | Type | Default | Description |
|---|---|---|---|
--raw | boolean | false | Show raw log entries |
--no-result | boolean | false | Don't fetch final result when done |
Examples:
eve job follow MyApp-abc123
eve job watch
Combined status polling + log streaming.
eve job watch MyApp-abc123
eve job runner-logs
Stream runner pod logs (kubectl required).
eve job runner-logs MyApp-abc123
eve job batch
Create a batch job graph from a JSON definition.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--file <path> | string | — | Path to JSON batch definition (required) |
--json | boolean | false | Output raw JSON response |
Examples:
eve job batch --project proj_xxx --file batch.json
eve job batch --file batch.json --json
eve job batch-validate
Validate a batch job graph definition without creating jobs.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--file <path> | string | — | Path to JSON batch definition (required) |
--json | boolean | false | Output raw JSON response |
Examples:
eve job batch-validate --project proj_xxx --file batch.json
eve kv
Manage agent KV state with optional TTL.
eve kv <set|get|list|mget|delete> [options]
eve kv set
Set a KV value.
eve kv set --org <org_id> --agent <slug> --key <key> --value <json-or-string> [--namespace <ns>] [--ttl <seconds>]
eve kv get
Get a KV value.
eve kv get --org <org_id> --agent <slug> --key <key> [--namespace <ns>]
eve kv list
List keys in a namespace.
eve kv list --org <org_id> --agent <slug> [--namespace <ns>] [--limit <n>]
eve kv mget
Batch get keys.
eve kv mget --org <org_id> --agent <slug> --keys a,b,c [--namespace <ns>]
eve kv delete
Delete a KV value.
eve kv delete --org <org_id> --agent <slug> --key <key> [--namespace <ns>]
Examples:
eve kv set --org org_xxx --agent reviewer --key last_commit \
--value '"abc123"' --ttl 86400
eve kv mget --org org_xxx --agent reviewer --keys last_commit,focus_area
eve local
Local development environment management. Manages a local k3d Kubernetes cluster running the Eve platform. Requires Docker Desktop; k3d and kubectl are auto-managed by the CLI.
eve local <up|down|status|reset|logs|health> [options]
eve local up
Create/prepare local cluster and deploy Eve services.
| Flag | Type | Default | Description |
|---|---|---|---|
--skip-deploy | boolean | false | Create cluster only, skip deploy step |
--skip-health | boolean | false | Skip waiting for API health |
--timeout <sec> | number | 300 | Health wait timeout in seconds |
--version <tag> | string | latest | Platform image version |
--verbose | boolean | false | Print detailed command output |
Examples:
eve local up
eve local up --version 0.1.70
eve local up --skip-deploy
eve local up --timeout 600
eve local up now handles public registry pulls more defensively: it attempts Docker auth for ECR Public automatically (via AWS CLI when available), retries rate-limited registry requests, and surfaces explicit auth guidance when image pulls fail with 401/403.
eve local down
Stop local stack resources, or destroy cluster entirely.
| Flag | Type | Default | Description |
|---|---|---|---|
--destroy | boolean | false | Delete k3d cluster and persistent data |
--force | boolean | false | Skip confirmation prompts |
Examples:
eve local down
eve local down --destroy --force
eve local status
Show cluster state, service readiness, and URLs.
| Flag | Type | Default | Description |
|---|---|---|---|
--watch | boolean | false | Refresh every 5 seconds |
--json | boolean | false | Machine-readable JSON output |
Examples:
eve local status
eve local status --watch
eve local status --json
eve local reset
Destroy and recreate local stack.
| Flag | Type | Default | Description |
|---|---|---|---|
--force | boolean | false | Skip confirmation prompts |
eve local reset --force
eve local logs
Stream or dump logs from local stack services.
| Flag | Type | Default | Description |
|---|---|---|---|
[service] | string | — | api, orchestrator, worker, gateway, agent-runtime, auth, postgres, mailpit, sso |
--follow | boolean | false | Follow logs in real time |
--tail <n> | number | 50 | Show last n lines |
--since <duration> | string | — | Show logs since duration (e.g., 5m, 1h) |
Examples:
eve local logs
eve local logs api --follow
eve local logs worker --tail 200
eve local health
Quick health check (exit code 0 when healthy).
Examples:
eve local health
eve local health --json
eve manifest
Validate project manifests for schema and required secrets.
eve manifest <subcommand> [options]
eve manifest validate
Validate a manifest (schema + secrets).
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--path <path> | string | .eve/manifest.yaml | Path to manifest |
--latest | boolean | false | Validate latest synced manifest instead of local file |
--validate-secrets | boolean | false | Validate required secrets (from manifest) |
--strict | boolean | false | Fail validation if required secrets are missing |
Examples:
eve manifest validate
eve manifest validate --project proj_xxx
eve manifest validate --latest --project proj_xxx
eve memory
Manage canonical agent memory namespaces backed by org docs.
eve memory <set|get|list|delete|search> [options]
Standard categories: learnings, decisions, conventions, context, runbooks, user. The user category stores user-specific preferences and interaction history for personalized agent behavior.
eve memory set
Create or update a memory entry.
eve memory set --org <org_id> (--agent <slug>|--shared) --category <name> --key <key> (--file <path>|--stdin|--content <text>)
eve memory get
Read a memory entry by key.
eve memory get --org <org_id> (--agent <slug>|--shared) --key <key> [--category <name>]
eve memory list
List memory entries by namespace/category.
eve memory list --org <org_id> (--agent <slug>|--shared) [--category <name>] [--tags a,b] [--limit <n>]
eve memory delete
Delete a memory entry.
eve memory delete --org <org_id> (--agent <slug>|--shared) --category <name> --key <key>
eve memory search
Search memory across agent/shared namespaces.
eve memory search --org <org_id> --query <text> [--agent <slug>] [--limit <n>]
Examples:
eve memory set --org org_xxx --agent reviewer --category learnings \
--key auth-retry --file ./finding.md --tags auth,security
eve memory set --org org_xxx --shared --category conventions \
--key api-style --file ./style.md
eve memory list --org org_xxx --agent reviewer --category learnings
eve memory search --org org_xxx --query "authentication retry"
eve migrate
Migration helpers for upgrading config formats.
eve migrate <subcommand>
eve migrate skills-to-packs
Generate AgentPack config from skills.txt.
Examples:
eve migrate skills-to-packs
eve migrate skills-to-packs > packs-fragment.yaml
eve org
Manage organizations. Organizations group projects and users, including membership request workflows.
eve org <subcommand> [options]
eve org list
List all organizations.
| Flag | Type | Default | Description |
|---|---|---|---|
--limit <n> | number | 10 | Number of results |
--offset <n> | number | — | Skip first n results |
--include-deleted | boolean | false | Include soft-deleted orgs |
eve org get
Get organization details.
eve org get org_xxx
eve org ensure
Create org if it doesn't exist, or return existing.
| Flag | Type | Default | Description |
|---|---|---|---|
--slug <slug> | string | — | Organization slug (used in URLs) |
--id <id> | string | — | Organization ID override (optional) |
Examples:
eve org ensure "My Company" --slug myco
eve org update
Update organization.
eve org update <org_id> [--name <name>] [--deleted <bool>]
eve org delete
Soft-delete an organization.
eve org delete org_xxx
eve org members
Manage organization members (list, add, remove).
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
--email <email> | string | — | Email for add |
--role <role> | string | member | Role: member, admin, owner |
Examples:
eve org members --org org_xxx
eve org members add user@example.com --role admin --org org_xxx
eve org members remove user_abc --org org_xxx
eve org membership-requests
List, approve, or deny pending membership requests.
| Flag | Type | Default | Description |
|---|---|---|---|
list | subcommand | — | List requests (--status <status> optional) |
approve <request_id> | subcommand | — | Approve request (--role optional, --email optional) |
deny <request_id> | subcommand | — | Deny request |
--org <id> | string | Profile default | Organization ID |
--status <status> | string | — | Filter list by status |
--role <role> | string | member | Approval role (member or admin) |
--email <email> | string | — | Optional email to attach on approval |
Examples:
eve org membership-requests list --org org_xxx
eve org membership-requests list --org org_xxx --status pending
eve org membership-requests approve req_xxx --org org_xxx --role admin
eve org membership-requests deny req_xxx --org org_xxx
eve packs
Manage AgentPack lockfile and resolution.
eve packs <subcommand> [options]
eve packs status
Show resolved packs from lockfile, effective config stats, and drift detection.
Effective config stats include merged agents, teams, chat routes, and x_eve.profiles counts.
| Flag | Type | Default | Description |
|---|---|---|---|
--path <dir> | string | cwd | Repository root to inspect |
Examples:
eve packs status
eve packs status --path ../my-repo
eve packs resolve
Resolve packs and merge configs (delegates to agents sync).
| Flag | Type | Default | Description |
|---|---|---|---|
--dry-run | boolean | false | Preview resolution without writing lockfile |
--path <dir> | string | cwd | Repository root to inspect |
Examples:
eve packs resolve --dry-run
eve packs resolve
eve pipeline
Run and inspect pipelines defined in the project manifest.
eve pipeline <subcommand> [options]
eve pipeline list
List pipelines for a project.
| Flag | Type | Default | Description |
|---|---|---|---|
<project> | string | Profile default | Project ID or slug |
Examples:
eve pipeline list
eve pipeline list proj_xxx
eve pipeline show
Show pipeline definition.
eve pipeline show proj_xxx release
eve pipeline show my-project deploy
eve pipeline run
Run a pipeline.
| Flag | Type | Default | Description |
|---|---|---|---|
--ref <sha> | string | — | Git SHA (required). Non-SHA refs resolve against the repo in --repo-dir or cwd. |
--env <env> | string | — | Target environment |
--project <id> | string | Profile default | Project ID |
--wait | boolean | false | Wait for completion |
--timeout <n> | number | — | Max wait time (seconds) |
--inputs <json> | string | — | JSON inputs for the pipeline |
--only <step> | string | — | Run a single step (includes dependencies) |
--repo-dir <path> | string | cwd | Resolve --ref against this repo instead of cwd |
Examples:
eve pipeline run deploy-test --ref 0123456789abcdef0123456789abcdef01234567 --env test
eve pipeline run deploy-test --ref 0123456789abcdef0123456789abcdef01234567 \
--env test --wait --timeout 120
eve pipeline run deploy-test --ref main --repo-dir ./my-app --env test
eve pipeline runs
List runs for a pipeline.
| Flag | Type | Default | Description |
|---|---|---|---|
--limit <n> | number | 10 | Number of results |
--offset <n> | number | — | Skip first n results |
Examples:
eve pipeline runs deploy-test
eve pipeline runs deploy-test proj_xxx
eve pipeline show-run
Show a pipeline run.
eve pipeline show-run deploy-test prun_xxx
eve pipeline approve
Approve a pipeline run awaiting approval.
eve pipeline approve prun_xxx
eve pipeline cancel
Cancel a pipeline run.
eve pipeline cancel prun_xxx --reason "superseded"
eve pipeline logs
Show logs for a pipeline run.
| Flag | Type | Default | Description |
|---|---|---|---|
--step <name> | string | — | Show logs for a specific step only |
--follow (-f) | boolean | false | Stream live logs via SSE |
--project <id> | string | Profile default | Project ID |
Examples:
eve pipeline logs deploy-test prun_xxx
eve pipeline logs deploy-test prun_xxx --step build
eve pipeline logs deploy-test prun_xxx --follow
eve profile
Manage repo-local CLI profiles. Profiles store defaults (API URL, org, project) so you don't have to specify them on every command.
Profiles live in .eve/profile.yaml inside the repo, so each project keeps its own defaults and switching profiles won't affect other checkouts.
eve profile <subcommand> [options]
eve profile list
List all profiles.
eve profile list
eve profile show
Show profile details.
eve profile show
eve profile show prod
eve profile use
Switch active profile (repo-local).
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | — | Set org override |
--project <id> | string | — | Set project override |
--api-url <url> | string | — | Set API URL override |
--clear | boolean | false | Remove local .eve/profile.yaml (clears all profiles) |
Examples:
eve profile use staging --org org_xxx --project proj_yyy
eve profile use --clear
eve profile create
Create a new named profile (repo-local).
| Flag | Type | Default | Description |
|---|---|---|---|
--api-url <url> | string | — | API base URL |
--org <id> | string | — | Default organization ID |
--project <id> | string | — | Default project ID |
--harness <name> | string | — | Default harness (e.g., mclaude:fast) |
--supabase-url <url> | string | — | Supabase URL (for cloud auth) |
--supabase-anon-key <key> | string | — | Supabase anon key |
--default-email <email> | string | — | Default email for auth login |
--default-ssh-key <path> | string | — | Default SSH key path for auth login |
Examples:
eve profile create local --api-url http://localhost:4801
eve profile create prod --api-url https://api.example.com --org org_xxx
eve profile set
Update profile settings (repo-local).
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | — | Default organization ID |
--project <id> | string | — | Default project ID |
--api-url <url> | string | — | API base URL |
--harness <name> | string | — | Default harness |
--supabase-url <url> | string | — | Supabase URL |
--supabase-anon-key <key> | string | — | Supabase anon key |
--default-email <email> | string | — | Default email for auth login |
--default-ssh-key <path> | string | — | Default SSH key path for auth login |
Examples:
eve profile set --org org_xxx --project proj_yyy
eve profile set staging --org org_xxx --project proj_yyy
eve profile set --default-email user@example.com
eve profile remove
Remove a named profile (repo-local).
eve profile remove staging
eve project
Manage projects. Projects link a git repo to an organization for running jobs.
eve project <subcommand> [options]
eve project list
List projects in an organization.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
--limit <n> | number | — | Number of results |
--offset <n> | number | — | Skip first n results |
eve project get
Get project details.
eve project get proj_xxx
eve project ensure
Create project if it doesn't exist, or return existing.
| Flag | Type | Default | Description |
|---|---|---|---|
--name <name> | string | — | Project name (required) |
--repo-url <url> | string | — | Git repository URL (optional, can be set later) |
--org <id> | string | Profile default | Organization ID |
--branch <branch> | string | main | Default branch |
--slug <slug> | string | — | Short memorable slug (4-8 chars, e.g., MyProj) |
--force | boolean | false | Re-clone repo even if project exists |
Examples:
eve project ensure --name my-app --slug MyApp
eve project ensure --name my-app --slug MyApp --repo-url https://github.com/org/repo
eve project ensure --name my-app --repo-url file:///path/to/repo --force
eve project update
Update project.
eve project update <project_id> [--name <name>] [--repo-url <url>] [--branch <branch>] [--deleted <bool>]
eve project sync
Sync manifest from local .eve/manifest.yaml to Eve API.
| Flag | Type | Default | Description |
|---|---|---|---|
<project> | string | Profile default | Project ID |
--path <path> | string | .eve/manifest.yaml | Path to manifest |
--validate-secrets | boolean | false | Validate manifest required secrets |
--strict | boolean | false | Fail sync if required secrets are missing |
Examples:
eve project sync
eve project sync proj_xxx
eve project sync --path ./custom-manifest.yaml
eve project status
Show deployment status across all profiles with revision info, service URLs, and deploy age.
| Flag | Type | Default | Description |
|---|---|---|---|
--profile <name> | string | — | Show only this profile |
--env <name> | string | — | Show only this environment |
--json | boolean | false | Machine-readable JSON output |
Examples:
eve project status
eve project status --profile staging
eve project status --env sandbox --json
eve project members
Manage project members (list, add, remove).
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--email <email> | string | — | Email for add |
--role <role> | string | member | Role: member, admin, owner |
Examples:
eve project members --project proj_xxx
eve project members add user@example.com --role admin --project proj_xxx
eve project members remove user_abc --project proj_xxx
eve providers
List registered AI providers, inspect provider details, and discover available models.
eve providers <list|show|models> [options]
eve providers list
List all registered AI providers.
eve providers list
eve providers list --json
eve providers show
Show details for a specific provider (base URL, auth configuration, harness mappings, discovery settings).
eve providers show anthropic
eve providers show openai --json
eve providers models
Discover available models from a provider.
eve providers models anthropic
eve providers models openai --json
eve release
Manage and inspect releases.
eve release <subcommand> [options]
eve release resolve
Look up a release by tag and output its details.
| Flag | Type | Default | Description |
|---|---|---|---|
<tag> | string | — | Release tag (e.g., v1.2.3) |
--project <id> | string | Profile default or .eve/manifest.yaml | Project ID |
--json | boolean | false | Output as JSON |
Examples:
eve release resolve v1.2.3
eve release resolve v1.2.3 --project proj_xxx
eve release resolve v1.2.3 --json
eve resources
Resolve resource URIs into content snapshots.
eve resources <subcommand> [options]
eve resources resolve
Resolve a resource URI (optionally without content).
eve resources resolve <uri> [--no-content]
eve resources ls
List resources under a URI prefix.
eve resources ls <uri-prefix>
eve resources cat
Output resource content.
eve resources cat <uri>
Examples:
eve resources resolve org_docs:/pm/features/FEAT-123.md
eve resources ls org_docs:/pm/features/
eve resources cat job_attachments:/myproj-a3f2dd12/plan.md
eve search
Unified org search across memory/docs/threads/attachments/events.
eve search --org <org_id> --query <text> [--sources memory,docs,threads,attachments,events] [--limit <n>] [--agent <slug>]
Examples:
eve search --org org_xxx --query "authentication retry"
eve search --org org_xxx --query "authentication retry" \
--sources memory,docs,threads --agent reviewer
eve secrets
Manage secrets at system/org/user/project scope. Values are never returned in plaintext.
eve secrets <subcommand> [options]
eve secrets set
Create or update a secret value.
| Flag | Type | Default | Description |
|---|---|---|---|
--system | boolean | false | System scope (admin only) |
--project <id> | string | Profile default | Project ID |
--org <id> | string | — | Organization ID |
--user <id> | string | — | User ID |
--type <type> | string | — | env_var, file, github_token, ssh_key |
eve secrets list
List secrets (metadata only).
| Flag | Type | Default | Description |
|---|---|---|---|
--system | boolean | false | System scope (admin only) |
--project <id> | string | Profile default | Project ID |
--org <id> | string | — | Organization ID |
--user <id> | string | — | User ID |
eve secrets show
Show a masked secret value.
| Flag | Type | Default | Description |
|---|---|---|---|
--system | boolean | false | System scope (admin only) |
--project <id> | string | Profile default | Project ID |
--org <id> | string | — | Organization ID |
--user <id> | string | — | User ID |
eve secrets delete
Delete a secret.
| Flag | Type | Default | Description |
|---|---|---|---|
--system | boolean | false | System scope (admin only) |
--project <id> | string | Profile default | Project ID |
--org <id> | string | — | Organization ID |
--user <id> | string | — | User ID |
eve secrets import
Import env entries from an env file.
| Flag | Type | Default | Description |
|---|---|---|---|
--file <path> | string | .env | Path to env file |
--system | boolean | false | System scope (admin only) |
--project <id> | string | Profile default | Project ID |
--org <id> | string | — | Organization ID |
--user <id> | string | — | User ID |
eve secrets validate
Validate manifest-required secrets for a project.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--keys <k1,k2> | string | Latest manifest | Explicit keys to validate |
eve secrets ensure
Ensure safe secrets exist at project scope.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--keys <k1,k2> | string | — | Keys to ensure (allowlist only) |
eve secrets export
Export safe secrets for external configuration.
| Flag | Type | Default | Description |
|---|---|---|---|
--project <id> | string | Profile default | Project ID |
--keys <k1,k2> | string | — | Keys to export (allowlist only) |
--json | boolean | false | JSON output |
Examples:
eve secrets set GITHUB_TOKEN ghp_xxx --project proj_xxx --type github_token
eve secrets show GITHUB_TOKEN --project proj_xxx
eve secrets validate --project proj_xxx
eve secrets ensure --project proj_xxx --keys GITHUB_WEBHOOK_SECRET
eve secrets export --project proj_xxx --keys GITHUB_WEBHOOK_SECRET
eve skills
Install skills from pack definitions and additional sources.
eve skills <subcommand> [source]
eve skills install
Install skills. When run without an explicit source, the command processes both pack-based and skills.txt-based skills:
- Install from
x-eve.packsin.eve/manifest.yaml(validated against.eve/packs.lock.yaml). - Install from
skills.txt(handles additional sources such as external skillpacks andprivate-skills/that packs do not include). - When an explicit source argument is provided, install directly from that source.
| Flag | Type | Default | Description |
|---|---|---|---|
[source] | string | — | URL, GitHub repo (owner/repo), or local path |
--skip-installed | boolean | false | Skip skills that are already installed (applies to skills.txt entries) |
Examples:
eve skills install https://github.com/org/skillpack
eve skills install org/skillpack
eve skills install ./local/skills
eve skills install # install from x-eve.packs + skills.txt
eve skills install --skip-installed
eve supervise
Long-poll for child job events and coordination messages. Used by lead agents to stay alive and react.
| Flag | Type | Default | Description |
|---|---|---|---|
[job-id] | string | $EVE_JOB_ID | Parent job ID |
--timeout <seconds> | number | 30 (max: 120) | Max wait in seconds |
--since <cursor> | string | — | ISO cursor for incremental polling |
--json | boolean | false | Output as JSON |
Examples:
eve supervise
eve supervise MyApp-abc123 --timeout 60
eve supervise --since 2026-02-08T19:00:00Z --json
eve system
System administration and health checks (admin scope required for most commands).
eve system <subcommand> [options]
eve system health
Quick health check of the API.
If dependencies are degraded (for example database connectivity issues), this command can return a degraded status with diagnostic fields instead of a hard request failure.
eve system health
eve system health --json
eve system status
Show comprehensive system status (admin only).
eve system status
eve system status --json
eve system jobs
List all jobs across all projects (admin view).
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | — | Filter by organization ID |
--project <id> | string | — | Filter by project ID |
--phase <phase> | string | — | Filter by job phase |
--limit <n> | number | 50 | Number of results |
--offset <n> | number | — | Skip first n results |
Examples:
eve system jobs
eve system jobs --phase active
eve system jobs --project proj_xxx
eve system envs
List all environments across all projects (admin view).
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | — | Filter by organization ID |
--project <id> | string | — | Filter by project ID |
--limit <n> | number | 50 | Number of results |
--offset <n> | number | — | Skip first n results |
Examples:
eve system envs
eve system envs --project proj_xxx
eve system logs
Fetch recent logs for a system service (admin only).
| Flag | Type | Default | Description |
|---|---|---|---|
--tail <n> | number | 100 | Number of log lines |
Services: api, orchestrator, worker, agent-runtime, postgres
Examples:
eve system logs api
eve system logs agent-runtime --tail 200
eve system logs worker --tail 200
eve system pods
List pods across the cluster (admin only).
eve system pods
eve system events
List recent cluster events (admin only).
| Flag | Type | Default | Description |
|---|---|---|---|
--limit <n> | number | 50 | Max number of events |
Examples:
eve system events
eve system events --limit 20
eve system config
Show deployment configuration summary (system admins only).
eve system config
eve system settings
Get or set system settings (admin only).
| Subcommand | Description |
|---|---|
get <key> | Get specific setting |
set <key> <value> | Update setting value |
Examples:
eve system settings
eve system settings get some-key
eve system settings set some-key some-value
eve system orchestrator
Manage orchestrator concurrency settings.
| Subcommand | Description |
|---|---|
status | Show concurrency status |
set-concurrency <n> | Set concurrency limit |
Examples:
eve system orchestrator status
eve system orchestrator set-concurrency 8
eve thread
Manage org-scoped coordination threads for agent team communication.
eve thread <subcommand> [options]
eve thread create
Create an org thread.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
--key <key> | string | — | Thread key (required) |
Examples:
eve thread create --org org_xxx --key "project:review"
eve thread list
List threads in an org.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
--scope <scope> | string | — | Filter by scope (e.g., org) |
--key-prefix <pfx> | string | — | Filter by key prefix |
Examples:
eve thread list --org org_xxx
eve thread list --org org_xxx --key-prefix "project:"
eve thread show
Show thread details.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
Examples:
eve thread show thr_xxx --org org_xxx
eve thread messages
List messages in a coordination thread. Each message displays a delivery status indicator when available (delivered, pending, or failed with error detail).
| Flag | Type | Default | Description |
|---|---|---|---|
--since <duration> | string | — | Time window: 5m, 1h, 30s, 2d, or ISO timestamp |
--limit <n> | number | — | Max messages to return |
--json | boolean | false | Output as JSON (includes delivery_status, delivery_error, delivered_at fields) |
Examples:
eve thread messages thr_xxx
eve thread messages thr_xxx --since 5m
eve thread messages thr_xxx --since 1h --limit 20 --json
eve thread post
Post a message to a coordination thread.
| Flag | Type | Default | Description |
|---|---|---|---|
--body <text> | string | — | Message body (required) |
--actor-type <type> | string | user | Actor type |
--actor-id <id> | string | — | Actor identifier |
--job-id <id> | string | — | Associated job ID |
Examples:
eve thread post thr_xxx --body "hello team"
eve thread post thr_xxx --body '{"kind":"directive","body":"focus on auth"}'
eve thread follow
Follow a thread in real-time via SSE.
eve thread follow thr_xxx
eve thread distill
Distill thread messages into durable docs/memory.
| Flag | Type | Default | Description |
|---|---|---|---|
--to <path> | string | — | Explicit destination doc path |
--agent <slug> | string | — | Agent namespace for inferred path |
--category <name> | string | — | Memory category: learnings, decisions, runbooks, context, conventions |
--key <key> | string | — | Memory key for inferred path |
--prompt <text> | string | — | Distillation prompt override |
--auto | boolean | false | Skip if below threshold |
--threshold <n> | number | — | Minimum message count for --auto |
--interval <dur> | string | — | Advisory distillation interval metadata |
Examples:
eve thread distill thr_xxx --org org_xxx \
--to /agents/shared/memory/decisions/sprint-42.md
eve thread distill thr_xxx --org org_xxx \
--agent reviewer --category decisions --key sprint-42
eve webhooks
Manage outbound webhook subscriptions and delivery logs.
eve webhooks <subcommand> [options]
eve webhooks create
Create a webhook subscription.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
--url <url> | string | — | Delivery endpoint URL (required) |
--events <list> | string | — | Comma-separated event types to subscribe to (required) |
--secret <secret> | string | — | HMAC signing secret, min 16 chars (required) |
--filter <json> | string | — | Optional JSON filter object |
--project <id> | string | — | Scope webhook to a specific project |
Examples:
eve webhooks create --org org_xxx \
--url https://example.com/hook \
--events system.job.completed \
--secret my-secret-key-1234
eve webhooks create --org org_xxx \
--url https://example.com/hook \
--events "system.job.*" \
--secret my-secret-key-1234 \
--filter '{"agent_slug":"pm-*"}'
eve webhooks list
List webhook subscriptions for an org.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
eve webhooks show
Show webhook subscription details.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
Examples:
eve webhooks show wh_xxx --org org_xxx
eve webhooks deliveries
List delivery attempts for a webhook subscription.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
--limit <n> | number | 50 | Max results |
eve webhooks test
Send a test webhook event.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
eve webhooks delete
Delete a webhook subscription.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
eve webhooks enable
Re-enable a disabled webhook subscription.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
eve webhooks replay
Replay webhook deliveries for a subscription.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
--from-event <id> | string | — | Event ID to start replay from (inclusive) |
--to <iso> | string | Now | ISO timestamp for end of replay window |
--max-events <n> | number | 5000 (max: 10000) | Max events to scan |
--dry-run | boolean | false | Return summary without enqueuing deliveries |
Examples:
eve webhooks replay wh_xxx --org org_xxx --from-event evt_123
eve webhooks replay wh_xxx --org org_xxx \
--to 2026-02-12T12:00:00Z --max-events 2000 --dry-run
eve webhooks replay-status
Fetch webhook replay status.
| Flag | Type | Default | Description |
|---|---|---|---|
--org <id> | string | Profile default | Organization ID |
Examples:
eve webhooks replay-status wh_xxx rpl_xxx --org org_xxx
eve workflow
Inspect and invoke workflows defined in the project manifest.
eve workflow <subcommand> [options]
eve workflow list
List workflows for a project.
| Flag | Type | Default | Description |
|---|---|---|---|
<project> | string | Profile default | Project ID or slug |
Examples:
eve workflow list
eve workflow list proj_xxx
eve workflow show
Show workflow definition.
eve workflow show proj_xxx qa-review
eve workflow show my-project release-notes
eve workflow run
Invoke a workflow (fire-and-forget).
| Flag | Type | Default | Description |
|---|---|---|---|
--input <json> | string | — | Input payload (JSON string) |
--project <id> | string | Profile default | Project ID |
Examples:
eve workflow run qa-review --input '{"task":"audit"}'
eve workflow run proj_xxx release-notes --input '{"tag":"v1.2.3"}'
eve workflow invoke
Invoke a workflow and wait for result.
| Flag | Type | Default | Description |
|---|---|---|---|
--input <json> | string | — | Input payload (JSON string) |
--no-wait | boolean | false | Return immediately without waiting |
--project <id> | string | Profile default | Project ID |
Examples:
eve workflow invoke qa-review --input '{"task":"audit"}'
eve workflow invoke proj_xxx release-notes --no-wait
eve workflow logs
Show logs for a workflow job.
eve workflow logs job_abc123