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

# CLI reference

> Every platform workflow, scriptable from your terminal.

Core workflows are available from the CLI: connecting, evaluating, and rules. Install once:

```bash theme={null}
npm install -g rippletide-package
```

Every command is then `rippletide <command>`, and all commands accept `--json` for machine-readable output.

## Commands

| Command                                                           | What it does                                                                   |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| `login`                                                           | Log in via your browser; reuses a valid stored Platform key                    |
| `logout`                                                          | Revoke the current Platform key, then clear the local login                    |
| `whoami`                                                          | Show the logged-in account                                                     |
| `agents`                                                          | List the agents on your account                                                |
| `connect [--yes]`                                                 | Connect the current repository: keys, inventory sync, runtime worker           |
| `connect --print-prompt`                                          | Print the coding-agent setup prompt and exit for headless/manual setup         |
| `verify`                                                          | Prove a wrapped repository's connection from its `.env` (no login needed)      |
| `status`                                                          | Auth, binding, inventory, worker, and evaluation readiness at a glance         |
| `evaluate [--generate] [--wait]`                                  | Start an evaluation run, optionally waiting for the result                     |
| `improve [--yes] [--wait]`                                        | Propose and run an improvement loop (asks before running your agent)           |
| `rules discover [--source <text\|https-url\|@file>]`              | Review and batch-create complete discovered rules; `--json` is read-only       |
| `rules create --target <id> --action <key> --input "…"`           | Compile and save a disabled plain-English rule                                 |
| `rules targets` / `rules list`                                    | Inspect policy targets and rule releases                                       |
| `rules decisions --agent <id> [--limit 20]`                       | Review recent decisions and get commands to enforce triggered observe releases |
| `rules set-mode --release <id> --mode disabled\|observe\|enforce` | Change one rule release's mode                                                 |

`connect` executes your repository's own `rippletide:sync` and `rippletide:start` scripts, so it asks for confirmation; pass `--yes` only for a repository you trust.

`login` validates `~/.rippletide/config.json` before starting a browser flow, so
running it again does not accumulate keys. To replace the key or change
accounts, run `rippletide logout` and then `rippletide login`. A validation
failure creates nothing, while a failed logout keeps the current local
credential so revocation can be retried.

## Where configuration lives

| Scope   | Path                        | Contents                                                                 |
| ------- | --------------------------- | ------------------------------------------------------------------------ |
| Account | `~/.rippletide/config.json` | Endpoint and Platform key                                                |
| Project | `.rippletide/project.json`  | Agent ID and name (safe to commit)                                       |
| Runtime | `.env`                      | `RIPPLETIDE` Connection string and `RIPPLETIDE_PROXY_URL` (never commit) |

After removing Rippletide instrumentation, disconnect a repository by deleting
`.rippletide/project.json`, removing only `RIPPLETIDE` and
`RIPPLETIDE_PROXY_URL` from `.env`, and revoking its Connection key in the
Platform. `rippletide logout` is separate account-level cleanup: it revokes the
CLI Platform key and clears the local account login.
