Skip to content

Extensions

Syrus plugins

Browse the plugin gems bundled with Syrus. Each plugin documents the extension points it owns, when to enable it, and how it fits into a Syrus installation.

Admin MySQL

observability

Admin MySQL exposes the live state of a Syrus instance's MySQL server: process list, connection pressure, slow-log configuration, statement digests, and targeted query termination. It is intentionally operator-facing and disabled by default because it surfaces database internals and control actions. Use this plugin when a deployment runs against MySQL and needs real-time production diagnosis without shelling into the database pod. SQLite-backed installations do not need it.

Agent Activity

observability

Documentation is not available yet.

Agent Insights

observability

Documentation is not available yet.

Agent Memory

agent_capability

Documentation is not available yet.

Antigravity Agent

agent_provider

Antigravity Agent connects Syrus workflows and chats to Google's `agy` CLI. It provides the provider adapter used for implementation, review, repair, coding handoff, and interactive chat sessions, while feeding provider availability and failure classification back into Syrus' admission and retry systems. Enable this plugin when a Syrus instance should offer Antigravity-backed automation. It can run alongside the Claude and Codex plugins so jobs and chats choose the appropriate provider per workflow or conversation.

Alertmanager Investigations

observability

Documentation is not available yet.

Android

platform_delivery

`android` is a bundled Syrus plugin gem for Android project awareness. It layers on top of the generic `java` and `kotlin` plugins instead of replacing them: Java/Kotlin own JDK, Gradle, Maven, wrapper, and Kotlin/JVM conventions; Android owns Android Gradle Plugin, Android SDK, emulator/device, mobile runtime, and APK/AAB artifact behavior.

Browser (Playwright)

agent_capability

Browser gives workflow agents a constrained Playwright browser for visual review and preview validation. Agents can navigate, click, fill forms, capture screenshots, and submit visual artifacts while Syrus restricts navigation to the step's own loopback preview. The plugin is designed for UI work where code review alone is not enough. It keeps browser automation auditable and local to the workflow so agents can inspect visible behavior without gaining arbitrary network access.

Build Cache

tooling

Documentation is not available yet.

Claude Agent

agent_provider

Claude Agent connects Syrus workflows and chats to the Claude CLI/provider adapter. It handles agent invocation, transcript capture, provider availability evidence, and the same workflow-side MCP tool surface used by implementation, review, repair, and chat turns. Enable this plugin when a Syrus instance should offer Claude-backed automation. It can run alongside other agent-provider plugins so jobs and chats choose the appropriate provider per workflow.

Codex Agent

agent_provider

Codex Agent connects Syrus workflows and chats to Codex. It provides the provider adapter used for implementation, review, repair, coding handoff, and interactive chat sessions, while feeding provider availability and failure classification back into Syrus' admission and retry systems. Enable this plugin when a Syrus instance should offer Codex-backed automation. It is independent from the Claude plugin, so operators can run either provider or both.

Review Notes

agent_capability

Review Notes is a bundled Syrus plugin for agent-authored review notes on changed diff ranges. After implementation-style workflows, it can run a review pass that flags code ranges worth operator attention and surfaces concise notes in the Job review tab. Notes are stored as plugin-owned records scoped to the Job, Workflow, Run, and DiffReviewVersion that produced them. Open notes count as unresolved PR-level review-note debt; acknowledged notes, discussed notes, and covered ranges with operator diff comments count as acknowledged. Dismissed notes are reported separately in the rollup. Changed lines without a note do not create debt.

Credential Store

agent_capability

Documentation is not available yet.

Design Docs

collaboration

First-party Syrus plugin for collaborative Markdown design documents. Design Docs are internally authored Markdown documents with auditable versions, inline comments, owner-reviewed suggestions, repository associations, and chat workspace visibility. They complement the host app's attachment-oriented `Document` model rather than replacing it.

Discord

platform_delivery

Discord adds a platform-delivery channel for Syrus chat. It links Discord users to Syrus accounts, listens for direct messages through the Gateway, and delivers chat replies back to Discord so operators can interact with Syrus away from the web UI. The plugin is disabled by default because it requires Discord credentials and a running Gateway connection. Once configured, it behaves as another chat surface rather than a separate automation engine.

django

language

`django` is a Syrus plugin gem that bundles Django-framework-specific intelligence into a single `PluginRegistry.register` call. It lives at `plugins/django/` inside the Syrus repository and `depends_on: [ "python" ]`: enabling `django` in Admin → Plugins cascades to enable `python`, and disabling `python` while `django` is enabled surfaces a confirm-and-cascade-disable prompt. See `config/syrus_docs/plugins.md` for the general `depends_on` mechanism. Python-generic capabilities that aren't specific to Django — uv/poetry/pip prepare detection, pytest grader failure detail, and the venv/uv activation prompt reminder — live in the separate `python` plugin (`plugins/python/`) instead, so non-Django Python projects (Flask, FastAPI, plain scripts) can use them too.

Git History

observability

Git History adds a repository tab that traces commits back to the Syrus work that produced them. It connects Git commits to jobs, epics, chats, issues, cron tasks, and landing activity so operators can answer why a commit exists and which automation path created it. This plugin is useful for auditability and debugging confusing branch history. It reads local bare clones maintained by Syrus and presents the history in the app without changing repository behavior.

Git Mirror

tooling

Documentation is not available yet.

GitHub Host

connectivity

Documentation is not available yet.

GitHub Source

input_source

GitHub Source is Syrus' built-in GitHub integration. It polls issues and pull requests, opens and updates PRs, reads check state, performs landing operations, and supplies the source-control primitives other workflows rely on. For most Syrus installations this is the default path for issue-to-PR automation and stays enabled. It can be disabled once nothing uses it; the disable guard blocks the attempt while any input source or active repository still does. Future source plugins can follow the same extension points, but GitHub remains the default path for issue-to-PR automation.

Search

collaboration

Documentation is not available yet.

go

language

`go` is a Syrus plugin gem that bundles Go-generic intelligence into a single `PluginRegistry.register` call. It lives at `plugins/go/` inside the Syrus repository and applies to any Go project — there's no framework-specific split here the way `django` splits out of `python`, since net/http, Gin, Echo, etc. don't share a single web-serving convention.

ios

language

`ios` is a Syrus plugin gem for iOS and Swift validation that must run on native macOS workers. It lives at `plugins/ios/` and contributes typed grader declarations rather than scheduler special cases.

java

language

`java` is a Syrus plugin gem that bundles generic Java/JVM intelligence into a single plugin registration. It lives at `plugins/java/` inside the Syrus repository and applies to Java services, CLIs, libraries, and mixed-language repositories with JVM components.

javascript

language

`javascript` is a Syrus plugin gem that bundles Node/JS (and TS) prepare detection and dev-server preview hosting into a single `PluginRegistry.register` call. It lives at `plugins/javascript/` inside the Syrus repository. Named for language parity with `ruby`/`python` rather than `node`, since npm/yarn/pnpm/bun + `package.json` detection is identical for JS and TS repos.

Kubernetes Cluster Viewer

tooling

K8s Cluster Viewer lets admins register external Kubernetes/k3s clusters, parsed from a pasted kubeconfig, with encrypted credential storage, and browse them read-only from a tabbed sidebar UI. Read-only cluster inspection is also available to the Syrus agent as MCP tools, gated per-cluster via `agentic_access_enabled`. A short, explicit allowlist of write/mutating MCP tools (restart a deployment rollout, scale a deployment, delete a pod, cordon/uncordon a node) is additionally gated per-cluster via a separate `allow_writes` opt-in.

kotlin

language

`kotlin` is a Syrus plugin gem that layers Kotlin/JVM language awareness on top of the generic Java plugin. It lives at `plugins/kotlin/` inside the Syrus repository and applies to Kotlin/JVM services, CLIs, libraries, and mixed-language repositories with Kotlin components.

Linear Source

input_source

Linear Source connects Syrus to Linear teams and issues. It lets operators ingest Linear work into Syrus jobs and epics while preserving Linear as the planning system of record. The plugin is disabled by default because it requires Linear credentials and team selection. It complements GitHub Source: Linear can provide the work intake while GitHub remains the code and PR backend.

Metrics Dashboard

observability

Documentation is not available yet.

Mockups

agent_capability

Preview Tools gives planning-mode chat agents a safe scratch area for building lightweight HTML, CSS, and JavaScript previews. The tools are scoped away from repository checkouts, so agents can mock up ideas and show interactive artifacts without modifying project code. Use this plugin when chat should support exploratory UI sketches before a real job is filed. It is intentionally separate from repository preview providers, which run actual application code from workflow workspaces.

Muse Agent

agent_provider

Muse Agent connects Syrus workflow and chat execution to Muse Code. Muse is intentionally shipped as an installed but disabled plugin until an operator enables it for an instance. Turn it on from **Admin -> Plugins -> Muse Agent** after the worker/backend image has the `muse` CLI on `PATH` and the pilot users have saved Muse API keys. Turning the plugin off removes Muse from agent/chat provider selection and disables its credential probe for new requests without deleting saved encrypted keys.

MySQL DB Browser

tooling

MySQL DB Browser lets admins register external MySQL connections, inspect schemas, browse table contents, and run controlled queries from the Syrus admin UI. Credentials are stored encrypted and connections are explicit per database target. This plugin is separate from Admin MySQL: Admin MySQL inspects Syrus' own runtime database, while MySQL DB Browser is for operator-managed external databases that Syrus may need to inspect.

Operator Briefing

observability

Operator Briefing is the per-repository briefing surface for operators. The plugin is off by default. When enabled, it adds a top-level `/briefing` sidebar page, records queryable review findings, notable workflow-change facts, and early "blocked on you" signals from open design-doc discussion threads, then synthesizes stored `narrative`, `chart`, `image`, `artifact`, and `link_card` blocks into per-repository briefing revisions. Image and artifact blocks render existing typed artifacts captured by the summarized Workflow; the briefing does not generate fresh artifacts for the main page.

Plugin Runtime

tooling

Documentation is not available yet.

python

language

`python` is a Syrus plugin gem that bundles Python-generic intelligence into a single `PluginRegistry.register` call. It lives at `plugins/python/` inside the Syrus repository and applies to any Python project (Flask, FastAPI, plain WSGI, scripts) — framework-specific tooling (e.g. Django) belongs in its own plugin. See [`docs/syrus_docs/python.md`](docs/syrus_docs/python.md) for the full operator-facing writeup of what this plugin provides (also the copy surfaced by the admin Plugins detail page and `search_syrus_docs`). This README stays focused on developing the plugin itself.

syrus_rails

language

`syrus_rails` is a Syrus plugin gem that bundles Rails-*framework*-specific capabilities into a single `PluginRegistry.register` call (registered manifest name `syrus-rails`). It lives at `plugins/rails/` inside the Syrus repository and is the primary integration point for Ruby on Rails repositories. Ruby-generic capabilities that aren't specific to Rails — RSpec grader failure detail, RSpec output parsing, SimpleCov coverage analysis, and Gemfile prepare detection — live in the separate `ruby` plugin (`plugins/ruby/`) instead, so non-Rails Ruby projects (gems, Sinatra apps, plain scripts) can use them too. `syrus_rails` declares `depends_on: [ "ruby" ]`: enabling `syrus_rails` in Admin → Plugins cascades to enable `ruby`, and disabling `ruby` while `syrus_rails` is enabled surfaces a confirm-and-cascade-disable prompt. See `config/syrus_docs/plugins.md` for the general `depends_on` mechanism.

ruby

language

`ruby` is a Syrus plugin gem that bundles Ruby-generic capabilities — not specific to Rails — into a single `PluginRegistry.register` call. It lives at `plugins/ruby/` inside the Syrus repository and applies to any Ruby project: gems, Sinatra apps, plain Ruby scripts, and Rails apps alike.

Runtime Terminal

agent_capability

Documentation is not available yet.

Scheduled Tasks

input_source

Documentation is not available yet.

Spending Insights

observability

Spending Insights adds a sidebar page for understanding agent spend across Syrus. It rolls costs up by epic, repository, user, provider, and workflow trigger so operators can see where automation budget is going. Use it on instances where cost visibility matters. It reads existing accounting data and does not change scheduling, grading, or job behavior.

Syrus Dev

tooling

Syrus Dev contains tooling that is useful when developing Syrus itself: performance diagnostics, operational logs, admin observability pages, and workflow MCP helpers that expose Syrus runtime data to Syrus-development jobs. Keep this plugin disabled on ordinary installations unless operators explicitly want Syrus-internal diagnostics. It is not a general admin plugin; it exists to make Syrus better at building and debugging Syrus.

Tailscale

connectivity

Tailscale registers a Syrus instance as a Tailscale node so operators can reach it over a private tailnet. It manages lifecycle callbacks, status reporting, and the admin page needed to inspect connectivity. Enable it when an installation should be reachable without exposing Syrus directly on the public internet. It is disabled by default because it requires a Tailscale auth key and network policy decisions outside Syrus.

Team Directory

collaboration

Team Directory is the bundled, read-only people directory for a multi-user Syrus instance. It adds a Team sidebar entry at `/profiles` and profile pages at `/profiles/:id`, summarising each operator's recent jobs, epics, and active repositories from records Syrus already owns.

Terminal

tooling

Documentation is not available yet.

Test Insights

observability

Documentation is not available yet.

Theming Tools

agent_capability

Theming Tools gives the Syrus Chat agent a complete custom-theme tool set. It can draft a candidate theme and open it against the real Style Guide, validate persisted palettes for WCAG AA contrast, install a theme, and list, update, or delete the calling user's custom themes. The underlying `Theme` model stays in core (same precedent as `WhiteboardSnapshot` for `whiteboard`) — this plugin owns the chat MCP tools and the broadcast wiring that opens the preview modal.

Throughput

observability

Documentation is not available yet.

Walkthrough Videos

agent_capability

Documentation is not available yet.

Whisper speech-to-text

tooling

Documentation is not available yet.

Whiteboard

agent_capability

Whiteboard adds a shared Excalidraw canvas to chat workspaces and exposes drawing tools to chat agents. Operators and agents can sketch flows, annotate ideas, save snapshots, and revisit visual state as part of a planning session. Use it for design and architecture discussions where text is not enough. The plugin stores whiteboard state per chat and keeps the drawing surface separate from repository code.

Worker Timeline

observability

Worker Timeline visualizes overlapping Syrus activity as a multi-lane timeline: one lane per durable worker process role (`worker_storage_key` + `queue_role`), with Job/Workflow spans over time. Hostname and pid remain available on each span for "where did this run" tooltips and restart markers. It's meant to answer "what was taking a long time" and "what was this blocked on before it could start" at a glance, across jobs, epics, and repositories.