| name | release-check |
| description | Read-only release-readiness gate. Runs formatting, type checking, tests, build verification, documentation and secret scanning, then reports pass or fail. Use before tagging a release or when the user asks whether the project is ready to ship. Never publishes, tags, commits, or releases. |
Release check
Read-only. You may run verification commands and read files. Change nothing.
Run these and record the real output
cargo fmt --check
cargo clippy -- -D warnings
cargo test
pnpm exec tsc --noEmit
pnpm lint
pnpm test
pnpm tauri build --no-bundle
pnpm tauri build --bundles nsis
Keep the two build steps distinct in your report. --no-bundle failing means the
application does not compile. --bundles nsis failing while --no-bundle passes
usually means a missing installer prerequisite on this machine, which is an
environment problem, not a code defect. Do not install anything to fix it; report
it.
Documentation check
README.md, CONTRIBUTING.md, SECURITY.md, LICENSE present and non-empty.
docs/ROADMAP.md status matches what the code actually does. A ticked box with
no implementation behind it is a fail.
docs/ARCHITECTURE.md describes the real module layout, not an aspirational one.
- Documented commands actually work as written.
Secret and privacy scan
- No
.env, key, certificate, or credential file tracked by Git.
- No hardcoded token, key, or password in source.
- No absolute path containing a real username in source, tests, fixtures, or docs.
- The sanitized export type carries no raw stdout or stderr, no environment values,
no username or hostname. Check the free-text warning and error fields too, since
those are the usual leak path.
.gitignore covers .claude/settings.local.json, node_modules/, dist/,
target/, .env, and .env.*.
Release-readiness review
- Versions agree across
package.json, Cargo.toml, and tauri.conf.json.
- No
TODO, FIXME, dbg!, console.log, or commented-out code on a shipping
path.
- Dependencies are pinned and each one has a reason to exist.
- Known limitations are written down somewhere a user will find them.
Report
One line per check: PASS, FAIL, or SKIPPED with the reason. Paste the actual output
of anything that failed. Finish with a single verdict, READY or NOT READY, and if
not ready, the shortest list of things that would change it.
Never publish, tag, commit, or create a release. If everything passes, say so and
stop.