AdapterRegistry auto-detects installed CLI binaries. Each adapter picks the richest data track available: structured hooks when possible, PTY regex as a universal fallback. All tracks feed the same Trace model — so every instrument works on every tool.
Full hooks API via HookReceiver on 127.0.0.1:47777 — structured tool names, inputs, outputs, sub-agent IDs, session context. Richest data path, zero regex inference.
Wraps Cursor's terminal in node-pty. ConversationAnalyzer strips ANSI codes, applies regex patterns, detects conversation boundaries. No Cursor-side config required.
PTY capture with stream JSON parsing when `codex --output-format stream-json` is available. Falls back to PTY regex for unstructured output.
PTY output regex analysis with idle-timeout trace completion (8s threshold). Per-tool health checks on session start.
PTY interception with simple-git diff integration for file change tracking. Auto-detects the `aider` binary and health-checks on every session start.
Model Context Protocol servers extend any compatible agent with new tools. Operon’s MCP Hub means you install an MCP server in one place and Operon writes the right config into every agent profile on your machine.
Install MCP servers from Operon's MCP Hub. A per-adapter config writer writes the right configuration into every agent profile: Claude Code, Cursor, Gemini CLI, Aider. One place to manage, zero manual config files.
Before Operon touches any agent config file, it shows a diff of the exact changes with an explicit approve/reject dialog. You always see what we're writing and where.
The MCP Hub uses a write token distinct from the hook auth token. Revokable per-agent without losing hook telemetry.
Skill manifests package a prompt template, required tools, and a description into an installable unit. Install once in Operon, bind to any subset of your agents.
Skills are installed via structured manifests with name, description, tools, and prompt template. SkillParser validates the manifest; SkillInstaller binds it into each agent profile.
A skill can be installed to one agent or many. Claude Code uses its own profile format; Cursor and Gemini get adapted writes. Remove a skill and Operon cleans up every profile it touched.
Install, list, enable, disable, remove — all via typed RPC with zod validation at the boundary. Settings UI wraps the router; CLI access is coming.
Browse and install community skills from a curated registry. Currently install-by-manifest only — marketplace is on the roadmap.
IssueImporter fans out to Linear, GitHub, and Jira in parallel with per-source failure isolation. One picker, shared issue schema, no per-source UI. Every new session can start with full issue context baked in.
Fetch issues by project, team, or cycle. Filter by state, priority, and assignee. IssuePicker in the New Session dialog seeds a session with full issue context: title, description, linked comments.
GitHub issues API integration with label, milestone, and assignee filters. Same shared issue schema as Linear and Jira — one picker, three sources, no per-source UI.
Jira Cloud API with JQL query support. Epic and sprint awareness. Works alongside Linear and GitHub — import from all three in parallel via IssueImporter fan-out.
WebhookReceiver sits on the HTTP layer and verifies HMAC signatures on every inbound webhook before it reaches the automation engine. Failed signature = 401 with explicit error, never silently dropped.
HMAC-SHA256 signature verification on every inbound request. Failed signature = 401, no silent drops. Trigger automations from PR events, issue updates, CI completion, or any repository webhook.
Linear webhook verification with configurable secret. Per-team and per-workspace webhook endpoints. Subscribe to issue create, update, comment, and project events.
Jira Cloud webhook integration — issue events, sprint boundaries, workflow transitions. Shared verification pipeline with GitHub and Linear.
AutomationEngine runs on cron or trigger events and dispatches to a pluggable ActionRegistry. Custom adapters hang off the registry — actions declare their inputs, outputs, and required scopes and Operon handles the rest.
Schedule automations on cron expressions. Timezone-aware. Supports one-shot (`@once`) and recurring schedules with per-run dry-preview.
AutomationEngine runs actions registered on ActionRegistry. Custom adapters plug in without modifying core — each action declares inputs, outputs, and required scopes.
Beyond cron: webhook triggers (GitHub PR ready, Linear issue moved, CI failed), session lifecycle (session started, checkpoint rejected), and scheduled delays.
Last run, next run, status (ok / failed / dry-run), and result log. Filter by trigger source. Re-run with dry-run preview before production.
Curated starter automations installable from Settings in one click: 'PR ready → run tests', 'failing CI → open task', 'stale branch → archive'.
Every session already captures the changes, decisions, and TODOs. PrDraftGenerator turns that into a PR body — grouped, summarized, and editable before you paste.
PrDraftGenerator walks the session trace tree and emits a heuristic PR body: files touched grouped by section, decisions extracted as a rationale block, TODOs surfaced as a follow-ups list.
Generated body is shown in a full-screen editor before you copy. Rearrange sections, tweak tone, remove noise. Your PR, your voice.
Currently copy-to-clipboard only. Wire directly to the GitHub integration client to open the PR in one click.
AI tools, sources, webhooks, skills, automations. Nothing to replace — just instruments on top of what you already run.