Open source · Runs on localhost · No account

Silence GitHub. Keep what needs you.

Zéro Ping turns GitHub notifications into one sorted list of what waits on you: reviews, replies, your pull requests and your team’s, each with its Slack threads and an AI summary. It runs on your machine, with your own tokens.

Get started
(3) Zéro Ping Try it: click a folder, press j / k / e

Demo data. The app’s interface is in French.

Plugs into the tools you already use

How it sorts

From forty pings to the three that matter.

  1. 1

    Everything arrives

    The server polls GitHub at the pace GitHub asks for, with If-Modified-Since: unchanged checks cost no quota. A review-requested search runs every five minutes on top.

  2. 2

    The noise is filed

    Merged or closed PRs, bots, CI activity, releases and the authors you choose go to Traités. The rules never touch what waits on you.

  3. 3

    What’s left is scored

    Review asked of you, last missing reviewer, waiting time, size, CI, urgent labels, and the urgency Jev estimates. Every point is explained.

  4. 4

    Context is attached

    An agent finds the Slack threads that cite each PR, and an AI summary tells you where things stand and what is expected from you.

Jev KPIs

Know what a PR will cost you before you open it.

Jev, the app’s decision model, reads the description, the comments, the CI, the files and the start of the diff, and answers the same questions on every pull request and every issue. Each answer comes with its scale and its confidence.

Jev KPIs

    • nothing to flag
    • keep an eye on it
    • look at it
    • uncertainJev is less than 50% sure: not counted

    A ranking for what nobody assigned to you

    Teammates’ PRs and sprint tickets have no inbox rule, so Jev’s urgency ranks them on the same 0 to 100 gauge: can wait, normal, important, blocking or urgent.

    Jev runs with your TypeSafe key, or any model through AI_DECISION_MODEL. It is only called when an item’s content changes. Without it, deterministic rules rank the list.

    1. 100acme/api #240Payment webhook drops events after deployBlocking or urgent
    2. 67acme/web #398Dark mode for settingsImportant
    3. 33acme/docs #74API versioning guideNormal
    4. 0acme/mobile #91Rename analytics eventsCan wait

    A tour of the app

    Every screen built around one question: what needs you now?

    Zéro Ping inbox with the To review folder and a pull request open: Jev KPIs, AI summary and Slack thread
    The inbox: priority gauge on every row, Jev KPIs, AI summary and the Slack thread next to the PR.

    Demo data. Labels shown in English; the app itself is in French for now.

    Features

    Everything a lead dev needs to clear the queue.

    AI summaries, at the length you want

    From the GitHub conversation and the Slack threads found. Saved, and flagged when newer activity makes them stale.

    ✦ Résumé IA Pas à jour

    A score you can open

    Hover any item in the app to see why it ranks where it does.

    Slack, next to GitHub

    Threads that cite the PR, found with your own Slack access. Reply in the thread from the app.

    A counter that wants to be zero

    On the sidebar logo, in the tab title and on the favicon. At zero, it all disappears.

    A daily recap at 9:05

    Each working day at the time you choose, and /standup:team drafts the standup in Slack.

    Built for the keyboard

    Move, select, reply, mark as done, switch to the diff. Try the keys on this page.

    • jnext
    • kprevious
    • edone
    • xselect
    • rreply
    • oopen
    • ddiff
    • ⌘ ↵send

    Your PRs, unblocked

    Read the failing jobs with their log, re-run the failed GitHub Actions jobs, merge with the method you pick.

    Nobody’s PR left behind

    The team view lists PRs with no reviewer, changes requested, red CI, conflicts or open too long. Take one in a click.

    Local and private

    Nothing to host. Nothing to sign up for.

    Zéro Ping is a Node server on your laptop with an embedded database. It only talks to services you already use, with your own credentials.

    GitHub API

    With gh auth token. Polls with If-Modified-Since, so a 304 costs no quota.

    Jev (optional)

    With your TypeSafe key, only when an item’s content changes. Without it, deterministic rules.

    Your machine

    Zéro Ping

    localhost:4747

    PGlite · .data/

    Claude Code · Codex

    Your CLI and your account, run non-interactively for summaries, questions and search.

    Slack

    Through your agent’s connector. Search is read-only; it posts only the replies you send.

    Quick start

    Running in four commands.

    • Node.js 22.12+ and pnpm
    • GitHub CLI signed in with gh auth login, or a GITHUB_TOKEN
    • For AI and Slack: Claude Code with the Slack connector, or Codex with a Slack MCP server
    • Optional: a TypeSafe API key for Jev scoring
    • Optional: macOS, for the Dock app with a ping badge
    Full setup in the README (French) →
    zsh · ~/code
    $ git clone https://github.com/Alexandredc/github-management.git
    $ cd github-management && pnpm install
    $ cp .env.example .env   # add TYPESAFE_AI_API_KEY if you have one
    $ pnpm dev
      ➜  Local:   http://localhost:3000/
      first sync: last 30 days of notifications

    Zero pings left.

    Zéro Ping is open source. Read the code, run it on your machine, bend it to your team’s way of working, and send back what you improve.

    • TanStack Start
    • React 19
    • Tailwind CSS v4
    • shadcn/ui
    • PGlite
    • Drizzle ORM
    • AI SDK
    • Octokit