verify / shell
Verifying Shell changes
Files: .sh, .bash, .zsh.
Run the checks under every change, add the checks for what your diff touches, then
apply the review prompts for what the tools miss. Usage is measured across
2 scanned repositories that write Shell; prompts come from
70 review discussions.
Run on every change
the tool most Shell repositories run for each check
-
Formatting Layout drift that buries the real change in the diff.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Linting Bug-prone patterns, unused code and conventions the formatter does not cover.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Type checking Wrong types, unhandled null or None, call signatures broken across modules.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Unit and integration tests Behaviour regressions on the paths the tests exercise.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
Review prompts for every change 6 in total
Add when the change touches
open the ones that describe your diff
Authentication, input handling, secrets, permissions
-
Security scanning Injection, unsafe APIs and tainted data reaching a sink.
semgrep50% · 1 of 2 reposruns via pre-commit hook semgrep
exit codes, docs, alternatives, where it runs
- Runs inpre-commit
- Seen inopengrep/opengrep
- Docshttps://github.com/semgrep/semgrep
-
Secret scanning Credentials and tokens committed to the repository.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Dependency audit Known-vulnerable or disallowed dependencies and licenses.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
Public APIs, signatures, error paths, nullability
-
Type checking Wrong types, unhandled null or None, call signatures broken across modules.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Unit and integration tests Behaviour regressions on the paths the tests exercise.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Property-based tests Edge-case inputs nobody wrote a test for; invariants over generated data.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
4 more in API, Error Handling, Null Handling — the playbook lists the top 9.
Service and framework code
-
Unit and integration tests Behaviour regressions on the paths the tests exercise.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Version and platform matrix Breakage on a runtime version, OS or feature combination you did not run locally.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
Algorithms, parsers, data transforms
-
Property-based tests Edge-case inputs nobody wrote a test for; invariants over generated data.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Fuzzing Crashes, panics and hangs on malformed input, especially in parsers and decoders.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Mutation testing Tests that keep passing whatever the code does.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Proofs and specifications Design-level bugs in protocols and algorithms, checked against a specification.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
Threads, async code, locks, shared state
-
Concurrency model checking Races and orderings that fail only under specific interleavings.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Undefined-behaviour detection Memory-safety and aliasing violations in unsafe code.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Property-based tests Edge-case inputs nobody wrote a test for; invariants over generated data.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
Network calls, retries, timeouts, protocols
-
Unit and integration tests Behaviour regressions on the paths the tests exercise.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Fuzzing Crashes, panics and hangs on malformed input, especially in parsers and decoders.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
UI components and pages
-
End-to-end browser tests User flows broken across components, routing and the network.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Linting Bug-prone patterns, unused code and conventions the formatter does not cover.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
Databases, migrations, caching
-
Unit and integration tests Behaviour regressions on the paths the tests exercise.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Version and platform matrix Breakage on a runtime version, OS or feature combination you did not run locally.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
Model, prompt and LLM code
-
Unit and integration tests Behaviour regressions on the paths the tests exercise.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
CI workflows and configuration files
-
CI workflow linting Broken GitHub Actions syntax, script injection, over-broad token permissions.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
File hygiene Invalid JSON, YAML or TOML, merge markers, trailing whitespace, oversized files.
pre-commit-hooks50% · 1 of 2 repos autofixruns via pre-commit hook check-ast
exit codes, docs, alternatives, where it runs
- Commands seen
pre-commit hook check-added-large-filespre-commit hook check-astpre-commit hook check-case-conflict - Runs inpre-commit
- Seen inopengrep/opengrep
- Docshttps://github.com/pre-commit/pre-commit-hooks
- Commands seen
26 more in CI/CD, Configurations — the playbook lists the top 12.
Dependencies and lockfiles
-
Dependency audit Known-vulnerable or disallowed dependencies and licenses.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Lockfile consistency A lockfile that no longer matches its manifest.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Version and platform matrix Breakage on a runtime version, OS or feature combination you did not run locally.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
The tests themselves
-
Mutation testing Tests that keep passing whatever the code does.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Version and platform matrix Breakage on a runtime version, OS or feature combination you did not run locally.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
Documentation and comments
-
Docs build Broken cross-references, links and markup in documentation.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
-
Spelling Typos in identifiers, comments and docs.
No scanned repository in this language runs a tool for this. Lean on the review prompts.
Where this comes from
2 scanned repositories with at least a fifth of their prompts in Shell