Getting started
mendapi is Dependabot, but for every API you depend on: it watches upstream providers for breaking changes, scans your codebase locally for impact, and previews the fix as a reviewable diff. The scanner, fixer and review CLIs contain no network code — that is mechanically enforced by the test suite.
Requirements
- Node.js 22 or newer (uses the built-in
node:sqlite— no npm installs, ever). - A git repository you want to protect.
Quickstart
shell
# 1. Fetch the latest API change feed # (the ONLY command that touches the network) npx mendapi sync # 2. Scan the current repo against the breaking-change database npx mendapi scan # 3. Preview fixes as a unified diff (dry-run: changes nothing) npx mendapi fix --from-report impact.json # 4. Turn a fix into a reviewable branch + PR description (local only) npx mendapi pr --repo . --from-report impact.json
What a scan gives you
In under 30 seconds you get file-and-line impact: which upstream breaking changes actually touch symbols your code uses. Every finding carries a confidence tier — high means a changed API symbol was matched at an identifier boundary in your files, not just a mention of the provider name.
The full pipeline
- sync — pull provider release feeds and changelogs into a local SQLite database.
- scan — match the change database against your repo. Output:
impact.json. - review — optionally re-check medium-confidence findings (deterministic verdicts, or your own LLM with
--llm). - fix — apply deterministic migration packs as dry-run diffs;
--applyto write. - llmfix — draft patches for long-tail changes using your own LLM key (explicit opt-in, never applied automatically).
- deps — inventory exactly which provider API surfaces your repo uses.
- pr — package a fix into a git branch with a PR-ready description. Pushing requires an explicit
--push.
Next: the CLI reference documents every command and flag, and the security model explains why your code never leaves your machine.
Pre-release documentation, generated from the mendapi codebase. Command output and pack listings reflect the shipped CLI exactly.