Thanks for your interest in contributing! Here's how to get started.
git clone https://github.com/Releaserun/releaserun-cli.git
cd releaserun-cli
npm install
npm run buildnpm testEach scanner lives in src/scanners/ and implements the Scanner interface:
- Create a new file in
src/scanners/(e.g.composer.ts) - Implement
detect()to check if the lockfile/manifest exists - Implement
scan()to parse dependencies and check them against the endoflife.date API - Register your scanner in
src/scanners/index.ts - Add tests in
tests/
- Node.js -
package.json/package-lock.json - Python -
requirements.txt/Pipfile.lock - Go -
go.mod/go.sum - Rust -
Cargo.toml/Cargo.lock - Ruby -
Gemfile/Gemfile.lock - Java -
pom.xml - Docker -
Dockerfile
- Fork the repo and create a branch from
main - Add tests for any new functionality
- Make sure
npm testpasses - Keep PRs focused on a single change
Open an issue with:
- Your Node.js version (
node -v) - The command you ran
- Expected vs actual output
- The lockfile/manifest that triggered the bug (sanitize any private package names)
Be respectful. We're all here to build useful tools.