Skip to content

GitHub integration

Sybra talks to GitHub through the gh CLI and GraphQL. No OAuth app, no webhook server — Sybra reuses your local gh auth token.

Enable it in config:

github:
enabled: true

GitHub pageGitHub page

The tab has four views: Issues, My PRs, Reviews, Renovate.

GitHub issuesGitHub issues

Sybra periodically queries issues assigned to your GitHub user across all registered projects. For each issue:

  • Shows number, title, labels, repository
  • If already linked to a Sybra task, shows the task ID
  • Otherwise offers Create task

Create task generates a task with:

  • title from issue title
  • body from issue body
  • issue: pointing to the issue URL
  • project_id matching the repo
  • tags inferred from issue labels

Once created, the orchestrator triages normally.

My PRsMy PRs

Lists PRs authored by your user across registered projects. Per PR:

  • Status (open, draft, merged, closed)
  • CI state (passing, failing, pending)
  • Review state (approved, changes requested, pending)
  • Linked Sybra task, if any

Click a PR to open detail view:

PR detailPR detail

Actions on PR detail:

  • Open in Browser — jump to the PR on GitHub

The authored-PR detail view intentionally avoids write actions today. Approve, Merge, Rerun Checks, and Fix CI are wired up only on Renovate-authored rows — see Renovate below.

ReviewsReviews

PRs awaiting your review, across all projects. From here you can dispatch a review agent:

Reviews — plan selectedReviews — plan selected

The review agent:

  1. Checks out the PR branch in a worktree
  2. Runs static analysis (per-project configured linters/tests)
  3. Reads the diff and emits review comments
  4. Posts them to GitHub as a pending review

You get a chance to edit before submitting. The agent’s output is a proposal, not an auto-approval.

Add comments on specific lines in the diff view. Resolve or delete individually. Comments persist until resolved.

Click Submit review. Sybra posts to GitHub with your account. You decide approve / request-changes / comment.

RenovateRenovate

Renovate integration is opt-in:

renovate:
enabled: true
author: "app/renovate" # or your Renovate Bot username

Renovate PRs show inline with CI state. Per-row actions:

  • Approve — posts an approval review
  • Merge — merges the PR
  • Rerun checks — re-triggers failing workflows
  • Fix CI — dispatches a headless agent to fix red CI

If your config enables renovate.enabled and the Monitor is running, Renovate PRs that go green can auto-merge. Configure the rules per project via GitHub branch protection — Sybra respects GitHub’s decisions.

Fix CI on a failing Renovate PR:

  1. Creates a Sybra task of type normal, with run_role: pr-fix
  2. Dispatches a headless agent in a worktree on the PR’s branch
  3. Agent pulls CI logs, identifies the failure, edits code, pushes
  4. On green CI, the watchdog marks the PR mergeable

Clicking any PR (from My PRs, Reviews, or Renovate) opens the unified PR detail page. It shows:

  • Diff with inline comments
  • Checks state with raw log tails
  • Linked task (if any)
  • Actions appropriate to your relationship with the PR (author vs reviewer)
github:
enabled: true
renovate:
enabled: true
author: "app/renovate" # bot username that authors Renovate PRs
monitor:
issue_repo: "Automaat/sybra" # where the monitor posts meta issues
issue_label: "monitor"
  • Never force-pushes without your explicit instruction
  • Never merges PRs that don’t pass branch protection
  • Never auto-opens PRs without a run_agent step that ends in link_pr_and_review
  • Never edits commit history (no rebase, no amend, no --force) unless you prompt the agent to

This is deliberate. GitHub is the source of truth; Sybra is a polite client.