Overview of Cyrus core packages
mainThe Cyrus monorepo is composed of several specialized packages, each with a distinct scope. Developers can use these packages independently or combine them to build complex applications like CLI tools or Electron-based agents.
Core Packages
@cyrus/core: Contains domain models (Session, Issue, Workspace, Comment), session lifecycle management, and shared TypeScript types.@cyrus/claude-parser: Responsible for parsing Claude's stdout/stderr, specifically handling streaming JSON and emitting typedClaudeEvents.@cyrus/claude-runner: Manages the lifecycle of the Claude CLI process, including spawning processes, sending prompts, and configuring tools.@cyrus/ndjson-client: Provides NDJSON streaming communication with an edge proxy, handling OAuth authentication and webhook events.@cyrus/edge-worker: The primary orchestrator. It connects to the edge proxy, processes Linear webhooks, manages Claude sessions, and posts responses back to Linear.