npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

repro-pilot

v0.1.0

Published

Evidence-driven GitHub issue reproduction and fixing workflow for Pi Coding Agent

Readme

ReproPilot

English | 简体中文

ReproPilot 是一个基于 Pi Coding Agent 的 issue 复现 agent。

给它一个 GitHub issue 链接,它会在对应仓库的本地副本中调查问题、复现行为、创建回归测试,并用实际执行过的命令和测试作为证据。加上 --fix 后,它还会尝试修复并验证。

适合谁

  • 想学习证据驱动 coding agent 如何工作的开发者。
  • 想把 issue 转换成可复现测试案例的项目维护者。
  • 想先确认 bug,再决定是否修复的开发者。

ReproPilot 在本地运行,不会自动 commit、push 或创建 PR。

它会做什么

读取 issue → 分析 → 复现 → 创建失败的回归测试
                              ↓
                 不加 --fix:验证并报告
                 加上 --fix:修复 → 验证 → 报告

仅仅阅读代码不能证明问题已复现。ReproPilot 必须获得实际运行命令或测试产生的证据。

架构

ReproPilot 是一个由四层组成的 Pi package:

| 路径 | 职责 | | --- | --- | | extensions/repro-workflow/ | 接入 Pi:注册 /repro、自定义工具、Session 事件和 TUI 状态 | | skills/repro-workflow/ | 告诉模型应该按照什么步骤复现问题 | | src/core/ | 不依赖 Pi,负责工作流状态、证据规则、持久化验证和报告生成 | | src/github.ts | 加载并验证 GitHub issue,同时检查当前仓库是否匹配 |

Pi 提供模型循环和内置仓库工具;ReproPilot 只增加 issue 复现流程和由代码强制执行的证据门槛。

使用要求

  • Node.js 22.19 或更高版本。
  • 已配置模型的 Pi Coding Agent。
  • issue 所属仓库的本地副本,并具有正确的 GitHub origin
  • 目标仓库需要的依赖和本地运行环境。

目标仓库不受编程语言或测试框架限制。

ReproPilot 会在当前仓库中运行命令,也可能创建或修改文件。运行前请检查工作区状态,或者使用单独的分支。

快速开始

使用 npm 安装 Pi:

npm install -g --ignore-scripts @earendil-works/pi-coding-agent

--ignore-scripts 会在安装过程中禁用依赖项生命周期脚本。Pi 在正常的 npm 安装过程中不需要安装脚本。

也可以使用安装程序:

curl -fsSL https://pi.dev/install.sh | sh

使用 API 密钥进行身份验证:

export ANTHROPIC_API_KEY=sk-ant-...
pi

或者使用已有订阅:

pi
/login  # 然后选择提供商

然后安装一次 ReproPilot:

pi install npm:repro-pilot

公开 issue 不需要 GitHub token。对于需要登录才能访问的 issue,请在启动 Pi 前设置 GITHUB_TOKEN

运行

先下载或打开 issue 所属仓库:

git clone https://github.com/OWNER/REPOSITORY.git
cd REPOSITORY
git switch -c test-repro-pilot
pi

建议使用独立分支,因为 ReproPilot 可能创建测试或修改源码。分支名可以自行修改。

请直接正常启动 Pi,不要添加 --no-skills:它会禁用 ReproPilot 自己的 workflow skill。ReproPilot 不包含任何无关 skill。

替换其中的大写占位符,然后在 Pi 中运行:

/repro https://github.com/OWNER/REPOSITORY/issues/ISSUE_NUMBER

这会复现问题并创建回归测试,但不会修改源代码来修复问题。

如果还希望尝试修复:

/repro https://github.com/OWNER/REPOSITORY/issues/ISSUE_NUMBER --fix

issue 所属仓库必须与当前仓库的 GitHub origin 一致。两者不匹配时,ReproPilot 会停止,避免修改错误的代码库。

查看运行状态

Pi 会显示类似状态:

repro:triage evidence:0 test:not_started fix:not_started
  • repro:当前工作阶段。
  • evidence:已记录的证据数量。
  • test:回归测试状态。
  • fix:修复状态。

| 阶段 | 含义 | | --- | --- | | triage | 理解 issue,定位相关代码和测试 | | reproduce | 运行代码,比较实际行为与预期行为 | | test | 创建回归测试,并确认它在原始代码上失败 | | fix | 修改源代码,仅在使用 --fix 时进入 | | verify | 运行回归测试和相关现有测试 | | report | 生成最终报告 |

test 可能是 not_startedfailingpassingblockedfix 可能是 not_startedapplied

查看最终结果

| 结果 | 含义 | | --- | --- | | reproduced | 问题已复现,回归测试在原始代码上失败,但没有修复源代码 | | fixed | 问题已复现并修复,回归测试和相关现有测试都通过 | | not_reproduced | 已实际尝试复现,但没有观察到 issue 描述的问题 | | blocked | 因信息、依赖或环境不足而无法继续 |

最终报告写入目标仓库:

.repro-pilot/runs/<run-id>/report.md

阅读报告时,先看 OutcomeVerification。需要检查结论依据时,再看 Evidence Details 中的命令、退出码和相关输出。每条证据使用 E1E2 等编号。

当前限制

  • 只接受 github.com 的 issue URL。
  • 需要用户提前打开匹配的本地仓库。
  • 目标项目的依赖和测试必须能够在本地运行。
  • 不提供云端隔离环境,不自动 commit、push 或创建 PR。