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
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
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/packrehearsalDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal 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.
Related
CLI toolsCodex Guard checks AI-agent pull requests for TODOs, leaked keys, sloppy commits and red CI before they merge into main
release-it combines version changes, Git tags and package publishing in a configurable release workflow with a preview mode.
The CLI takes an npm package through checks, versioning and publication for a user-reviewed release prepared with an agent.
Diffinery plugins connect Claude Code and Codex to self-hosted Git, pull requests and CI on Cloudflare through an MCP server
An agent runs GitHub Docker Compose projects in a disposable sandbox, verifies workflows and hardens them with a report
A CLI that runs Claude Code and Codex in isolated Docker containers with a firewall, worktrees and a no-Dockerfile image.
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.