Quick start¶
After installing ravix, you run one command.
onboard is idempotent — safe to re-run. What it does, in order:
- Auth: launches the device-code login flow in your browser if you're not already logged into the Ravi API.
- Identity: selects your active identity (creates one if the account has none).
- Inbox discovery: resolves the email address for that identity.
- Config: writes
~/.ravix/config.yamlwith a defaultclaude-runrule scoped to your inbox. Skipped if a config already exists — pass--forceto overwrite. - Claude detection: probes for the
claudebinary so it survives the service manager's stripped PATH. Prompts you if it can't find it. - Service install: registers and starts a user-level service (LaunchAgent on macOS, systemd user unit on Linux).
- Claude Code plugin: installs the
ravix@ravi-hqplugin into Claude Code so agents have theravix-replyskill available.
At the end you'll see:
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:
What's next¶
- Tweak rules: edit
~/.ravix/config.yamlto add more match conditions, scope handlers to specific senders/subjects, or swapclaude-runforwrite-to-file(preview mode). See Configuration. - Allowlist senders: by default only your own email can trigger
claude-run. Add more trusted senders withravix 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.