Skip to content

Quick start

After installing ravix, you run one command.

ravix onboard

onboard is idempotent — safe to re-run. What it does, in order:

  1. Auth: launches the device-code login flow in your browser if you're not already logged into the Ravi API.
  2. Identity: selects your active identity (creates one if the account has none).
  3. Inbox discovery: resolves the email address for that identity.
  4. Config: writes ~/.ravix/config.yaml with a default claude-run rule scoped to your inbox. Skipped if a config already exists — pass --force to overwrite.
  5. Claude detection: probes for the claude binary so it survives the service manager's stripped PATH. Prompts you if it can't find it.
  6. Service install: registers and starts a user-level service (LaunchAgent on macOS, systemd user unit on Linux).
  7. Claude Code plugin: installs the ravix@ravi-hq plugin into Claude Code so agents have the ravix-reply skill available.

At the end you'll see:

Ready! 🚀 Send an email from you@example.com to <your-ravi-inbox> and claude will get back to you.

Send your first email

Open your email client and send any message to the Ravi inbox address that onboard printed. Within one poll_interval (10 seconds by default), ravix will dispatch it to Claude Code. Claude reads the email, does what it asks, and sends a reply.

Watch it happen:

ravix daemon logs -f

What's next

  • Tweak rules: edit ~/.ravix/config.yaml to add more match conditions, scope handlers to specific senders/subjects, or swap claude-run for write-to-file (preview mode). See Configuration.
  • Allowlist senders: by default only your own email can trigger claude-run. Add more trusted senders with ravix trust <address>.
  • Manual control: ravix daemon {install,start,stop,status,logs,run,uninstall} — see Commands.

Daemon lifecycle at a glance

ravix daemon status        # is it running?
ravix daemon logs -f       # follow the log
ravix daemon stop          # stop temporarily
ravix daemon start         # start again
ravix daemon uninstall     # remove the service registration

The daemon runs as you, not as root. State lives at ~/.ravix/state.db. Logs rotate automatically.