GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者提供的说明(英文原文)
AGENTS.md and project memory for AI coding agents that stays correct: rules checked against git
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"repocanon": {
"command": "npx",
"args": [
"-y",
"repocanon",
"mcp"
]
}
}
}在终端中运行这条命令
claude mcp add repocanon -- npx -y repocanon mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"repocanon": {
"command": "npx",
"args": [
"-y",
"repocanon",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"repocanon": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"repocanon",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 awalhadi 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.7.1)于5天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:GitHub, Desktop Commander, Cloudflare MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Verified AGENTS.md and project memory for AI coding agents. One small .ai/ folder tells Claude Code, Cursor, GitHub Copilot, OpenAI Codex, Gemini CLI, Windsurf and Cline how your project works, and git checks that it is still true.
Sponsored by [Framimo](https://framimo.com) — turn any clip into GIF, WebP, AVIF or MP4, right in your browser.
In 30 seconds
AGENTS.md + .ai/) that every AI coding agent reads: the rules, decisions and gotchas your code can't show..cursor/rules, Copilot instructions, GEMINI.md, .windsurfrules, .clinerules…RepoCanon keeps one knowledge layer (AGENTS.md + .ai/), points every tool you use at it, and uses git to tell you which docs went stale after a code change. It runs locally, calls no LLM and has zero dependencies.
Requires Node.js 18+ and a git repository.
cd your-project
npx repocanon init # pick your AI tools (↑/↓, space, enter)
What you'll see
◆ repocanon init · shop
Stack Node.js, Express Tools Claude Code, Cursor
Files
Generated ✓ Module map 2 module(s) → .ai/INDEX.md · Scoped rules up to date ✓ Skills 3 file(s) updated: .ai/skills/rc-verify-change/SKILL.md, .claude/skills/rc-verify-change/SKILL.md, .agents/skills/rc-verify-change/SKILL.md
✓ Knowledge layer created
Next npx repocanon setup connect the MCP server to your tools npx repocanon prompt fill brief for your agent to fill the docs (or ask it over MCP) npx repocanon doctor check the result
Then let your agent fill the docs. Either:
npx repocanon setup, details): tell your agent *"Fill the RepoCanon docs"*. It calls rc_prepare_fill and writes .ai/*.md itself.npx repocanon prompt fill and paste the output into your agent.Finally, check the result and commit:
npx repocanon doctor # lint: size caps, TODOs, broken paths, token budget, content agents can infer
git add -A && git commit -m "Add RepoCanon knowledge layer" npx repocanon stamp --all # mark the docs verified at that commit git commit -am "Verify RepoCanon docs"
What doctor shows
◆ repocanon doctor · shop
Warnings (1) ! scoped rule files are out of date (2: .cursor/rules/rc-billing.mdc, AGENTS.md) — run: npx repocanon rules
Info (1) i 27 TODO placeholder(s) remain in .ai/ — run: repocanon prompt fill
Token budget Entry context (AGENTS + PROJECT + INDEX) ~662 tokens Whole repo source ~820 tokens Entry share of the repo 80.73% → estimates: word-aware for docs, bytes/4 for code
Freshness █████████░ 91/100
! 1 warning · 1 note(s)
Next npx repocanon prompt fill npx repocanon rules npx repocanon doctor run again after fixing
Every command prints the same shape: a header, rows, a one-line verdict, then Next: the exact commands to run. Symbols always come with a word, so the output also works without colour (NO_COLOR=1, --no-color, CI logs, screen readers).
| Symbol | Means | Symbol | Means | |
|---|---|---|---|---|
✓ | ok / fresh | + | file created | |
! | warning / stale | ~ | file updated | |
✗ | error / broken | - | file removed | |
i | info / unverified | = / · | unchanged |
Every command has --help with options and examples: npx repocanon status --help. --json and --format=github give machine-readable output for scripts and CI.
npx repocanon adopt --dry-run # preview: what goes where, what gets removed
npx repocanon adopt # import into .ai/ (creates it if needed) git add -A && git commit -m "Adopt RepoCanon" npx repocanon adopt --move # originals become pointers, so tools stop reading two copies
adopt reads CLAUDE.md, GEMINI.md, .windsurfrules, .clinerules, .github/copilot-instructions.md, .cursorrules, always-on .cursor/rules/*.mdc, repo-wide Copilot instructions and Cline's memory-bank/. It routes each section to the right doc (glossary → DOMAIN, decisions → DECISIONS, progress → STATE, overview → PROJECT, the rest → CONVENTIONS), drops directory trees, dependency lists, pasted code and secrets, and tells you how many tokens that saved. Rules that are already scoped to certain files stay where they are. Re-running skips what was already imported; --move never touches a file with uncommitted changes.
AGENTS.md entry point every agent reads: commands, a digest of your rules and decisions, Definition of Done
.ai/ PROJECT.md purpose, stack, boundaries INDEX.md path → module map (auto block refreshed by analyze) DOMAIN.md business rules, states, invariants, glossary CONVENTIONS.md coding style and patterns DECISIONS.md why things are built this way STATE.md current focus and recent changes modules/ .md one doc per module: purpose, invariants, flow, code map, gotchas .repocanon.json config (presets, modules, excludes, chosen tools) CLAUDE.md, .cursor/… small pointer files, only for the tools you pick
Docs are a semantic index, never a copy of the code. When docs and code disagree, code wins and the doc gets fixed.
init opens a picker for the AI tools that should read the knowledge layer. AGENTS.md is always written; each tool you pick gets a small pointer file:
| id | Tool | File written |
|---|---|---|
claude | Claude Code | CLAUDE.md (@AGENTS.md import) |
cursor | Cursor | .cursor/rules/project.mdc |
copilot | GitHub Copilot | .github/copilot-instructions.md |
gemini | Gemini CLI / Antigravity | GEMINI.md |
windsurf | Windsurf | .windsurfrules |
cline | Cline | .clinerules |
codex | OpenAI Codex / ChatGPT | nothing extra — reads AGENTS.md natively |
init reopens the picker with your saved choice and marks each tool set up or detected. If nothing changed it prints Up to date.init offers to remove its RepoCanon block. Only that block goes: your own text stays, and a file is deleted only if nothing else is in it.--targets=claude,cursor, --targets=all or --targets=none; --yes keeps the saved choice; --prune removes blocks of tools you no longer select.npx repocanon rules turns each filled module doc into rule files that a tool loads only while the agent edits that module's files — no tool call, no extra tokens anywhere else:
| Tool | File | Loaded when editing |
|---|---|---|
| Cursor | .cursor/rules/rc- .mdc (globs, alwaysApply: false) | files under the module's code_paths |
| GitHub Copilot | .github/instructions/rc- .instructions.md (applyTo) | the same files |
| Codex, Claude Code (opt-in) | /AGENTS.md with a pointer to the module doc | anything in that folder |
.ai/modules/ .md stays the single source. Generated files say so in their header; edit the doc, then run rules again.init. Nested AGENTS.md pointers are off by default; turn them on with "nestedAgents": true in .repocanon.json.init runs rules for you, doctor warns when the files are out of date, and rules --check fails CI until they're regenerated.npx repocanon skills (also run by init) writes an Agent Skill that tells agents how to verify a change in *this* repo: .ai/skills/rc-verify-change/SKILL.md. Only its one-line description sits in the agent's context; the body loads when the agent is about to say "done".
package.json / composer.json scripts (run with your package manager), Makefile, justfile, Taskfile.yml, and the run: steps of .github/workflows/*.yml or .gitlab-ci.yml. Each one says where it was found, duplicates are merged, and steps run in order: format → lint → typecheck → test (an aggregate make check comes first)..ai/skills/ is the one place to edit. Change the generated skill and RepoCanon stops regenerating it; add your own .ai/skills/ /SKILL.md and it is copied out too.| Tool | Skills folder |
|---|---|
| Claude Code | .claude/skills/ /SKILL.md |
| Cursor, Codex, Gemini CLI, GitHub Copilot (VS Code) | .agents/skills/ /SKILL.md |
Copies are written only for the tools you chose, carry a "Generated by RepoCanon" header, and are removed when you deselect the tool. A skill of the same name that RepoCanon didn't write is never overwritten. Skills with an invalid name (lowercase, hyphens, must match the folder), a missing description or a secret are not copied, a
只显示了开头部分;其余内容请在仓库中阅读