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.

FilePurpose
auth.jsonLogin/session material
config.jsonActive identity selection

For parallel agents, avoid shared mutable CLI state. Prefer one working directory or config directory per agent process.

Command Groups

GroupPurpose
ravi authLogin, logout, and auth status
ravi identityCreate, list, and select identities
ravi getFetch active identity resources
ravi inboxRead email and SMS inboxes
ravi messageWork with individual messages
ravi emailCompose and reply to email
ravi smsSend SMS from the identity’s number
ravi callPlace calls, list them, fetch transcripts, hang up
ravi passwordsPassword entry operations
ravi secretsSecret entry operations
ravi feedbackSend 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.

Next Steps