Prwatch

io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.2.0更新于 Nov 3, 2026

你的开放 GitHub PR 关注报告:当前需要你处理的事项。

AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。

原文描述

Attention report for your open GitHub PRs: what needs you right now.

已验证STDIO仅桌面效率与工作流开发者工具

概览

Prwatch 的本地 MCP 服务;无需登录;STDIO。

暂无 AI 概览:以下信息来自注册中心条目和服务本身。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Prwatch,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

prwatch

[npm version] [npm downloads] [MCP Registry]

What needs your attention right now? prwatch answers that question for contributors with open PRs.

It was born from a real day: three PRs open in one repo, CodeRabbit reviews on all three, a Vercel deploy failure that was not the author's fault, and no way to see at a glance which PR actually needed work. Manually reading every review thread on every PR is the old way. prwatch ranks your open PRs by urgency with human readable reasons, so you open the right one first.

Quickstart

bash
npx @reneturcios/prwatch attention

Install

Requirements: Node 20+.

bash
npx @reneturcios/prwatch attention

Or install it globally:

bash
npm install -g @reneturcios/prwatch

Set GITHUB_TOKEN (or GH_TOKEN) for the 5000 req/hr authenticated rate limit. Without a token it works at the 60 req/hr unauthenticated rate.

Run it with Docker

prwatch also ships as a container image on GHCR: ghcr.io/cloudcorprecords/prwatch.

Use it as a stdio MCP server:

bash
docker run -i ghcr.io/cloudcorprecords/prwatch

Any CLI command can be passed after the image name instead of the default mcp argument:

bash
docker run ghcr.io/cloudcorprecords/prwatch <command> [args]

Authentication

A token is optional. --repo mode and prwatch show work without one, since they never touch the search API. Account-wide reports (attention / list without --repo) use author: search, which GitHub restricts for unauthenticated callers on some accounts, so a token is recommended there. A classic token with no scopes is enough for public data; without one you get clear guidance instead of a raw 422.

CLI usage

bash
prwatch attention                     # rank my open PRs by urgencyprwatch attention --user octocat --repo shadcn-labs/pdfcnprwatch attention --json              # machine readable outputprwatch list                          # simple one line per PRprwatch show https://github.com/shadcn-labs/pdfcn/pull/92

Example output:

[ACTION]  74  shadcn-labs/pdfcn#92         feat: add Business Letter block         - 4 unresolved review threads need a reply or code change (business-letter.tsx, business-letter.mdx)         https://github.com/shadcn-labs/pdfcn/pull/92[READY]   45  shadcn-labs/pdfcn#93         feat: add Resume block         - Approved and green, ready to merge.         https://github.com/shadcn-labs/pdfcn/pull/93

prwatch show gives the deep dive: review state, every check with its conclusion, unresolved review threads with file and line, and the full attention breakdown.

MCP server

Same engine as the CLI, exposed over stdio for Claude, Cursor, and Cline:

ToolWhat it does
attention_report({user?, repo?})Ranked attention report with scores, categories, and reasons
list_my_prs({user?, repo?})Simple list of open PRs
pr_status({url})Deep dive on one PR: reviews, checks, threads, attention score

Claude Code / Cursor config (~/.claude.json or MCP settings):

json
{  "mcpServers": {    "prwatch": {      "command": "node",      "args": ["/absolute/path/to/prwatch/dist/mcp.js"],      "env": { "GITHUB_TOKEN": "ghp_your_token_here" }    }  }}

Start it directly with npm run start:mcp.

How scoring works

Every open PR starts at 50 points and gains or loses urgency from signals:

SignalEffect
Changes requested by a reviewer+30, category ACTION
Merge conflict (unmergeable branch)+25, category ACTION
Failing check on your code (build, test, lint, DCO)+12 each, category ACTION
Unresolved review thread that asks for a change+8 each, category ACTION
Approved, checks green, mergeableREADY, score capped at 45
Failing check that is not your fault (for example Vercel "Authorization required to deploy")classified BLOCKED_EXTERNAL, low urgency
Check suite waiting for a maintainer to approve the workflow run (action_required, the usual fork PR state)classified BLOCKED_EXTERNAL, low urgency; the check never ran, so it is never counted as a failing check
Checks still runningWAITING
7+ days of silence with no approvalSTALE

Score is clamped to 0-100. Categories rank in this order: ACTION, BLOCKED_EXTERNAL, READY, WAITING, STALE. The report sorts by score, then category.

Two judgment calls worth knowing:

  1. External blockers are not failures. A preview deploy that fails because a maintainer has to authorize it is GitHub-marked "failure", but no code change fixes it. prwatch detects known patterns (authorization required, sign in to deploy, waiting on team approval) and files them as external, so they never inflate your urgency. The same applies to a check run that concluded action_required: GitHub held the workflow for maintainer approval (the normal state of a fork PR), so the check never ran and carries no failure evidence at all, whatever its name or description says.
  2. Thread resolution is approximated. The GitHub REST API cannot say whether a review thread is resolved, so top level review comments from non authors count as open threads. Comments that suggest a change (code suggestions, "please", "consider", "fix") count as actionable.

Development

bash
npm installnpm test        # tsx --test test/*.test.tsnpm run build   # tsc, emits to dist/npm run dev     # run the CLI from source

Fixtures in test/fixtures/ are modeled on the real shapes of shadcn-labs/pdfcn PRs #92, #93, and #94 from 2026-10-13. Tests never touch the network.

License

MIT. Copyright (c) 2026 Rene Turcios. See LICENSE.

The toolkit

This tool is one of four in a lifecycle for open-source contribution work, all published under the @reneturcios npm scope and each available as a CLI and an MCP server (<tool> mcp):

  1. gatefile (npx @reneturcios/gatefile) extracts a repo's contribution gates into a committed contribution-gates.json.
  2. greenlight (npx @reneturcios/greenlight) pre-flights issues (GO / RISKY / TAKEN / GATED / STALE), consumes gatefile's output in check and scan, then claims, preps, and opens PRs.
  3. claimcheck (npx @reneturcios/claimcheck) watches for stale claims and fixes parked on forks.
  4. prwatch (npx @reneturcios/prwatch) triages your open PRs by what needs you right now.

If prwatch saved you time, star this repo: it helps other developers find it.

来源:README.md,提交 4bea665

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

5
  1. v0.2.0最新Nov 3, 2026
  2. v0.1.4Oct 26, 2026
  3. v0.1.3Oct 24, 2026
  4. v0.1.2Oct 18, 2026
  5. v0.1.1Oct 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分