evexBrowseAgentsDocsLeaderboard
evexthe eve agent registry
LeaderboardDocsLearneve docsllms.txt
Back to Registry

GitHub CI Explainer

coding

Explains failed GitHub Actions checks from the log.

TOby TommyBez14 files

Install

npx shadcn@latest add @evex/github-ci-explainer

What is GitHub CI Explainer?

GitHub CI Explainer is an Eve agent that Explains failed GitHub Actions checks from the log. It is for Eve developers building with code. Preview every file on this page, then install with npx shadcn@latest add @evex/github-ci-explainer. GitHub CI Explainer is an eve agent that watches failed GitHub Actions checks through a native GitHub App channel.

Explains failed GitHub Actions checks from the log.

Other package managers

Prefer pnpm, yarn, or bun? Copy the matching install command.

Package manager
$npx shadcn@latest add @evex/github-ci-explainer
Category
coding

coding agents and workflows

Files
14 files

1 tool

Requires
4 dependencies

@upstash/ratelimit@^2.0.8, @upstash/redis@^1.38.0, eve@^0.31.3, zod@4.3.6

Updated
Aug 28, 2026

Source-owned registry metadata

What's included

14 files1 tool
Dependencies:@upstash/ratelimit@^2.0.8@upstash/redis@^1.38.0eve@^0.31.3zod@4.3.6

About GitHub CI Explainer

GitHub CI Explainer is an eve agent that watches failed GitHub Actions checks through a native GitHub App channel. When a check_run completes with conclusion failure, GitHub delivers the webhook to your deployed eve app at /eve/v1/github, and the agent comments what failed plus the first useful file and line from annotations or the job log.

It sits next to GitHub Issue Maintainer and Code Reviewer in the same GitHub App world, but its job stops at explaining the failed check. It posts a regular pull request timeline comment when a PR is associated, or a commit comment when there is no PR, and it never changes the branch.

Built-in Upstash-backed rate limiting and per-check idempotency keep public deployments from comment storms when GitHub retries webhooks or several jobs fail in one suite.

How it works

  1. A completed GitHub Actions check_run with conclusion failure triggers the GitHub channel onCheckRun hook at /eve/v1/github.
  2. The channel ignores successful and non Actions checks, then checks Upstash rate limits and claims the check run id so retries do not double-post.
  3. It fetches check annotations and a short log excerpt, parses the first useful file:line, and for commit-only failures posts a commit comment without a model turn.
  4. When a pull request is associated, the channel injects a github_ci_failure_context block and dispatches the zai/glm-5.2 model.
  5. The agent calls explain_ci_failure exactly once with checkRunId, whatFailed, optional file and line, and a short excerpt. The tool has no Eve approval gate.
  6. The channel publishes a structured comment built from those fields as a regular issue or pull request timeline comment. Evals cover a failed-check smoke path and a successful-check negative path.

Use cases

Surface typecheck failures on a pull request

When TypeScript CI fails on a PR, the agent comments the failing check name, the first src file and line from the log, and a short excerpt so reviewers jump to the error without opening the Actions UI.

Explain lint or unit test job failures

ESLint and Vitest jobs that emit annotations or file:line log lines get a concise PR comment naming the job and the primary location, keeping the conversation on the pull request timeline.

Comment on commit-only CI failures

Pushes to a branch without an open pull request still get a commit comment when Contents write is granted, so solo maintainers see what failed on the SHA itself.

Safe explanations on public repositories

Upstash-backed limits default to one explanation per check every fifteen minutes and twenty per public repository per day, so noisy CI cannot exhaust your model budget.

Requirements

GITHUB_APP_ID
The App ID of the GitHub App you create under GitHub Settings, Developer settings, GitHub Apps. The app needs Metadata read, Actions read, Checks read, Contents read, Pull requests read, and Issues read/write for PR timeline comments.
GITHUB_APP_PRIVATE_KEY
The PEM private key generated from the GitHub App settings page. When stored as a single-line variable, replace literal newlines with \n; eve normalizes that form at runtime.
GITHUB_WEBHOOK_SECRET
A long random value set both in the GitHub App webhook configuration and in your deployment. A mismatch produces HTTP 401 responses at /eve/v1/github.
GITHUB_APP_SLUG
The GitHub App slug, defaulting to github-ci-explainer. Used as the channel botName; this agent is check-driven and does not require mention triggers.
KV_REST_API_URL
Upstash Redis REST endpoint used by @upstash/ratelimit for check cooldowns, daily quotas, and duplicate-publication claims. Provision it via Upstash or the Vercel Redis Marketplace integration.
KV_REST_API_TOKEN
The matching Upstash REST token. Use a read-write token, not the read-only one, because the agent writes cooldown and publication keys.
AI_GATEWAY_API_KEY
A model credential for the deployment, either a Vercel AI Gateway API key or AI Gateway OIDC, so the agent can call the zai/glm-5.2 model.

FAQ

How do I install and trigger it?

Run npx shadcn@latest add @evex/github-ci-explainer inside an eve app, deploy it over HTTPS, create a GitHub App pointing its webhook at /eve/v1/github, subscribe to Check runs, install it on your repositories, then push a change that fails GitHub Actions.

Does it change the branch or push a fix?

No. The agent only comments on the check. It never runs git push, never applies a patch to the remote branch, and never publishes a GitHub pull request review with inline review comments.

Which checks does it explain?

Only completed GitHub Actions check runs with conclusion failure. Successful, skipped, cancelled, and third-party check apps are ignored so green builds stay quiet.

Where does the comment appear?

On the associated pull request timeline when the check lists a pull request. If there is no PR, it posts a commit comment on the head SHA when Contents write is available.

How do the rate limits work?

Defaults are one explanation per failed check every 15 minutes, 50 daily explanations per private repository, and 20 per public repository. Tune with CI_EXPLAINER_* variables, or disable with CI_EXPLAINER_RATE_LIMIT_ENABLED=false for local development.

Files this command writes

14

Core

13

Tools

1

npx shadcn@latest add @evex/github-ci-explainer
evexBrowseAgentsDocsLeaderboard
Sign In
Stars24

Related Agents

View all 13 by TommyBez →
coding
226

Code Reviewer

Eve agent for GitHub PR review. Mention it on a PR for inline comments on bugs, not style.

TOTommyBezView →
coding
187

Eve Agent Builder

An Eve coding agent that creates Eve agents, runs their checks, deploys them to Vercel, and verifies the live routes.

TOTommyBezView →
coding
8

GitHub Issue Maintainer

Labels GitHub issues, asks for missing repro, and emails a weekly digest.

TOTommyBezView →
0 installs