Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

hero

deps-doctor

One slash command. Four ecosystems. Knows when an audit tool is missing — and doesn't pretend otherwise.

License: MIT Python 3.8+ Claude Code Plugin Tests: 7 passing

TL;DR: /deps-doctor → unified vuln/outdated/license report across npm, pip, cargo, and go in one pass.

Why this exists

Polyglot repos make dependency hygiene awkward — you end up with three different reports in three different terminals, and you forget which one was for staging. deps-doctor detects which ecosystems are present, shells out to the audit tools you actually have installed, and emits one consistent report. Missing tool? It says "skipped: tool not installed" — never silently green.

Install (Claude Code)

git clone https://github.com/mturac/pluginpool-deps-doctor ~/.claude/plugins/deps-doctor

Restart Claude Code; the slash command /deps-doctor appears.

Quick start

/deps-doctor

Or directly:

python3 scripts/doctor.py --format md
python3 scripts/doctor.py --severity high --ecosystem npm,pip

Flags

Flag Default Description
--format json json or md
--severity all Minimum severity: `low
--ecosystem all detected Comma-separated subset, e.g. npm,pip

Supported ecosystems

Ecosystem Audit tool Detected by
npm npm audit --json package.json
pip pip-audit --format=json requirements.txt / pyproject.toml
cargo cargo audit --json Cargo.toml
go govulncheck -json ./... go.mod

Missing tools are reported as "status": "skipped: tool not installed", never as a clean pass.

Example output (markdown)

## deps-doctor report

### npm — 2 critical, 1 high
- **CVE-2024-XXXX** in `axios@0.21.1` → fixed in `0.21.4` (critical)
- **CVE-2024-YYYY** in `lodash@4.17.20` → fixed in `4.17.21` (high)

### pip — clean

### cargo — _skipped: cargo audit not installed_

### go — clean

How it works

  1. Scans the project root for marker files (package.json, Cargo.toml, …).
  2. Runs each ecosystem's audit tool via subprocess — no shell, no injection surface.
  3. Normalizes the JSON shapes from each tool into one schema.
  4. Aggregates by severity and renders.

Limitations

  • Network-only audits (registry lookups) inherit the speed of the underlying tool.
  • License auditing is a placeholder field (license_warnings: []) — populate via a future plugin.
  • Audit-tool installation is up to you; this plugin is glue, not an installer.

Examples

Step-by-step walkthroughs with real input fixtures and the helper's actual output live in examples/. Three or four scenarios per plugin — from the happy path to the edge cases the test suite guards.

Part of the pluginpool family

Ten focused Claude Code plugins for everyday productivity: commit-narrator · pr-storyteller · test-gap · deps-doctor · env-lint · secret-guard · standup-gen · todo-harvest · flaky-detector · changelog-forge

License

MIT — see LICENSE. Contributions welcome.