CLI Overview
The Ravi CLI is the terminal client for local setup and agent workflows.
Install
brew install ravi-hq/tap/ravi
See Installation for source builds and release archives.
Configuration
The CLI stores local state under ~/.ravi/ by default.
| File | Purpose |
|---|---|
auth.json | Login/session material |
config.json | Active identity selection |
For parallel agents, avoid shared mutable CLI state. Prefer one working directory or config directory per agent process.
Command Groups
| Group | Purpose |
|---|---|
ravi auth | Login, logout, and auth status |
ravi identity | Create, list, and select identities |
ravi get | Fetch active identity resources |
ravi inbox | Read email and SMS inboxes |
ravi message | Work with individual messages |
ravi email | Compose and reply to email |
ravi sms | Send SMS from the identity’s number |
ravi call | Place calls, list them, fetch transcripts, hang up |
ravi passwords | Password entry operations |
ravi secrets | Secret entry operations |
ravi feedback | Send feedback |
The API key is an auth fence — it defines what a caller may touch, not which identity it acts as. Pass --identity <uuid> to target a specific identity for per-identity commands; otherwise the active identity scopes the request.
Output
JSON is the default output format for scripts and agents. Use --human only when
you want human-readable tables or messages:
ravi auth status
ravi identity list
ravi identity list --human
API Relationship
The CLI talks to the same backend documented in API Overview. For service-to-service code, an API key and direct HTTP calls may be simpler than shelling out to the CLI.