# Ekravo CLI — the coding agent in your terminal

Ekravo CLI is a terminal coding agent. It reads your repository, plans changes, edits files, runs shell commands, and streams responses from models served at `https://ekravo.com/v1`. It shares one Ekravo account with the website and Ekravo Desktop.

## Install

macOS and Linux:

```bash
curl -fsSL https://ekravo.com/cli/install.sh | bash
```

Windows (PowerShell):

```powershell
irm https://ekravo.com/cli/install.ps1 | iex
```

From npm: `npm i -g @ekravo/cli`. From Desktop: Settings → General → Ekravo CLI → Install. The installer verifies the release checksum and puts `ekravo` on your PATH.

## Sign in

Run `ekravo login` and paste an `ekravo_` key from https://ekravo.com/dashboard/keys. The CLI stores it in `~/.config/ekravo/config.json` and can export `EKRAVO_API_KEY` to your shell profile.

- `ekravo setup` — interactive first-run wizard.
- `EKRAVO_API_KEY=ekravo_...` — set the key yourself instead of signing in.
- `ekravo config telemetry` — view telemetry settings.

## Run a session

`ekravo` with no subcommand opens the interactive harness in the current directory. Approve edits inline, and cycle Read, Plan, Edit, and Auto with `Shift+Tab`. YOLO is not in that cycle: pass `--yolo` or run `/permissions` to switch into it.

| Flag | Effect |
| --- | --- |
| `--read` | Start read-only |
| `--plan` | Plan without writing files |
| `--auto` | Auto-approve edits |
| `--yolo` | Auto-approve edits and shell commands |
| `-p`, `--print` | One-shot prompt, then exit |
| `--model` | Override the default model |
| `--resume` | Resume a previous session |

```bash
# One-shot task in Auto mode
ekravo --auto -p "Add a health check endpoint and run tests"

# Plan only
ekravo --plan -p "Outline how to migrate auth to JWT"
```

## Permission modes

| Mode | Reads | Writes | Shell |
| --- | --- | --- | --- |
| Read | Yes | No | No |
| Plan | Yes | No | No |
| Edit | Yes | With approval | No |
| Auto | Yes | Auto-approved | No |
| YOLO | Yes | Auto-approved | Auto-approved |

## With Ekravo Desktop

When Desktop is running, `ekravo worktree`, `ekravo terminal`, and `ekravo orchestration` drive the IDE from the terminal. Responses stream over SSE; infrastructure failures such as network or auth errors exit with code `74`.

## Links

- Product page: https://ekravo.com/cli
- CLI documentation: https://ekravo.com/docs/cli
- API reference: https://ekravo.com/docs/api
- Desktop: https://ekravo.com/desktop
