# Ravi CLI -- Setup for Cursor, Codex, Windsurf, and Other Agents ## Setup 1. **Install the CLI** ```bash brew install ravi-hq/tap/ravi ``` 2. **Authenticate** -- opens a browser for Google sign-in ```bash ravi auth login ``` 3. **Select an identity** -- if you have multiple identities, or if the interactive prompt during login didn't work (common for AI agents), pick one explicitly: ```bash ravi identity list # see all identities and their UUIDs ravi identity use # bind the CLI to that identity ``` If you only have one identity, `ravi auth login` selects it automatically and you can skip this step. 4. **Verify** -- setup is complete when this shows identity name, email, and phone: ```bash ravi auth status ``` --- ## Your identity ```bash ravi get email # your ravi email address ravi get phone # your phone number ravi get owner # the human who owns this account ``` ## Read messages ```bash ravi inbox email # list email threads ravi inbox email # read a thread ravi inbox sms # list SMS conversations ravi inbox sms # read a conversation ``` ## Send email ```bash ravi email compose --to "user@example.com" --subject "Hello" --body "

Hi

" ravi email reply --body "

Thanks

" ravi email reply-all --body "

Noted

" ravi email forward --to "other@example.com" --body "

FYI

" ``` ## Passwords ```bash ravi passwords create example.com # auto-generates password ravi passwords create example.com --username "me@x.com" --password "custom" ravi passwords list ravi passwords get ravi passwords update --password "new-pass" ravi passwords delete ravi passwords generate # generate without storing ``` ## Secrets ```bash ravi secrets set API_KEY "sk-..." # keys are auto-uppercased ravi secrets list ravi secrets get ravi secrets delete ``` ## Contacts ```bash ravi contacts list ravi contacts search "alice" ravi contacts get ravi contacts create --email "alice@example.com" --display-name "Alice" ravi contacts update --nickname "Ali" ravi contacts delete ``` ## Manage identities ```bash ravi identity list # list all identities ravi identity use # switch active identity ravi identity create --name "Work Agent" # create a new identity ``` All commands output JSON by default.