Local-first end-of-life and deprecation scanner
See what's in the offing. Fix it before it lands.
Offing finds the runtimes, packages, and GitHub Actions in a repository that are already end-of-life or deprecated, shows the exact file and line, and backs every finding with an authoritative source, a replacement, and migration steps. Locally, offline, with no account.
Try it
Install, scan, and read the first findings.
Set up CI
Pull request comments, SARIF, gates, and hooks.
Use with agents
The Agent Skill, MCP server, plugins, and migration packets.
Reference
Rules, data, detectors, trust, and project records.
- Lifecycle rules
- Lifecycle data
- Detector reference
- Detector SDK
- Lifecycle importers
- Maintainer CLE declarations
- Architecture and trust boundaries
- Threat model
- Validation results
- Benchmarks
- State of EOL
- Offing compared with Renovate, Dependabot, and endoflife.date
- Decision records
- Roadmap
- Post-launch notes and next roadmap
- Changelog
- Start contributing
- Codex plugin submission
- Persian (فارسی)
The rules behind every finding are in Lifecycle rules.
Read this in: English · فارسی.
npx @velella/offing scan .
For coding agents, install the Agent Skill with one command. It teaches your agent to find, explain, and migrate these findings, and it is listed on skills.sh:
npx skills add velella-sh/offing
Node.js 22 or newer. Start with Install (npm, Action, MCP, plugins, Docker), then the 90-second demo on a deliberately outdated project:
Found 5 lifecycle risks. The most urgent:
HIGH Unsupported actions/checkout runtime (.github/workflows/ci.yml:9)
MEDIUM Node.js 18 is end-of-life (package.json:5)
MEDIUM Node.js 19 is end-of-life (package.json:5)
…and 2 more below.