I built gh-dep-risk as an AI-assisted GitHub CLI extension for on-demand dependency pull request review.
The project started as a small npm-focused reviewer tool. The v0.2.0 release expands the local fallback coverage while keeping the same design boundary: GitHub Dependency Review API first, static local fallback second, no server, no dashboard, and no package-manager command execution.
Repository: https://github.com/rad1092/gh-dependency-risk
Install: gh extension install rad1092/gh-dep-risk
Release: https://github.com/rad1092/gh-dependency-risk/releases/tag/v0.2.0
What changed in v0.2.0
gh-dep-risk can now inspect direct dependency changes from more repository file shapes when GitHub Dependency Review is unavailable:
- npm, pnpm, and Yarn Classic remain supported.
- Python direct fallback supports
requirements.txtand PEP 621pyproject.tomldeclarations. - Poetry fallback reads Poetry dependency declarations and can enrich direct changes from
poetry.lock. -
uv.lockcan enrich PEP 621 direct dependency changes with resolved version/source details. - Go modules fallback reads
go.modrequireandreplacechanges, while treatinggo.sumas checksum evidence only. - Yarn Berry / modern Yarn fallback reads direct
package.jsondeclarations and matching modernyarn.lockentries. - Bun fallback reads direct
package.jsondeclarations and matching textbun.lockentries. - Binary
bun.lockbis handled honestly as unsupported rather than guessed.
What the tool intentionally does not do
The fallback path is static and conservative. It does not run npm, yarn, bun, poetry, uv, pip, go list, or go mod. It also does not reconstruct a full transitive graph, parse .pnp.cjs, parse binary bun.lockb, or query package registries for new ecosystem metadata.
That constraint is intentional. The CLI should be useful during review without pretending to be a resolver or managed service.
Example usage
gh extension install rad1092/gh-dep-risk
gh dep-risk pr 123
gh dep-risk pr 123 --format json
gh dep-risk pr 123 --comment
gh dep-risk pr 123 --fail-level high
gh dep-risk pr 123 --list-targets
gh dep-risk pr 123 --path services/api
--comment upserts one marker comment on the PR timeline. It does not create review comments, and it does not require running a server or GitHub App.
Why I built it this way
I wanted a reviewer-facing command that stays close to gh authentication and normal pull request workflows. Dependency Review remains the best source when GitHub can provide it. Local fallback exists for cases where that API is unavailable, such as unsupported repository visibility or permission boundaries.
The result is a small precompiled extension that gives a deterministic risk summary, clear notes, and JSON/markdown output without adding another service to operate.
Top comments (0)