npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

forkready

v1.0.0

Published

Pre-flight checks for open source contributors. Run in any cloned repo to know exactly how to get started.

Readme

forkready

Pre-flight checks for open source contributors. Clone a repo, run one command, know exactly how to get started.

The problem

You clone a repo to contribute. Now you need to figure out: which package manager? What Node version? Is there an .env.example to copy? A CLA to sign? What's the test command?

You end up opening 4 different files before writing a single line of code.

The fix

npx forkready

That's it. Run it in any cloned Node.js project and get a full report.

What it checks

  • Package manager — detects from lockfile (package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb) or packageManager field
  • Node version — reads .nvmrc, .node-version, .tool-versions, or engines.node and compares against your current version
  • Environment files — finds .env.example / .env.sample and tells you if you still need to create .env
  • Contributing guide — checks for CONTRIBUTING.md in common locations
  • CLA / DCO — detects Contributor License Agreements from config files, workflow files, and contributing docs
  • Scripts — extracts the install, build, test, and lint commands from package.json
  • Git hooks — detects husky, lefthook, lint-staged, simple-git-hooks
  • License — identifies the project license

Example output

  forkready — contributor pre-flight check

  Project: express
  Path:    /home/user/dev/express

  ✓ Package manager: npm (from package-lock.json)
  ✓ Node version: >=18.0.0 required — you have v22.17.1 (from package.json engines.node)
  ⚠ Environment: .env.example found — copy to .env before starting
  ✓ Contributing guide: CONTRIBUTING.md
  ⚠ CLA signing may be required (mentioned in CONTRIBUTING.md)
  ✓ License: MIT
  → Git hooks: husky, lint-staged — will set up on install

  Quick start:
    npm install
    npm run build
    npm run test

  Read CONTRIBUTING.md before submitting a PR.
  Run: cp .env.example .env

Install

Run directly with npx (no install needed):

npx forkready

Or install globally:

npm install -g forkready

Usage

forkready [directory]

If no directory is given, it checks the current working directory.

Programmatic API

import { detectAll, formatResults } from 'forkready';

const results = detectAll('/path/to/repo');
console.log(formatResults(results, '/path/to/repo'));

Exit codes

  • 0 — all checks passed
  • 1 — problems found (missing package.json or wrong Node version)

Zero dependencies

forkready uses only Node.js built-in modules. No node_modules bloat.

Requirements

Node.js 18 or later.

License

MIT