- TypeScript 95.1%
- JavaScript 4.8%
- Add --labels flag to CLI accepting comma-separated label names - Extend CreateIssueParams to accept label names in RPC server - Add findOrCreateLabel() method to CLIIssueTrackerService for dynamic label creation on first use - Labels are resolved to IDs before issue creation - Add comprehensive tests for label operations 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .github | ||
| .husky | ||
| .vscode | ||
| apps | ||
| docs | ||
| packages | ||
| spec/f1 | ||
| .gitignore | ||
| biome.json | ||
| CHANGELOG.internal.md | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| CONTRIBUTING.md | ||
| cyrus-setup.sh | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| tsconfig.base.json | ||
Cyrus
Your Claude Code powered Linear agent. Cyrus monitors Linear issues assigned to it, creates isolated Git worktrees for each issue, runs Claude Code sessions to process them, and streams detailed agent activity updates back to Linear, along with rich interactions like dropdown selects and approvals.
Note: Cyrus requires you to bring your own Claude Code keys/billing.
Getting Started
| Plan | Hosting | Description |
|---|---|---|
| Pro | Self-hosted | Run Cyrus on your own machine or server |
| Pro | Cloud-hosted | We run Cyrus for you in our cloud |
| Team | Self-hosted | Run Cyrus on your infrastructure with team features |
| Team | Cloud-hosted | Fully managed with team collaboration |
| Community | End-to-End Self-hosted | Zero cost. Host everything yourself, including Linear OAuth app |
Pro & Team Plans
Configure Cyrus through the dashboard at app.atcyrus.com.
For self-hosted deployments:
# Install Cyrus
npm install -g cyrus-ai
# Authenticate with your token (provided during onboarding)
cyrus auth <your-token>
For Cyrus to create pull requests, configure Git and GitHub CLI. See Git & GitHub Setup.
Keep Cyrus running as a persistent process:
- tmux:
tmux new -s cyrusthen runcyrus(Ctrl+B, D to detach) - pm2:
pm2 start cyrus --name cyrus - systemd: See Running as a Service
For cloud-hosted deployments:
No installation required. Everything is managed through app.atcyrus.com.
End-to-End Self-Hosted (Community)
Zero cost option with full control. This requires hosting everything yourself, including your own Linear OAuth app.
Follow the complete End-to-End Self-Hosting Guide.
Documentation
- End-to-End Self-Hosting Guide - Complete community self-hosted setup
- Git & GitHub Setup - Git and GitHub CLI configuration for PRs
- Configuration Reference - Detailed config.json options
- Cloudflare Tunnel Setup - Expose your local instance
- Setup Scripts - Repository and global initialization scripts
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Credits
This project builds on the technologies built by the awesome teams at Linear, and Claude by Anthropic: