Architecture Overview
High-level overview of the Intentra CLI architecture.
Design Principles
- Local-first - All data stored locally, works offline
- Multi-tool - Unified interface for Cursor, Claude Code, GitHub Copilot, Antigravity, Windsurf, and Gemini CLI
- Normalized - Consistent event schema across different tools
- Privacy-focused - No code or prompts stored
Components
CLI
The intentra CLI is the core component:
- Installs and manages hooks for AI tools
- Captures and normalizes events from different sources
- Stores data locally
- Aggregates events into meaningful scans
- Syncs data to your Intentra account
Hook Normalizers
Each AI tool has a dedicated normalizer:
- Cursor - Parses Cursor's hook events
- Claude Code - Processes Claude Code output
- GitHub Copilot - Captures Copilot completions and chat events
- Antigravity - Normalizes Antigravity interactions (Codeium-based, uses same hooks as Windsurf)
- Windsurf - Normalizes Windsurf interactions
- Gemini CLI - Normalizes Gemini CLI logs
All normalizers produce the same unified event schema.
Local Storage
Local buffer stores:
- Raw events from hooks
- Aggregated scans
- Configuration settings
- Sync queue
Sync Layer
Authentication via Auth0 device authorization flow:
- Secure JWT-based authentication
- Device registration with your account
- Automatic token refresh
Security
- All data stored locally by default
- No code or prompts captured
- Token counts and metadata only
- Encrypted sync over HTTPS
- Auth0-based secure authentication