🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@protolabsai/protopatch

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@protolabsai/protopatch

Automated code review that lands fixes — protoLabs fork of clawpatch with a `gateway` provider for OpenAI-compatible endpoints.

latest
Source
npmnpm
Version
0.6.1
Version published
Maintainers
1
Created
Source

🩹 clawpatch — protoLabs fork

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 a gateway provider that talks to any OpenAI- compatible HTTP endpoint instead of shelling out to a CLI agent. See docs/providers.md for 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.

Install

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.

Workflow

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/.

What It Maps Today

  • npm package bins
  • selected root and workspace package scripts: start, build, test, lint, typecheck, format
  • Node/TypeScript workspace packages under apps/*, packages/*, and package workspace patterns
  • package-less Node/TypeScript app roots under monorepo folders such as apps/* and packages/* when source or positive framework signals are present
  • generic extension/plugin packages under workspace roots such as extensions/* and plugins/*, including package metadata, source, docs, and nearby tests
  • semantic Node source groups for large packages, including runtime, commands, auth, storage, monitor, webhook, setup, server, client, and repeated filename family slices
  • Nx project metadata from project.json, including project-scoped validation targets
  • Turborepo task metadata for workspace-aware validation commands and feature context
  • Next.js app/ and pages/ routes, including routes inside monorepo apps
  • React Router routes and React components
  • Go package slices from go list ./..., including command packages
  • Go package tests and same-repo imports as review context
  • Java/Kotlin Gradle source groups, Maven source groups, and root Gradle/Maven build/test commands
  • JVM semantic roles from Java and Kotlin code evidence such as annotations, imports, interfaces, inheritance, supertypes, and method signatures
  • Kotlin Android semantic roles for UI entrypoints, ViewModels, data boundaries, external clients, and dependency injection, including Metro
  • C#/.NET projects from .sln, .slnx, .csproj, .fsproj, and .vbproj files, with conservative dotnet build / dotnet test defaults
  • ASP.NET Core controllers, minimal API endpoints, C#/F#/Visual Basic source groups, and .NET test projects
  • Ruby project metadata, executables, source groups, RSpec/Minitest suites
  • Elixir Mix/Phoenix projects, contexts, Phoenix web slices, runtime config, Ecto migrations, project scripts, and ExUnit suites
  • Rust src/main.rs, src/bin/*.rs, src/lib.rs, crates/*, and tests/*.rs
  • C/C++ standalone main() files, CMake add_executable / add_library targets, and autotools bin_PROGRAMS / lib_LTLIBRARIES targets
  • Python project metadata, console scripts, bounded source groups, pytest suites, and Flask/FastAPI/Django routes
  • SwiftPM Sources/* targets and Tests/* suites
  • Laravel/PHP projects from composer.json and artisan, including routes, controllers, form requests, Artisan commands, jobs, services, models, migrations, seeders, Composer scripts, and PHP test suites
  • common project config files

Deeper framework mappers and agent-assisted enrichment are next steps.

Provider

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 CLI
  • acpx: any ACP-compatible coding agent (Codex / Claude / Pi / Gemini / ...) via openclaw/acpx
  • claude: local Claude Code CLI in print mode
  • cursor: local Cursor Agent CLI (experimental; doctor is enabled by default)
  • grok: local Grok Build CLI
  • opencode: local OpenCode CLI
  • pi: local Pi coding agent in print mode
  • mock: deterministic test provider
  • mock-fail: failure test provider

Commands

  • clawpatch init: create .clawpatch/, detect project basics, write config
  • clawpatch map: write feature records
  • clawpatch status: show project, dirty state, feature/finding counts
  • clawpatch review: review pending or selected features
  • clawpatch review --mode deslopify: review only for locally provable slop cleanup
  • clawpatch ci: initialize if needed, map, review, write a report, and append a GitHub step summary
  • clawpatch report: print or write a Markdown findings report
  • clawpatch next: print the next actionable finding
  • clawpatch show --finding <id>: inspect one finding with evidence and suggested validation
  • clawpatch triage --finding <id> --status <status>: mark a finding with optional history note
  • clawpatch fix --finding <id>: run the explicit patch loop for one finding
  • clawpatch open-pr --patch <id>: commit an applied patch attempt and open a GitHub PR
  • clawpatch revalidate --finding <id>: re-check one finding
  • clawpatch revalidate --all: re-check open findings with report-style filters
  • clawpatch doctor: check provider availability
  • clawpatch clean-locks: clear feature locks

Useful 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
  • --force

Unknown flags fail fast.

report --json shape

clawpatch 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

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.

Safety

  • Review does not edit files.
  • Fix is explicit and selected by finding ID.
  • Fix refuses a dirty source worktree by default.
  • Clawpatch commits, pushes, and opens PRs only from explicit patch commands such as open-pr.
  • Clawpatch does not land changes today.
  • Provider output is parsed through strict schemas.
  • Symlinked directories and generated build output are skipped during mapping.

See docs/spec.md for the longer product and implementation spec.

FAQs

Package last updated on 25 May 2026

Did you know?

Socket

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.

Install

Related posts