Your (Claude Code|Codex|Cursor|Gemini) powered (Linear|GitHub|GitLab|Slack) agent.
$ npx -y skills add cyrusagents/cyrus --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: cyrusagents/cyrus
What's inside
Your (Claude Code|Codex|Cursor|Gemini) powered (Linear|GitHub|GitLab|Slack) agent. Cyrus monitors (Linear|GitHub|GitLab|Slack) issues assigned to it, creates isolated Git worktrees for each issue, runs (Claude Code|Codex|Cursor|Gemini) sessions to process them, and streams detailed agent activity updates back to (Linear|GitHub), along with rich interactions like dropdown selects and approvals.
Note: Cyrus is a BYOK platform (bring your keys / subscriptions) for tokens.
Zero cost option โ host everything yourself with your own Linear OAuth app, GitHub App, and Slack App. An AI-guided setup skill handles the entire onboarding: installing dependencies, configuring auth, creating integration apps, and connecting repositories โ so you don't have to follow a manual guide.
npx skills add ceedaragents/cyrus -g
Then in any AI coding agent (Claude Code, Codex, Cursor, etc.):
/cyrus-setup
Or follow the manual setup guide if you prefer.
Configure Cyrus through the dashboard at app.atcyrus.com.
It is called 'self-hosted' because it uses a machine you control as the agent runtime. Networking layer and integrations are provided by the Cyrus cloud provider.
# Install Cyrus
npm install -g cyrus-ai
# Authenticate with your token (provided during onboarding)
cyrus auth <your-token>
For Cyrus to create pull requests or merge requests, configure Git and your hosting CLI. See Git & GitHub Setup or Git & GitLab Setup.
Keep Cyrus running as a persistent process:
tmux new -s cyrus then run cyrus (Ctrl+B, D to detach)pm2 start cyrus --name cyrusNo installation required. Everything is managed through app.atcyrus.com.
This project is licensed under the Apache 2.0 license - see the LICENSE file for details.
This project builds on the technologies built by the awesome teams at Linear, and Claude by Anthropic:
.claude/
agents/
f1-test-drive.md
settings.json
skills/
cyrus-setup
cyrus-setup-claude-auth
cyrus-setup-endpoint
cyrus-setup-github
cyrus-setup-gitlab
cyrus-setup-launch
cyrus-setup-linear
cyrus-setup-prerequisites
cyrus-setup-repository
cyrus-setup-slack
debug
f1-test-drive
google/
SKILL.md
implementation
investigate
release
release-core-test/
SKILL.md
summarize
verify-and-ship
.codex/
skills/
cyrus-setup
cyrus-setup-claude-auth
cyrus-setup-endpoint
cyrus-setup-github
cyrus-setup-gitlab
cyrus-setup-launch
cyrus-setup-linear
cyrus-setup-prerequisites
cyrus-setup-repository
cyrus-setup-slack
debug
f1-test-drive
implementation
investigate
release
summarize
verify-and-ship
.github/
actions/
install-dependencies/
action.yml
copilot-instructions.md
workflows/
ci.yml
release-cli.yml
.gitignore
.husky/
pre-commit
.npmrc
.opencode/
skills/
cyrus-setup
cyrus-setup-claude-auth
cyrus-setup-endpoint
cyrus-setup-github
cyrus-setup-gitlab
cyrus-setup-launch
cyrus-setup-linear
cyrus-setup-prerequisites
cyrus-setup-repository
cyrus-setup-slack
debug
f1-test-drive
implementation
investigate
release
summarize
verify-and-ship
.vscode/
extensions.json
settings.json
AGENTS.md
apps/
cli/
.gitignore
.npmignore
agent-prompt-template.md
app.test.ts
package.json
README.md
release-workflow.test.ts
RELEASING.md
repositories.example.json
src/
app.ts
Application.ts
commands/
AuthCommand.ts
CheckTokensCommand.ts
ICommand.ts
RefreshTokenCommand.ts
SelfAddRepoCommand.test.ts
SelfAddRepoCommand.ts
SelfAuthCommand.test.ts
SelfAuthCommand.ts
StartCommand.ts
config/
constants.ts
types.ts
services/
ConfigService.ts
createErrorReporter.test.ts
createErrorReporter.ts
Logger.ts
SentryErrorReporter.ts
sentryScrubber.test.ts
sentryScrubber.ts
WorkerService.ts
ui/
CLIPrompts.ts
utils/
getDefaultReposDir.ts
getDefaultWorktreesDir.ts
tsconfig.json
vitest.config.ts
f1/
.gitignore
CLAUDE.md
f1
package.json
README.md
server.ts
src/
cli.ts
commands/
assignIssue.ts
createComment.ts
createIssue.ts
initTestRepo.ts
listChatThreads.ts
ping.ts
promptChatThread.ts
promptSession.ts
startChatSession.ts
startSession.ts
status.ts
stopSession.ts
terminateIssue.ts
version.ts
viewChatThread.ts
viewSession.ts
templates/
index.ts
utils/
colors.ts
output.ts
rpc.ts
test-drives/
002-unit-tests-rate-limiter.md
003-git-worktree-fix-verification.md
004-validation-loop-planted-bug.md
005-stop-functionality-graceful-handling.md
006-label-based-selection-verification.md
2025-12-04-comprehensive-test-drive.md
2026-01-13-multi-repo-orchestration.md
2026-02-12-cursor-harness-validation.md
2026-02-13-cursor-harness-validation.md
2026-02-13-cursor-non-mock-f1-drive.md
2026-02-13-cursor-resume-continuation-validation.md
2026-02-13-cursor-stop-tool-logging-validation.md
2026-02-14-cursor-mcp-permissions-mapping-validation.md
2026-02-14-cursor-permissions-mapping-validation.md
2026-02-18-cypack-817-fastify-mcp-validation.md
2026-03-10-orchestrator-child-result-writing-fix.md
2026-04-13-cypack-1066-egress-proxy-comprehensive-validation.md
2026-04-13-cypack-1066-egress-proxy-header-injection-validation.md
2026-04-13-cypack-1066-egress-sandbox-branch-mcp-fixes.md
2026-04-14-cypack-1066-sandbox-sdk-proxy-interception-verification.md
2026-04-15-agent-sessions-warmup-merge-validation.md
2026-04-29-cursor-sdk-validation.md
2026-05-11-cypack-1190-auto-memory-directory.md
2026-05-13-cypack-1197-auto-memory-allowed-directories.md
2026-05-15-cypack-1204-stop-hook-fix.md
2026-05-20-cypack-1219-cyrus-teardown-sh.md
2026-05-28-cypack-1261-repo-local-skills.md
2026-06-04-codex-app-server-resume.md
2026-06-04-codex-app-server-streaming-input.md
2026-06-04-cypack-1286-codex-mcp-config.md
2026-06-04-cypack-1287-codex-managed-skills.md
2026-06-09-codex-app-server-pool-validation.md
2026-06-09-codex-shared-app-server.md
2026-06-11-cypack-1310-schedulewakeup.md
2026-06-11-cypack-1311-release-smoke.md
2026-06-11-cypack-1314-release-smoke.md
2026-06-17-cypack-1334-security-dependency-smoke.md
2026-06-18-cypack-1338-repo-setup-hook-visibility.md
2026-06-19-cypack-1340-security-dependency-smoke.md
2026-06-19-cypack-1342-release-v0.2.66.md
2026-07-23-cypack-1400-security-dependency-smoke.md
2026-07-25-cypack-1404-release-v0.2.67.md
2026-08-05-cli-release-workflow.md
2026-08-05-cypack-1423-release-v0.2.68.md
assets/
2026-06-11-cypack-1310-bgbash-lab.mjs
2026-06-11-cypack-1310-sdk-wakeup-lab.mjs
README.md
tsconfig.json
vitest.config.ts
biome.json
bun.lock
CHANGELOG.internal.md
CHANGELOG.md
CLAUDE.md
code/
test.js
CONTRIBUTING.md
cyrus-setup.sh
docs/
CLOUDFLARE_TUNNEL.md
CONFIG_FILE.md
GIT_GITHUB.md
GIT_GITLAB.md
SELF_HOSTING.md
SETUP_SCRIPTS.md
LICENSE
package.json
packages/
claude-runner/
.gitignore
package.json
src/
ClaudeRunner.ts
config.ts
formatter.ts
home-directory-restrictions.ts
HttpSessionStore.ts
index.ts
sandbox-requirements.ts
session-env.ts
types.ts
test/
test-scripts/
debug-streaming.js
edgeworker-like-test.js
mcp-isolation-test.js
minimal-async-test.js
production-like-test.js
quick-test.js
README.md
simple-claude-runner-test.js
streaming-test.js
subagent-functionality-test.js
test-continue-flag.js
test-direct-sdk.js
test-get-child-issues.js
test-mcp-config.js
test-readable-logging.js
workdir-test.js
ClaudeRunner.test.ts
config.test.ts
debug-logging.test.ts
disallowed-tools.test.ts
env-isolation.test.ts
home-directory-restrictions.test.ts
HttpSessionStore.test.ts
pending-work-lifecycle.test.ts
sandbox-requirements.test.ts
sessionStoreConformance.ts
spawn-claude-code-process.test.ts
tools/
cyrus-tools/
fs-extra-import.test.ts
tsconfig.json
vitest.config.ts
CLAUDE.md
cloudflare-tunnel-client/
.gitignore
package.json
README.md
src/
CloudflareTunnelClient.ts
ConfigApiClient.ts
index.ts
types.ts
tsconfig.json
vitest.config.ts
codex-runner/
package.json
src/
backend/
appServerClient.ts
AppServerCodexBackend.ts
appServerEvents.ts
appServerProcess.ts
codexBinary.ts
types.ts
CodexEventMapper.ts
CodexRunner.ts
CodexSkillStager.ts
config/
CodexConfigBuilder.ts
mcpConfigTranslator.ts
sandboxPolicy.ts
formatter.ts
index.ts
SimpleCodexRunner.ts
types.ts
test/
AppServerCodexBackend.test.ts
appServerEvents.test.ts
appServerProcess.test.ts
codexBinary.test.ts
CodexRunner.mcp-config.test.ts
CodexRunner.skills.test.ts
CodexRunner.streaming.test.ts
CodexRunner.tool-events.test.ts
codexVersion.test.ts
fixtures/
app-server-coding-notifications.jsonl
codex-exec-sample.jsonl
formatter.replay.test.ts
formatter.test.ts
sandboxPolicy.test.ts
tsconfig.json
config-updater/
package.json
src/
ConfigUpdater.ts
handlers/
checkGh.ts
checkGlab.ts
configureMcp.ts
cyrusConfig.ts
cyrusEnv.ts
repository.ts
skills.ts
testMcp.ts
index.ts
types.ts
test/
test-scripts/
test-check-gh.js
ConfigUpdater.test.ts
handlers/
checkGh.test.ts
cyrusConfig.test.ts
skills.test.ts
tsconfig.json
vitest.config.ts
core/
.gitignore
package.json
schemas/
EdgeConfig.json
EdgeConfigPayload.json
RepositoryConfig.json
RepositoryConfigPayload.json
scripts/
export-json-schema.ts
src/
agent-runner-types.ts
allowed-tools-defaults.ts
config-schemas.ts
config-types.ts
constants.ts
CyrusAgentSession.ts
error-reporting/
ErrorReporter.ts
globalReporter.ts
index.ts
NoopErrorReporter.ts
index.ts
issue-tracker/
adapters/
CLIEventTransport.ts
CLIIssueTrackerService.ts
CLIRPCServer.ts
CLITypes.ts
index.ts
AgentEvent.ts
IAgentEventTransport.ts
IIssueTrackerService.ts
index.ts
types.ts
logging/
ILogger.ts
index.ts
Logger.ts
messages/
IMessageTranslator.ts
index.ts
platform-refs.ts
type-guards.ts
types.ts
PersistenceManager.ts
security/
index.ts
WebhookIpValidator.ts
simple-agent-runner-types.ts
StreamingPrompt.ts
trusted-domains.ts
test/
... 352 moreFAQ
cyrus is a Claude Code plugin with 19 hand-picked skills for automation work, indexed on Flowy. Install it with the command on its page. It includes google, release-core-test, cyrus-setup-claude-auth. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.