patchwork — Codebase Conventions for AI Agents
What it does
Scan any codebase, generate CONVENTIONS.md, expose conventions as MCP tools for AI agents.
- Connects パソコンで動く
- Account or key No key needed
- Category 開発者ツール
インストール
使っているAIアプリを選んで、設定をコピーしてください。
チェック 3/3 合格 · あなたのパソコンで動きます · ✓ コマンド確認済み 2026年11月13日
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
パソコン版 Claude アプリの設定ファイルを開く
SettingsDeveloperEdit Config
この設定を貼り付けて保存
{ "mcpServers": { "patchwork": { "command": "uvx", "args": [ "patchwork-conventions" ] } } }Claude を終了してもう一度開く
試してみる
patchwork — Codebase Conventions for AI Agents を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が patchwork — Codebase Conventions for AI Agents を使っていると言うか、回答に patchwork — Codebase Conventions for AI Agents のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ patchwork — Codebase Conventions for AI Agents につなげません
patchwork — Codebase Conventions for AI Agents はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
代わりにできること
A · patchwork — Codebase Conventions for AI Agents につなげるアプリを使う
- 先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
- 先にパソコンへ Python (uv) を入れてください(1 回だけ)
- 先にパソコンへ Python (uv) を入れてください(1 回だけ)
- 先にパソコンへ Python (uv) を入れてください(1 回だけ)
B · 開発者ツール の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
- Sentry✓ ChatGPT
- Compiler Explorer✓ ChatGPT
- GitDiagram✓ ChatGPT
Claude Code につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ)
ターミナルを開く
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
このコマンドを貼り付けて Enter
claude mcp add --scope user patchwork -- uvx patchwork-conventionsClaude Code で /mcp と入力
patchwork — Codebase Conventions for AI Agents が一覧にあり、接続済みと表示されれば OK です
試してみる
patchwork — Codebase Conventions for AI Agents を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が patchwork — Codebase Conventions for AI Agents を使っていると言うか、回答に patchwork — Codebase Conventions for AI Agents のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ)
Cursor の AI チャットを Agent モードで開く
試してみる
patchwork — Codebase Conventions for AI Agents を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が patchwork — Codebase Conventions for AI Agents を使っていると言うか、回答に patchwork — Codebase Conventions for AI Agents のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ)
VS Code の AI チャットを Agent モードで開く
試してみる
patchwork — Codebase Conventions for AI Agents を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が patchwork — Codebase Conventions for AI Agents を使っていると言うか、回答に patchwork — Codebase Conventions for AI Agents のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください
JSON 設定は下の「開発者向け」にあります
開発者向け:ターミナルのコマンドと JSON 設定
パソコンにインストール
Claude Code
claude mcp add --scope user patchwork -- uvx patchwork-conventionsClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"patchwork": {
"command": "uvx",
"args": [
"patchwork-conventions"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"patchwork": {
"command": "uvx",
"args": [
"patchwork-conventions"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"patchwork": {
"type": "stdio",
"command": "uvx",
"args": [
"patchwork-conventions"
]
}
}
}この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
ひと目でわかる
使えるアプリ
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月14日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント SaiNarayana-B で確認済みです
- ✓ 合格
今もメンテナンスされている
コードの最終更新:5 か月前
- ✓ 合格
ライセンスがある
MITを使用
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
話し合い
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
ユーザーレビュー
まだレビューはありません
開発者ツールのほかのサーバーとの比較i
- このカテゴリのほかの5860件のうち0%よりスターが多い
- このカテゴリのほかの5860件のうち18%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5860件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
patchwork — Codebase Conventions for AI Agentsは安全ですか?
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は5 か月前、最新バージョン(0.1.7)がレジストリに届いたのは5 か月前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
代わりに使えるものは?
同じカテゴリには:REA, GitHub, Serena MCP: the IDE for your agent
同じカテゴリのほかの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
patchwork
Mine your codebase. Generate CONVENTIONS.md. Stop AI agents from making up your style.
Every team that uses AI coding assistants hits the same wall: Claude writes `getUserById` in a codebase that uses `get_user_by_id`. Cursor creates `components/userCard.tsx` in a project that uses `user-card.tsx`. The agent invented a response shape that doesn't match the rest of the API.
You write a CLAUDE.md manually. It goes stale in two weeks. You write it again.
patchwork automates this. It scans your actual source code using AST analysis and detects what your team really does — not what you think you do.
What it detects
| Category | What's mined |
|---|---|
| Naming | Functions, classes, variables, constants, files — with confidence score and real examples |
| Imports | Absolute vs relative, path aliases (@/, src/), barrel files, destructuring style |
| Structure | Source root, test layout, feature vs layer organisation, monorepo detection |
| Error Handling | try/except vs Result types, logging framework, custom exception naming, propagation style |
| Testing | Framework, assertion style, mocking library, coverage tool, fixture patterns |
| API Patterns | Response shape, route param style, ORM, async pattern, GraphQL/gRPC presence |
| Git Workflow | Commit message style, branch naming, co-change file pairs |
| Tech Stack | Frameworks, package manager, linters, formatters, type checker, build tool, scripts |
Quick start
pip install patchwork-conventions
cd your-project patchwork scan
That's it. You'll get a CONVENTIONS.md like this:
# CONVENTIONS.md
Auto-generated by patchwork on 2026-06-25
Tech Stack
Language: python Runtime: Python >=3.11 Package Manager: uv Frameworks: fastapi, sqlalchemy Linters: ruff Formatters: ruff, black
Naming Conventions
Python
- Functions:
snake_case(97% consistent) - Examples:
get_user,parse_response,create_session - Classes:
PascalCase(100% consistent) - Examples:
UserService,AuthHandler,DatabaseClient - Constants:
SCREAMING_SNAKE - Examples:
MAX_RETRIES,API_BASE_URL - Files:
snake_case - Private prefix:
_ - Test functions: prefix
test_
Project Structure
Source root: src/ Organisation: layer-based Tests: separate (tests/)
Key directories:
src/— source roottests/— test suitemigrations/— database migrations
Error Handling
Python
- Pattern: try/except
- Propagation: raise
- Logging:
structlog - Custom exception naming: Error suffix
ValidationError,AuthError,NotFoundError
Testing Conventions
Python
- Framework: pytest
- Coverage: 34 test files / 89 source files (38% ratio)
- Assertions:
assert(...) - Coverage tool:
pytest-cov - Patterns: fixtures, factories
Git Conventions
- Commit style: conventional commits
- Examples:
feat(auth): add JWT refresh,fix(api): handle null user - Branch naming: feature/name + fix/name
Why not argus or sourcebook?
| Feature | patchwork | argus | sourcebook |
|---|---|---|---|
| AST-based naming analysis | ✅ tree-sitter | ❌ filesystem only | ❌ not done |
| Confidence scores | ✅ per-category | ❌ | ❌ |
| Real examples from your code | ✅ | ❌ | ❌ |
| Counter-examples (inconsistencies) | ✅ | ❌ | ❌ |
| Error handling pattern mining | ✅ | ❌ | ❌ |
| API response shape detection | ✅ | ❌ | ❌ |
| Co-change file pairs | ✅ | ❌ | ✅ |
Convention checking (check cmd) | ✅ | ❌ | ❌ |
| MCP server with 8 tools | ✅ | ❌ | ✅ (4 tools) |
| Watch mode | ✅ | ✅ (sync) | ✅ |
| Zero LLM required | ✅ | ✅ | ✅ (layer A) |
| Open source / MIT | ✅ | ✅ | ❌ BSL |
Commands
# Generate CONVENTIONS.md
patchwork scan
Generate for a specific path
patchwork scan /path/to/project
Generate AGENTS.md
patchwork scan --agents-md
Append to CLAUDE.md
patchwork scan --claude-md
Output JSON (for programmatic use)
patchwork scan --json
Print to stdout (don't write file)
patchwork scan --stdout
Limit to specific languages
patchwork scan --lang python --lang typescript
Re-scan and update, preserving manual edits
patchwork update
Show what would change
patchwork diff
Print detected conventions to terminal
patchwork show
Auto-watch mode (regenerate on change)
patchwork watch
Start MCP server
patchwork serve --stdio # for Claude Code patchwork serve --port 3742 # HTTP mode
Claude Code integration
Option 1: CONVENTIONS.md (recommended)
patchwork scan # run once
CONVENTIONS.md is automatically read by Claude Code
Option 2: Append to CLAUDE.md
patchwork scan --claude-md
Option 3: MCP server
Claude Code — add to ~/.claude.json (or run claude mcp add interactively):
{
"mcpServers": { "patchwork": { "command": "patchwork", "args": ["serve", "/path/to/your/project", "--stdio"] } } }
Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "patchwork": { "command": "patchwork", "args": ["serve", "/path/to/your/project", "--stdio"] } } }
Cursor — add to .cursor/mcp.json in your project root:
{
"mcpServers": { "patchwork": { "command": "patchwork", "args": ["serve", ".", "--stdio"] } } }
Then your AI agent can use 8 on-demand tools:
| Tool | When to use |
|---|---|
patchwork_scan | Get complete conventions overview |
patchwork_naming | Before writing new identifiers |
patchwork_structure | Before creating new files/directories |
patchwork_stack | When choosing libraries or commands |
patchwork_errors | Before writing error handling |
patchwork_testing | Before writing test files |
patchwork_git | Before writing commit messages |
patchwork_check | Validate a proposed name |
Option 4: Claude Code skill (SKILL.md)
Copy SKILL.md from this repo to ~/.claude/skills/patchwork/SKILL.md to get /patchwork slash commands.
Watch mode (CI/auto-update)
# Keep CONVENTIONS.md updated as you code
patchwork watch &
Or in CI — fail if conventions changed
patchwork diff || (patchwork update && git add CONVENTIONS.md && git commit -m "chore: update conventions")
Python API
from patchwork import scan
from patchwork.scanner import ScanOptions from pathlib import Path
Full scan
report = scan(ScanOptions(root=Path(".")))
Render to markdown
print(report.to_markdown())
Render to JSON
import json data = json.loads(report.to_json())
Access specific results
naming = report.naming.get("python") print(f"Functions: {naming.functions.style} ({naming.functions.confidence:.0%})") print(f"Examples: {naming.functions.examples}")
structure = report.structure print(f"Source root: {structure.source_root}") print(f"Organisation: {structure.organisation}")
Supported languages
| Language | AST (tree-sitter) | Fallback regex |
|---|---|---|
| Python | ✅ full | ✅ |
| TypeScript | ✅ full | ✅ |
| JavaScript | ✅ full | ✅ |
| Go | ✅ (with full extra) | ✅ |
| Rust | ✅ (with full extra) | ✅ |
| Java | ✅ (with full extra) | ✅ |
| Ruby, PHP, C#, C++ | ❌ | ✅ regex only |
Install full language support:
pip install 'patchwork-conventions[full]'
How it works
your codebase
│ ▼ ConfigDetector ← reads package.json, pyproject.toml, go.mod, Cargo.toml │ ▼ File discovery ← respects .gitignore, skips node_modules etc. │ ▼ Per-language AST ← tree-sitter parses every file into a syntax tree │ ├── NamingMiner → extracts function/class/variable names, classifies style ├── ImportMiner → detects import patterns, aliases, barrel files ├── StructureMiner → analyses directory layout, test co-location ├── ErrorHandlingMiner → detects try/catch patterns, logging, custom exceptions ├── TestingMiner → identifies framework, assertion style, mocking ├── APIPatternMiner → finds response shapes, ORMs, route styles └── GitPatternMiner → mines commit history, branches, co-change pairs │ ▼ ConventionReport │ ├── CONVENTIONS.md (default) ├── AGENTS.md (--agents-md) ├── CLAUDE.md (--claude-md, appends) └── JSON (--json)
All analysis is 100% local — no API calls, no telemetry, no data leaves your machine.
Performance
On a 1,000-file TypeScript monorepo:
- Without tree-sitter: ~0.8s
- With tree-sitter (full AST): ~2.1s
On a 500-file Python project:
- ~1.1s
Results are deterministic — same codebase always produces the same output.
Contributing
git clone https://github.com/yourusername/patchwork
cd patchwork pip install -e '.[dev]' pytest
Pull requests welcome. See CONTRIBUTING.md.
License
MIT — free for personal and commercial use.
Topics
claude-code · agent-skills · mcp · context-engineering · hallucination-detection · code-conventions · static-analysis · tree-sitter · developer-tools · ai-coding