Skip to content

A GitHub App you deploy yourself

Your whole org’s CI, on one screen.

Pull requests, the Actions queue, self-hosted runners and the numbers behind them, across every repository at once. GitHub shows you this one repository at a time.

No tokens to paste and no per-user setup. GitHub enforces the permissions.

The Actions queue for the whole organization. GitHub only shows it one repository at a time.

Stuck-run diagnosis

Know why a run is stuck in seconds, not after a day.

A queued run can be waiting for a free runner, for a label no machine in your pool carries, or for nothing at all. Mission Control tells these apart instead of leaving all three to look like starvation.

  • Zero-job runs, named

    Sometimes GitHub never builds the jobs for a run. It can never start, and cancel, re-run and delete are all refused. The queue flags it as “no jobs”.

  • Labels checked against your pool

    For self-hosted jobs, runs-on is compared with the labels of your organization’s runners, so a typo shows up as a likely mismatch rather than a mystery. Needs organization admin, like the runner view.

  • Dismiss what GitHub wedged

    Mark a dead run as dismissed so it stops counting as pending work. The whole organization sees the verdict, it is audited, and nothing is sent to GitHub.

What’s inside

Everything GitHub shows per repository, for the whole organization.

  • Dashboard

    The organization at a glance: open vs stale PRs, queue depth, runner utilization, merge throughput and failed runs.

  • Pull requests

    Every open PR with its age, review backlog, CI verdict and stale flag. Comment, close or re-request review in bulk; merge one PR at a time, behind safety checks.

  • Actions queue

    What waits, what a newer run has superseded, and why something is stuck. Bulk cancel respects a protected-branch and protected-workflow policy.

  • Run history

    Finished runs with queue, execution and lead-time metrics, histograms and breakdowns by author, workflow and repository. Retry failed jobs in bulk.

  • Runners

    Health of the self-hosted pool: online, busy, free. Edit custom labels and add a routing label to a runner. Needs organization admin.

  • Releases

    What is live where: the latest release of every repository next to its most recent deploy run.

  • Insights

    Merge throughput, time to merge and review latency: how the organization actually ships.

  • Audit log

    Every bulk action, merge, cancel and label change: who, when, what, and the outcome.

How it works

Install once. Everyone else just signs in.

  1. Deploy and install once

    Whoever runs the deployment creates the GitHub App, and an organization owner installs it. No webhooks, no background jobs.

    Install on your organization
  2. Everyone else signs in

    No tokens to paste, no per-user configuration, no roles to hand out.

  3. You see exactly your access

    Every call runs with your own GitHub token, so you act only where you already have rights.

your token → GitHub API → your permissions. Nothing in between.

Security

Permissions stay where they already are: in GitHub.

  • Your token, your permissions

    Every call runs with the signed-in user’s token. GitHub enforces access, so there are no in-house roles to get wrong.

  • Every action audited

    Cancels, merges and label changes go into a shared log: who, when, what, and the outcome.

  • No tokens at rest

    The session lives in an encrypted cookie. The database holds history and audit entries, never tokens.

  • Live data is not stored

    PRs, the queue and runners are fetched on demand behind a short per-user cache. Only history is persisted.

Good to know

What it doesn’t do.

  • One organization at a time. You switch between installations from the top bar.
  • The runner view needs organization admin. Other members get an explanation instead of a table.
  • Queue priorities can’t be set, because GitHub does not expose them.
  • It spends your GitHub API budget (5,000 requests an hour per user). Every refresh costs a few requests per repository, so large organizations should tune the scan limits.

One console for the whole organization. See where the work actually is.

Sign in with GitHub