mit einem Klick
code-review
// Perform a project-wide code review covering security, correctness, code quality, documentation, UI/UX, and style.
// Perform a project-wide code review covering security, correctness, code quality, documentation, UI/UX, and style.
| name | code-review |
| description | Perform a project-wide code review covering security, correctness, code quality, documentation, UI/UX, and style. |
When performing a project-wide code review, 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.
Security audit — Apply the security-audit skill. Give particular attention to the following areas:
safe_path() is enforced on every export path, the 30-second tokio::time::timeout is in place, and no VM state is shared between tool calls.Kernel methods (system, exec, `, open, eval, and their equivalents) before any user script runs.dfree / RData ownership contract, and that the Rust↔mRuby bridge is free from double-free and use-after-free bugs.Correctness and logic — Review the Rust and C++ implementation for:
unsafe block must include a comment that states the invariant it relies on.bridge.h / bridge.cpp): Verify that all OCCT calls are wrapped in proper exception handling, since unhandled C++ exceptions crossing the cxx boundary cause aborts.mrb_value retained across a potential allocation is either protected with mrb_gc_protect or converted to a stable pointer before the allocation occurs.Code smells — Flag any of the following:
/tmp/rrcad_preview.glb appearing in multiple places without a named constant).unwrap() or expect() in non-test code where a meaningful error could be propagated instead.Test coverage — Verify that:
tests/.RUST_TEST_THREADS=1 setting in .cargo/config.toml enforces single-threaded execution, and tests must not circumvent it.Documentation quality — Confirm that:
///).CLAUDE.md, doc/user-guide.md (and the chapter files under doc/user-guide/), and doc/TODOs.md are updated to reflect any new architectural or behavioral changes.UI/UX (preview server) — Review the Three.js HTML and WebSocket reload flow for:
Code style — Confirm that formatting rules are observed throughout:
rustfmt-clean. Hooks enforce this automatically, but verify that no suppression comments (#[rustfmt::skip]) were quietly added.clang-format-clean according to .clang-format (LLVM base, 100-column limit, 4-space indent).#[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, UI/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.
Audit and update all project documentation to stay in sync with the current development status.
Audit and update project documentation to stay in sync with the current codebase and development status.
Perform a project-wide code review covering security, correctness, code quality, documentation, UI/UX, and style.
Stage, commit, and push changes to the remote repository with a well-formed commit message and body.
Manage the release process, including build verification, version bumps, changelogs, tags, and GitHub releases.
Perform project-wide security audits.