Clawpatch UI is a developer-preview desktop app for working with local Clawpatch repos. It provides an Electron + React interface for browsing findings, reviewing feature maps, triaging results, viewing diffs, and running Clawpatch commands without leaving the app.
This repository contains the UI only. It is not published as an npm package, even
though it uses package.json for local development scripts and dependency
management. Clawpatch-owned state and mutations remain owned by the external
clawpatch CLI.
- Node.js 24.15.0, preferably through fnm
- pnpm 11.1.3, preferably through Corepack
- Git 2.x
- The
clawpatchCLI installed and available on yourPATH
Install Clawpatch from the official docs:
npm install -g clawpatch
clawpatch doctorSee clawpatch.ai for full CLI documentation.
Clone or fork the repo, then install dependencies and start the Electron app:
git clone https://github.com/lsdcapital/clawpatch.ui.git
cd clawpatch.ui
fnm install
fnm use
corepack enable
pnpm install
pnpm devThe dev command starts the Electron/Vite app. Add a local repo from the sidebar after the app opens.
Clawpatch UI works with repos that already have .clawpatch state. In the repo
you want to inspect, run:
clawpatch doctor
clawpatch init
clawpatch map
clawpatch review --limit 10After that, open Clawpatch UI and add the target repo path. The UI reads the
generated .clawpatch state and runs supported commands through the CLI.
Set .clawpatch/config.json stateTracking to describe how much Clawpatch
state the repo intends to version:
local: commit only shared config; keep generated state out of Git.team: also commit durable review state such as features and findings.audit: also commit reports and patch records for traceability.
When repository settings are saved, Clawpatch UI updates a managed block in the
repo .gitignore for the selected stateTracking policy. Git ignore rules do
not untrack files that are already committed; use git rm --cached when
changing an existing repo from a broader policy to a narrower one.
pnpm dev # Start the Electron/Vite dev app
pnpm build # Build the app into out/
pnpm dist # Build packaged app artifacts into release/
pnpm preview # Preview the built Electron app
pnpm test # Run Vitest once
pnpm test:watch # Run Vitest in watch mode
pnpm typecheck # Run TypeScript without emitting files
pnpm lint # Run oxlint
pnpm fmt # Format with oxfmt
pnpm fmt:check # Check formatting with oxfmt
pnpm check # Run typecheck, lint, format check, and tests
pnpm check:ci # Run checks plus build
pnpm clean # Remove generated build/cache output- Clawpatch state remains valid without this UI.
- The UI reads
.clawpatchstate for display. - The UI can update
.clawpatch/config.jsonstateTrackingas shared repo configuration. - The UI stores UI-only metadata in the app user data directory.
- Legacy
.clawpatch/ui/state.jsonfiles are read only for migration. - Clawpatch commands are run through
clawpatch --json --no-color --no-input. - Diffs are read with
git diff --no-color. - The UI does not directly edit
.clawpatch/findings,.clawpatch/features,.clawpatch/patches,.clawpatch/runs, or.clawpatch/locks. - Triage and fixes run through
clawpatch triageandclawpatch fix.
Install the CLI and confirm it is on your PATH:
npm install -g clawpatch
clawpatch doctorIf pnpm dev launches the app but commands fail, restart the terminal or shell
session so Electron inherits the updated PATH.
Run clawpatch init, clawpatch map, and at least one review command in the
target repo before adding it to the UI.
Confirm your Node.js and pnpm versions:
fnm install
fnm use
node --version
pnpm --version
corepack enable
pnpm installIf dependencies are stale, refresh them with:
pnpm install --frozen-lockfileFor a clean local rebuild:
pnpm clean
pnpm install
pnpm buildPublic forks and pull requests are welcome. Before opening a PR, run:
pnpm checkKeep the Clawpatch CLI as the source of truth for Clawpatch-owned state. Changes to the UI should stay compatible with the CLI state format and should not bypass the existing command boundary for triage, fixes, reviews, or validation.
Clawpatch UI is released under the MIT License. See LICENSE.
