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

license-wizard

v1.1.0

Published

Interactive and scriptable CLI that generates a correct LICENSE file from the full SPDX catalog, syncs the chosen license into your package.json/composer.json, stamps source-file headers, and verifies everything stays in sync in CI.

Readme

CI npm version License: Apache-2.0 Node

Visit the website →


Why License Wizard?

Most projects declare a license in package.json or composer.json, yet the actual LICENSE file at the repository root is a separate, manual step — track down the canonical text, fill in copyright placeholders, and keep the declared license and the file in sync. It's easy to forget, leaving repositories with a declared license but no real LICENSE file, or text that subtly differs from the official source.

License Wizard closes that gap. It walks you through choosing a license, pulls the canonical SPDX text, fills in your copyright details, writes a proper LICENSE file, and records the choice back into your manifests so everything stays consistent. The same predictable flow that guides a human also drives cleanly from scripts, CI, and AI agents.

Features

  • Full SPDX catalog — search and pick from the complete, up-to-date SPDX License List with type-ahead autocomplete.
  • Canonical text, every time — license text comes straight from the official SPDX data, so there are no hand-copied variations.
  • Copyright customization — for licenses with fillable fields (copyright holder, year, and similar), use the official text as-is or fill in each field.
  • Manifest-aware — reads the license already declared in your package.json or composer.json to pre-select a default, and writes your final choice back to every manifest it finds.
  • Source-file headers — optionally stamps a per-file license header across your .js/.ts/.php sources, and keeps them in sync.
  • Stays honest--verify checks that your LICENSE, manifests, and headers still match the license you chose, and can fail the build in CI when they drift.
  • Zero config to start — run it with npx, answer a few prompts, done.

Requirements

  • Node.js >= 22.13.0
  • Network access

Quick Start

Run it directly — no install required. Use whichever package manager you have:

npx license-wizard       # npm
pnpm dlx license-wizard  # pnpm
yarn dlx license-wizard  # yarn
bunx license-wizard      # bun

Or install it globally:

npm install -g license-wizard
# then, in any project directory:
license-wizard

Usage

Run the command from the root of the project you want to license, and you'll be guided through a short interactive flow:

  1. Choose a license — start typing to search the SPDX catalog (e.g. MIT, Apache-2.0, GPL-3.0-or-later) and select one. If your project already declares a license, it's offered as the default.
  2. Standard or customized — if the license has fillable copyright fields, keep the official text verbatim or fill in each field (such as the copyright holder and year).
  3. Save your settings — choose whether to remember your selection for next time.

When you're done, License Wizard writes the LICENSE file and records the selected SPDX identifier in every manifest it finds (package.json, composer.json).

Prefer one command? Generate a license non-interactively — handy for scripts, CI, and AI agents:

npx license-wizard --license MIT

Documentation

Full documentation lives on the docs site:

License Wizard documentation

It covers everything beyond the quick start:

  • Interactive wizard and one-shot generation (--license, --set, --get-tokens)
  • Source-file headersshort vs full, block vs docblock comments (for PHPDoc/WPCS), and removing them
  • Verify & CI--verify, --strict, and the drop-in CI step
  • Apply saved config — replaying a saved license with --apply-config
  • Configuration files.licensewizardrc.json and manifest fields
  • Scripting & agents — exit codes and non-interactive contracts
  • Flags reference — the complete flag list

Reading this as an AI agent or from a script? The same documentation is published as plain Markdown: documentation.md.

Run npx license-wizard --help to print the flag list from the CLI.

License

Apache-2.0 © Erdem Bircan