PackRehearsal CLI

A CLI that checks npm, Python and Rust packages against the real archive before release and writes Codex a bounded task.

  • 105 ★ on the repository
  • Last commit
  • Apache-2.0
CLI

Minimal access

Why this level

  • The default mode only reads files and archives and uses no network
  • Review the Codex task: repository text in it is marked as untrusted
All reasons and checks

liyuqin606-del/packrehearsal

Install

Works in

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/packrehearsal

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Minimal accessThe tool runs nothing and makes no network calls.

  • The default mode only reads files and archives and uses no network
  • Review the Codex task: repository text in it is marked as untrusted

This is third-party code. Review the repository files before installing.

What it does

PackRehearsal compares package manifests with the bytes of the archive that will actually go to the registry and emits deterministic findings, SARIF reports, baselines and receipts. The `packrehearsal scan .` command runs without executing project code, without network, without extracting archives and without writing to the inspected repository. The `--artifact` flag supplies a built wheel or sdist, and for a Python release both are passed together so the `python.artifact-set-mismatch` rule compares name, version, dependencies, licence and extras across them. The `packrehearsal codex-brief` command turns only new findings into a Markdown or JSON task for Codex with an identifier, artifact hashes, finding fingerprints, remediation and a verification command. Repository text is marked as untrusted data, and with an empty list the task explicitly says not to invent work. A local Release Gate web UI reads a JSON report in browser memory.

Who it is for. Maintainers of npm, PyPI and crates.io packages who want to catch packaging breakage before publishing and hand Codex a clean task.

Good fit when

  • Before a release you must confirm that entry points really reached the archive.
  • The wheel and sdist of one release disagree on metadata.
  • Sibling packages in a monorepo publish incompatible versions.
  • A secret-like file or an unexpectedly large directory may have entered the archive.

Not a fit when

  • A dependency vulnerability scanner is needed: the tool checks packaging, not CVEs.
  • Dynamic analysis with running package code is required.
  • You need to publish a release automatically: the check neither merges nor releases.

Example request

Run packrehearsal scan with the wheel and sdist from dist/, then build a codex-brief from new findings only.

Limitations

This is a static checker: it does not run installation, lifecycle scripts or the package itself, so runtime behaviour is not assessed. Rule coverage depends on the npm, Python and Rust ecosystems and other formats are not covered yet. Python 3.11 or newer is required and version `1.2.0` is pinned in the install example. The Codex task only states the work, and Codex itself makes repository fixes under your review. The repository was last updated on 3 November 2026 and uses the Apache-2.0 licence.

How to disable. Remove the package with `python -m pip uninstall packrehearsal` and the check step from CI. Reports and baselines live in your repository and stay there.

FAQ

Does the check run project code?

No. The default path is static: no network, no script execution, no extraction of untrusted archives and no writes to the inspected repository.

What does `python.artifact-set-mismatch` mean?

The rule compares wheel and sdist on name, version, `Requires-Python`, dependencies, licence and extras. A mismatch blocks the release.

Is an OpenAI key needed?

No. The tool prepares an evidence bundle and whether to give it to Codex is up to the maintainer.

Which report formats exist?

Deterministic JSON, SARIF, baselines and receipts, plus a local Release Gate web UI for viewing.

What does the task say when there are no findings?

The task explicitly says not to invent work: with no selected findings no edits are needed.

Discussion

No questions or reviews yet.

CLI tools

Codex Guard checks AI-agent pull requests for TODOs, leaked keys, sloppy commits and red CI before they merge into main

CLIExtended access132Repository stars

release-it combines version changes, Git tags and package publishing in a configurable release workflow with a preview mode.

CLIExtended access9.1KRepository stars

The CLI takes an npm package through checks, versioning and publication for a user-reviewed release prepared with an agent.

CLIExtended access7.7KRepository stars
Official

Diffinery plugins connect Claude Code and Codex to self-hosted Git, pull requests and CI on Cloudflare through an MCP server

PluginBroad access81Repository stars

An agent runs GitHub Docker Compose projects in a disposable sandbox, verifies workflows and hardens them with a report

CLIBroad access219Repository stars

A CLI that runs Claude Code and Codex in isolated Docker containers with a firewall, worktrees and a no-Dockerfile image.

CLIExtended access59Repository stars

README in short

The README stresses the safe default mode, a table of checked problems and a Codex working loop, while a compatibility policy pins schema versions.

README badge

Report a problem