omp packages

@pickforge/pickcheck0.15.0

Cross-harness function complexity gate for coding agents.

GitHub Actions Published 20 days ago MIT ~330 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

@pickforge/pickcheck

Function-complexity feedback and completion gates for Claude Code, Codex, Pi, OMP, Grok, Cursor, and OpenCode. The npm package downloads the matching Rust binary, verifies its SHA-256 checksum, and keeps installation non-fatal when a release or network is unavailable.

Install

Requires Node 22 or newer. Set PICKCHECK_BIN to an existing binary to skip the release download. Set PICKCHECK_VERSION to a release tag (default v0.4.0).

Want your coding agent to perform the setup? Send it the AI installation guide. It covers harness selection, hooks, plugins, agent instructions, and verification.

npm install -g @pickforge/pickcheck
pickcheck-install

The package install adds only the binary. The second command asks which harness integrations to install; choose a comma-separated list, all, or none. For automation, use --all or --harness claude,codex. --print prints configuration without writing, and --home <dir> changes the JSON hook settings root.

Pi

pi install npm:@pickforge/pickcheck

The extension checks files after edit and write tool results. Compact, bounded summaries are appended as tool feedback. At agent-turn completion it checks changed functions and queues up to three refactor follow-ups per session. It never injects more than 24 lines or 8 KiB from the command.

Claude Code

claude plugin marketplace add pickforge/pickforge-platform
claude plugin install pickcheck@pickforge

Alternatively, pickcheck-install --harness claude merges the equivalent hooks into ~/.claude/settings.json without replacing existing hooks.

Codex

pickcheck-install --harness codex
cp -r node_modules/@pickforge/pickcheck/codex-skill/pickcheck ~/.codex/skills/

The installer merges codex-hooks.json into ~/.codex/hooks.json.

OMP

The installer runs omp plugin install npm:@pickforge/pickcheck. OMP uses the same after-edit and agent-end extension as Pi.

Grok

The installer adds native PostToolUse and Stop hooks under ~/.grok/hooks/. If Claude Code or Cursor hooks are already selected, Grok reuses those compatible hooks to avoid running the gate twice. Edit findings appear in the hook annotation; the stop hook blocks completion until the changed functions pass.

Cursor

The installer merges afterFileEdit and stop hooks into ~/.cursor/hooks.json. Edit findings appear in hook output, and the stop hook sends a correction follow-up when changed functions fail.

OpenCode

The installer runs opencode plugin @pickforge/pickcheck --global, which updates OpenCode's global config. The plugin appends edit findings to tool output and continues an idle session when changed functions fail.

Configure

Run pickcheck init to create .pickcheck.json. The defaults are cognitive complexity 15, depth 4, 100 nonblank/non-comment lines, 6 parameters, and 3 boolean operators per expression; cyclomatic complexity is measured but off unless a config sets its limit. See the installed skill for the refactoring workflow.

pickcheck check --changed lists at most 20 failing or unverified paths. Run its scoped --verbose command to inspect one file. Outside a Git repository with HEAD, the command fails without scanning the current directory.

The wrapper resolves the executable in this order: PICKCHECK_BIN, the verified binary under vendor/, then pickcheck on PATH. stdin, stdout, stderr, argv, and exit status are inherited unchanged.

Hook documentation

Hook formats and event names were checked against the official Claude Code, Codex, Grok, Cursor, and OpenCode documentation on 2026-09-03. Pi and OMP use their native extension API. All integrations return compact summaries automatically. Detailed per-function output is only produced by a deliberate, file-scoped --verbose check.