
RepoContext
io.github.shmindmaster由 GitHub 账号 shmindmaster 发布v0.3.1更新于 Nov 3, 2026
Read-only, commit-pinned repository context for coding agents.
概览
只读的本地 MCP 服务器,让编码代理在 Git 仓库中查找、生成并校验与提交绑定的证据行。
- 可以做什么
- 发现与搜索:列出已登记的仓库目录,并仅在文档和代码中检索候选行。
- 举证:把候选行转为证据包,包含路径、行范围、完整提交 SHA 与内容哈希,支持单条或最多八条引用的集合。
- 读取:从指定提交中取出某个文档或文件片段。
- 校验:用 git show 独立复核引用,并报告是否与 HEAD 一致。
- 决策与查看:生成包含已知事实、缺口和稳定证据集 ID 的证据简报,并查看或比较证据集。
- 适用场景
- 适合需要让代理用精确的已提交代码行为其变更说明提供依据、且审阅者能用普通 git 复核的场景,也适合想要一个只读 PR 门禁、对未被任何声明覆盖的改动文件报错的团队。它面向审阅代理提交的拉取请求,而非通用代码搜索。
- 运行要求
- 以 npm 包形式通过 stdio 在本地运行,需要 Node 20 或更高版本。通过 REPOCONTEXT_REGISTRY 环境变量指向 init 命令生成的注册表,默认使用用户目录下的注册表文件。必须在已提交的 Git 仓库内运行;未声明需要账号或 API 密钥。
安装
在 SourceWeft 中
- 打开 控制台中的 RepoContext,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
[!IMPORTANT] Archived 2026-10-15. Superseded by Assay, a reference architecture for deterministic agent control. Why: the same agent writes both the change and its evidence manifest, so the gate proves coverage and hash pinning, not that a claim is true. Assay moves the decision into deterministic code instead. The last release, 0.6.4, stays on npm. The rest of this README is unchanged.
GitPin
Agent-authored pull requests must show exact evidence before they merge.
A read-only PR gate and local MCP server that ties every claim an AI agent makes about its change to an exact committed line that anyone can re-check with plain git.
[Validate] [npm] [MCP Registry] [License: MIT] [Node.js Version]
Quickstart · Watch the film · Use it in your repo · How it works · Guardrails · Status
Why it exists
Coding agents now open pull requests with confident descriptions: "added retry logging", "updated the protocol doc", "no other files touched". A reviewer who wants to trust one of those sentences has to open the file and hunt for the line, then do it again for the next sentence. Most reviewers stop checking, and an agent can change a file it never mentions.
GitPin turns the description into evidence. The agent commits a small manifest
in which every material claim names the paths it covers and points at an exact
line slice with a SHA-256 of its text. A required check compares that manifest
with the real diff. Any changed file that no claim covers fails the build, and
every claim that passes can be re-checked by a human with git show, without
GitPin, without the agent and without a hosted platform.
Quickstart: the gate in 30 seconds
demo:gate builds GitPin, creates a throwaway synthetic repository in a temp
folder, and runs the real gitpin gate twice. The agent's first commit changes
docs/protocol.md without claiming it, so the gate fails with exit 1. The
agent adds one evidence locator (line 5, hashed) and the same gate passes with
exit 0:
Nothing is written outside the temp folder, and the folder is removed afterward.
See it run
[GitPin demo: the gate fails an agent pull request that changed an unclaimed file, then passes after one hashed line locator is added.]Watch the 90-second film → · The 30-second cut →
Use it in your repo
1. Install the trusted policy on your default branch (a separate, reviewed change, so a pull request can never weaken its own gate):
2. Make it a required check:
3. Each agent PR commits .gitpin/change-evidence.json, starting from
templates/change-evidence.json. The full
setup, including rulesets, is in docs/pr-evidence-gate.md.
Give your agent the evidence tools. The local MCP server lets Claude Code, Codex, Cursor and other MCP clients find candidates and produce the evidence packs the gate checks:
init writes ~/.gitpin/repositories.yaml outside the repository, runs
doctor, prints a first evidence line with a full SHA, and prints paste-ready
MCP config. It never edits the repository it registers.
How it works
The gate reads policy only from the trusted base commit and the manifest only
from the head commit, through git show, never from a working tree. It compares
the merge-base diff, re-hashes every cited line slice, and emits a report whose
citations carry full SHAs.
The MCP side follows one loop. Search returns candidates, never answers. Proof
turns a candidate into an evidence pack. Verification re-checks it with
git show:
Resource gitpin://catalog; prompt prove-with-git-head. Cite formats are in
docs/cite-spec.md; an agent skill template is in
templates/gitpin-skill.md.
Guardrails and non-goals
- Read-only, always. GitPin never writes, commits or pushes to a repository it reads, and the gate never executes pull-request code.
- A PR cannot weaken its own gate. Policy comes from the base commit; evidence comes from the head commit; the dirty working tree is never read.
- Uncommitted work is never evidence. Dirty and untracked content is excluded from HEAD citations.
- Sensitive paths stay sensitive. Deny rules apply to evidence, and the manifest cannot cite itself.
- Candidates are not claims. Search output is labelled
evidence-candidatesand must go throughpin.prove. - No embeddings, no database, no reindex. Evidence comes from Git objects, so it works offline and on private repositories.
Not goals: semantic search, writing or committing code, replacing GitHub Issues or PR automation, or treating a non-Git folder as one repository.
Status and limits
This source tree and its packed documentation describe GitPin 0.6.4 without asserting publication status. Check each channel independently: npm, the MCP Registry (io.github.shmindmaster/gitpin) and GitHub Releases.
Node 20 or later. Site: shmindmaster.github.io/gitpin.
GitPin verifies coverage, location, revision and content hash. It proves what was committed, not that a claim is true: it does not establish semantic correctness, runtime behavior, authorship, authorization or compliance. That judgment stays with the reviewer, who now reads one cited line instead of hunting for it. Planned work is in the roadmap.
Configuration
Default registry: ~/.gitpin/repositories.yaml (legacy compatibility fallback: ~/.repocontext/... if present).
Formerly RepoContext 0.3.x. See migration.
Docs
Tools · PR evidence gate · Clients · Architecture · Compare · FAQ · Troubleshooting · Roadmap · Governance
Contributing, security and license
- Contributing: start with an issue for bugs and proposals, then follow
CONTRIBUTING.md. Good first issues are labelled
good first issue. Before a pull request:pnpm validate && pnpm build && pnpm verify:package. - Security: report vulnerabilities privately through a GitHub security advisory, as described in SECURITY.md. Please do not open a public issue.
- License: MIT.
Created and maintained by Sarosh Hussain. Related open source: Assay keeps an agent's decision out of its side effects; CrewScore checks whether an agent's prompt writes its safeguards down.
来源:README.md,提交 a3c7a79
工具
0版本历史
1- v0.3.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
