mit einem Klick
code-review
// Perform a project-wide code review covering security, correctness, code quality, tests, documentation, and style.
// Perform a project-wide code review covering security, correctness, code quality, tests, documentation, and style.
Audit and update all project documentation to stay in sync with the current development status.
Stage, commit, and push changes to the remote repository with a well-formed commit message.
Manage the full software release process, including version bumps, changelogs, Git tags, and GitHub releases.
Perform project-wide security audits of the bypass password manager.
| name | code-review |
| description | Perform a project-wide code review covering security, correctness, code quality, tests, documentation, and style. |
When performing a project-wide code review of bypass, always follow these steps:
Survey recent changes — Run git log --oneline -20 and skim the corresponding diffs to understand the scope of work before examining individual files. Cross-reference against doc/ROADMAP.md to confirm the change belongs to the current phase/milestone.
Security audit — Apply the security-audit skill. Give particular attention to:
zeroize'd buffers and never reach println!, dbg!, log, panic messages, or any non-tempfile path. Tempfiles used by edit must live on a tmpfs / O_TMPFILE path where possible and be unlinked before the editor exits.Vec<&str> (never a shell string); stdin is the only acceptable channel for plaintext entering gpg; environment must respect GNUPGHOME and not leak through to child processes that don't need it..., absolute paths, symlinks pointing outside the store)..gpg-id lookup must walk up from the entry path and stop at the store root — never silently fall through to a default key.Correctness and logic — Review the Rust implementation for:
pass — <path>/<name>.gpg, .gpg-id files, optional .gpg-id.sig. A store created by pass must be readable by bypass and vice-versa.anyhow::Result at command boundaries, typed thiserror errors for library modules (gpg, store, git). No unwrap() / expect() in non-test code where a meaningful error could be propagated.insert, edit, rm, cp, mv, generate) must produce exactly one commit with a meaningful message; failures must leave the working tree in a consistent state (no half-written .gpg file without a matching commit).gen keyword usage, lifetime elision changes).Code smells — Flag any of the following:
dirs::home_dir() / PASSWORD_STORE_DIR resolution.Test coverage — Verify that:
#[cfg(test)] mod tests.GNUPGHOME via tempfile::TempDir and never read or write the user's real keyring.PASSWORD_STORE_DIR to a tempdir, not ~/.password-store.tests/ and exercise full command flows (e.g., init → insert → show round-trip).Documentation quality — Confirm that:
store, gpg, git, and entry modules carry /// doc comments.CLAUDE.md is updated for any new locked-in decision or gotcha.doc/ROADMAP.md checkboxes are ticked for completed milestone items.CLI UX — Review clap definitions for:
pass where the semantics match (-c for clipboard, --in-place for generate, etc.) — divergence requires a written reason.<path>, never sometimes <name>).rm, overwrite on insert).Code style — Confirm that formatting rules are observed:
cargo fmt-clean.cargo clippy --all-targets -- -D warnings must pass.#[allow(clippy::...)] suppression must be accompanied by a comment explaining why the lint is a false positive in that context.Report findings — Present all identified issues grouped by category: Security, Correctness, Code Smell, Tests, Documentation, CLI UX, and Style. Assign each a severity of Critical, High, Medium, or Low. For every finding, include the file path and line number, a clear description of the problem, and a concrete recommendation for how to fix it.