src/
├── cli/ # CLI commands (decorators, groups)
│ ├── commands/ # One file per command group
│ └── index.ts # Entry point
├── bot.ts # RaviBot — Claude Agent SDK sessions
├── daemon.ts # Daemon startup/shutdown
├── gateway.ts # Gateway — response routing
├── nats.ts # NATS connection singleton
├── omni/ # Omni integration (consumer, sender, config)
├── router/ # Router, session keys, config store
├── permissions/ # REBAC permission engine
├── leader/ # Leader election via NATS KV
├── heartbeat/ # Heartbeat runner
├── cron/ # Cron job runner
├── triggers/ # Event trigger runner
├── ephemeral/ # Ephemeral session cleanup
├── copilot/ # Claude Code inbox watcher
├── audio/ # TTS generation (ElevenLabs)
├── transcribe/ # Audio transcription (Groq/OpenAI)
├── image/ # Image generation (Gemini)
├── video/ # Video analysis (Gemini)
├── spec/ # Spec mode MCP server
├── plugins/ # Plugin system
│ └── internal/ # Built-in plugins (skills, tools)
├── tui/ # Terminal UI (Ink/React)
├── prompt-builder.ts # System prompt construction
└── pm2.ts # PM2 process management