
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
@protolabsai/protopatch
Advanced tools
Automated code review that lands fixes — protoLabs fork of clawpatch with a `gateway` provider for OpenAI-compatible endpoints.
This is a protoLabs-maintained fork of
openclaw/clawpatch. We took ownership 2026-05-24 to land features we needed without waiting on upstream, principally agatewayprovider that talks to any OpenAI- compatible HTTP endpoint instead of shelling out to a CLI agent. Seedocs/providers.mdfor details. Source:protoLabsAI/protoPatch.
Automated code review that lands fixes.
clawpatch maps a repo into semantic feature slices, reviews each slice with a
provider, persists findings, and can run an explicit fix loop for one finding at
a time.
Current status: early CLI. Review/report/state are implemented; patching exists
behind clawpatch fix --finding <id> and still requires manual review of the
resulting worktree changes.
From npm (this fork, includes the gateway provider):
pnpm add -g @protolabsai/protopatch
Or directly from the repo (tracks main):
pnpm add -g github:protoLabsAI/protoPatch
Upstream openclaw/clawpatch (no gateway provider) is unaffected:
pnpm add -g clawpatch
From source:
pnpm install
pnpm build
pnpm link --global
Both clawpatch and protopatch are installed as CLI binaries — they point
at the same entry. Use whichever fits.
clawpatch init
clawpatch map
clawpatch review --limit 3 --jobs 3
clawpatch review --mode deslopify --limit 3
clawpatch ci --since origin/main --output clawpatch-report.md
clawpatch report
clawpatch next
clawpatch show --finding <id>
clawpatch triage --finding <id> --status false-positive --note "covered by tests"
clawpatch fix --finding <id>
clawpatch open-pr --patch <patchAttemptId> --draft
clawpatch revalidate --finding <id>
clawpatch revalidate --all --status open
fix does not commit, push, open PRs, or land changes. It runs configured
validation commands and records a patch attempt under .clawpatch/.
start, build, test,
lint, typecheck, formatapps/*, packages/*, and package
workspace patternsapps/* and packages/* when source or positive framework signals are
presentextensions/*
and plugins/*, including package metadata, source, docs, and nearby testsproject.json, including project-scoped validation
targetsapp/ and pages/ routes, including routes inside monorepo appsgo list ./..., including command packages.sln, .slnx, .csproj, .fsproj, and .vbproj
files, with conservative dotnet build / dotnet test defaultssrc/main.rs, src/bin/*.rs, src/lib.rs, crates/*, and
tests/*.rsmain() files, CMake add_executable / add_library
targets, and autotools bin_PROGRAMS / lib_LTLIBRARIES targetsSources/* targets and Tests/* suitescomposer.json and artisan, including routes,
controllers, form requests, Artisan commands, jobs, services, models,
migrations, seeders, Composer scripts, and PHP test suitesDeeper framework mappers and agent-assisted enrichment are next steps.
The default provider is the local Codex CLI.
codex --version
clawpatch doctor
Provider calls use codex exec with strict JSON schemas. Review and revalidate
run read-only; fix planning runs with workspace-write because Codex may edit the
working tree during the explicit fix command.
Set CLAWPATCH_CODEX_SANDBOX to override the Codex sandbox passed by
Clawpatch. Use any Codex sandbox mode, or bypass/none to pass
--dangerously-bypass-approvals-and-sandbox when the host environment already
provides isolation.
Supported provider names today:
codex: local Codex CLIacpx: any ACP-compatible coding agent (Codex / Claude / Pi / Gemini / ...) via openclaw/acpxclaude: local Claude Code CLI in print modecursor: local Cursor Agent CLI (experimental; doctor is enabled by default)grok: local Grok Build CLIopencode: local OpenCode CLIpi: local Pi coding agent in print modemock: deterministic test providermock-fail: failure test providerclawpatch init: create .clawpatch/, detect project basics, write configclawpatch map: write feature recordsclawpatch status: show project, dirty state, feature/finding countsclawpatch review: review pending or selected featuresclawpatch review --mode deslopify: review only for locally provable slop cleanupclawpatch ci: initialize if needed, map, review, write a report, and append a GitHub step summaryclawpatch report: print or write a Markdown findings reportclawpatch next: print the next actionable findingclawpatch show --finding <id>: inspect one finding with evidence and suggested validationclawpatch triage --finding <id> --status <status>: mark a finding with optional history noteclawpatch fix --finding <id>: run the explicit patch loop for one findingclawpatch open-pr --patch <id>: commit an applied patch attempt and open a GitHub PRclawpatch revalidate --finding <id>: re-check one findingclawpatch revalidate --all: re-check open findings with report-style filtersclawpatch doctor: check provider availabilityclawpatch clean-locks: clear feature locksUseful flags:
--root <path>--state-dir <path>--config <path>--json--plain--limit <n>--jobs <n> (default: half of CPU cores, max 10)--rate-limit-per-minute <n>--source <heuristic|auto|agent>--feature <id>--project <name-or-root>--finding <id>--status <status>--severity <severity>--provider <name>--model <name>--reasoning-effort <none|minimal|low|medium|high|xhigh>--skip-git-repo-check--output <path> / -o <path>--dry-run--forceUnknown flags fail fast.
report --json shapeclawpatch report --json returns:
{
"total": 12,
"items": [
/* finding summaries */
],
"results": [
/* alias for items */
],
"findings": 12,
"output": "/path/or/null"
}
total and items are the canonical keys.results is an alias for items with the same array for parity with {count, results} consumers.findings: <number> is kept for backwards compatibility but is deprecated. Note that in --json output findings is a count, not the array — use items (or results) for the array. The next breaking release (v0.4) will drop findings: <number> and results, landing on { total, items, output }.State is project-local by default:
.clawpatch/
config.json
project.json
features/*.json
findings/*.json
patches/*.json
reports/*.md
runs/*.json
Feature records are the durable work units. Findings and patch attempts link back to features so runs can resume and be audited.
open-pr.See docs/spec.md for the longer product and implementation spec.
FAQs
Automated code review that lands fixes — protoLabs fork of clawpatch with a `gateway` provider for OpenAI-compatible endpoints.
We found that @protolabsai/protopatch demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.