Skip to main content

mergecraft

Set up, run, and troubleshoot mergeCraft — the BYOK AI PR review GitHub Action and CLI. Use when the user asks to install or configure mergeCraft, add AI PR review to a repo, run a local review, interpret mergecraft-approval status or findings, configure models in .mergecraft/config.yaml, use mergecraft mcp serve, or debug a failing mergeCraft workflow.

소스 정보

저장소
alexhawat/mergeCraft
최근 소스 활동
2026년 9월 21일 18:34
감지된 SKILL.md 언어
영어
스타
11
포크
5

Set up mergeCraft PR review in a repository

The mergeCraft Skill helps an agent install, configure and troubleshoot mergeCraft, a bring-your-own-key pull request reviewer available as a GitHub Action and local CLI. Its source covers repository setup, provider configuration, local review and interpretation of findings and the `mergecraft-approval` status.

Uses

Use it when setting up mergeCraft in a repository, running a local review, interpreting typed findings or troubleshooting the GitHub workflow.

Prerequisites

For the local CLI path the source requires Python 3.11+ and uv. GitHub setup uses an authenticated gh CLI and a provider configured by the user; credentials must stay under the user’s control.

How to use

The source checklist installs the CLI, runs mergecraft init, asks the user to choose and authenticate a provider, then commits the generated config and workflow before opening a PR or triggering the workflow. mergecraft review is the local review command.

Limitations

The Skill distinguishes local and GitHub provider scopes. A failing mergecraft-approval status is driven by typed findings; prose alone cannot override a blocking finding.

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
mergecraft
description
Set up, run, and troubleshoot mergeCraft — the BYOK AI PR review GitHub Action and CLI. Use when the user asks to install or configure mergeCraft, add AI PR review to a repo, run a local review, interpret mergecraft-approval status or findings, configure models in .mergecraft/config.yaml, use mergecraft mcp serve, or debug a failing mergeCraft workflow.
compatibility
Requires uv; gh CLI optional
# mergeCraft mergeCraft is an AI-powered PR reviewer: a GitHub Action plus a Python CLI (`mergecraft`). BYOK — the user's Claude/ChatGPT subscription or API key; no SaaS backend. Deterministic analyzers run first, then an LLM review agent, then a read-only verifier; typed findings drive inline comments and the `mergecraft-approval` commit status. ## Setup checklist (new consumer repo) 1. **Prereqs:** Python **3.11+**, uv, authenticated `gh` CLI. If no Python 3.11+ locally → use the Docker Action only ([`docs/install.md`](https://github.com/alexhawat/mergeCraft/blob/bb865d5c8e03d97269cb5100656bf047fcd22c65/docs/install.md)). 2. **Install:** ```bash uv tool install "merge-craft @ git+https://github.com/alexhawat/mergeCraft" mergecraft init ``` 3. **Authentication — STOP and ask the user.** Use `mergecraft provider list` to find the configured provider label or id from `init`. Authenticate that entry with `mergecraft provider auth <label-or-id> --scope local` for local evaluation, or `--scope github` to adopt GitHub Actions. Examples below assume these provider labels are configured: - `mergecraft provider auth anthropic --scope github` (Claude Pro/Max) - `mergecraft provider auth openai --scope github` (ChatGPT Plus/Pro/Team/Enterprise) - `mergecraft provider auth cursor --scope github` / `mergecraft provider auth google --scope github` / API-key providers Never handle raw credentials; never commit secrets. GitHub scope checks the exact target repository before collecting credentials and stores Actions secrets. Local scope writes only the displayed `.env` file and never calls GitHub. 4. Commit `.mergecraft/config.yaml`, `.mergecraft/learnings.md`, `.github/workflows/mergecraft.yml`, and any `.gitignore` lines `init` added; push; open a PR or run `workflow_dispatch`. The default workflow does not listen for `@mergecraft review` comments. ## Standalone installation links Install the generated `skills/<harness>/mergecraft/SKILL.md` package. The raw `skills/mergecraft/SKILL.md` is a generator template; replace a copied template with the generated package to repair relative links. Documentation currently uses verified commit `bb865d5c8e03d97269cb5100656bf047fcd22c65`, because Action tag `v0.1.0a1` predates the MCP documentation. Release maintainers can set `MERGECRAFT_AGENT_PACKAGES_REF` when generating packages for another verified ref. Fetch that ref first: an unresolved explicit override fails instead of silently substituting a branch. ## CLI quick reference | Command | Purpose | |---------|---------| | `mergecraft init` | Scaffold config + workflow | | `mergecraft review` | Review local diff / branch changes (primary local review command) | | `mergecraft review --dry-run` | Print prompt, no LLM call | | `mergecraft review --json out.json` | Machine-readable findings | | `mergecraft provider auth … --scope github` | Interactive provider login → `gh secret set` | | `mergecraft models list\|show\|set` | Inspect/configure model chains | | `mergecraft analyzers list\|detect\|run\|explain` | Deterministic analyzers | | `mergecraft learnings active\|staging` | Inspect learnings memory | | `mergecraft findings export` | Export unresolved findings | | `mergecraft eval replay-bank` | Eval bank replay | | `mergecraft mcp serve` | Start MCP HTTP server (Bearer token required) | | `mergecraft mcp list` | List MCP tool surface for a role | `diff-review` is a **deprecated alias** for `mergecraft review` (one stderr warning per invocation) — teach `mergecraft review` instead. ## MCP Two profiles — do not confuse them: | Profile | Command | Transport | Auth | |---------|---------|-----------|------| | **Public product** | `mergecraft mcp serve --role public --transport stdio` | stdio JSON-RPC | None (local OS user) | | **Runtime harness** | `mergecraft mcp serve` (default `--role reviewer`) | HTTP on ephemeral port | Per-serve Bearer required | **Public install (Cursor, Claude Desktop, Codex, Gemini CLI, OpenCode):** see [`docs/mcp.md`](https://github.com/alexhawat/mergeCraft/blob/bb865d5c8e03d97269cb5100656bf047fcd22c65/docs/mcp.md) for copy-paste `mcpServers` JSON. Six tools only (`review_change`, `get_review`, `inspect_finding`, `explain_finding`, `get_capabilities`, `get_policy`). Registry: `mcp-name: io.github.alexhawat/mergecraft`. **Runtime harness HTTP:** default `mergecraft mcp serve` mints a Bearer token on an ephemeral port; omitting `Authorization: Bearer …` returns HTTP 401 / JSON-RPC `-32600`. Reviewer tools live at `/mcp/reviewer`. Startup prints `MERGECRAFT_MCP_BEARER=<token>` to stderr — pass that token on every HTTP request. Optional HTTP public (`--role public` without `--transport stdio`) also requires Bearer. ## Configuration essentials (`.mergecraft/config.yaml`) - **`models:`** ordered fallback chain, e.g. `["anthropic/claude-sonnet", "openai/gpt-5.3-codex"]`. Uncredentialed providers are skipped; transient failures fall through. `model_pin: enabled` opts out. - **`prApproveEnabled: true`** lets trusted-tier runs submit a real APPROVE. - **Trust tiers** are fail-closed: fork PRs and `pull_request_target` run with no secrets/network — do not "fix" this. - **Learnings** in `.mergecraft/learnings.md`: new entries land in `## Staging`; only maintainer-associated authors promote to `## Active`. ## Troubleshooting - **`mergecraft-approval` failing/neutral** — pure function of typed findings; run `mergecraft findings export` and read blocking items. Prose verdict cannot override a blocker. - **Workflow did not trigger on comment** — only OWNER/MEMBER/COLLABORATOR commenters are authorized; authorization reads `author_association` from the event payload, never the comment body. - **Model skipped** — no credential for that provider; run `mergecraft models list`. - **Full docs:** [`README.md`](https://github.com/alexhawat/mergeCraft/blob/bb865d5c8e03d97269cb5100656bf047fcd22c65/README.md), [`AGENTS.md`](https://github.com/alexhawat/mergeCraft/blob/bb865d5c8e03d97269cb5100656bf047fcd22c65/AGENTS.md), [`REVIEW-CHECKS.md`](https://github.com/alexhawat/mergeCraft/blob/bb865d5c8e03d97269cb5100656bf047fcd22c65/REVIEW-CHECKS.md), [`docs/`](https://github.com/alexhawat/mergeCraft/blob/bb865d5c8e03d97269cb5100656bf047fcd22c65/docs/README.md).
GitHub에서 보기