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

@ulysses0604/drumroll

v0.1.0

Published

Turn git log into changelog sections and release announcement drafts

Downloads

99

Readme

drumroll

You already wrote the commit messages. Stop rewriting them by hand for the changelog.

drumroll reads your git log, classifies commits by Conventional Commits type, and generates a CHANGELOG.md section — deterministically, offline, no API key required. No actual drumroll included, but the suspense is optional.

$ drumroll v1.2.0..v1.3.0

## v1.3.0 - 2026-07-20

### Breaking

- drop Node 18 support

### Added

- **cli**: add --write flag to insert into CHANGELOG.md (#12)

### Fixed

- handle repos with no tags

### Other

- Update readme wording

Install

npm install -g @ulysses0604/drumroll

Or run it without installing:

npx @ulysses0604/drumroll

Usage

drumroll [range] [options]

| Argument | Description | |---|---| | range | A git rev range, e.g. v1.2.0..v1.3.0. Omit it to use <latest-tag>..HEAD. If the repo has no tags yet, the full history is used. |

| Flag | Description | |---|---| | --write | Insert the generated section into CHANGELOG.md instead of printing to stdout. Creates the file with a Keep a Changelog header if it doesn't exist yet. Refuses to overwrite a section that already exists for that version. | | --version-name <name> | Override the version name used in the heading (defaults to the tag at the end of the range, or Unreleased). | | --x-post | Also generate a draft X (Twitter) post announcing the release. Requires ANTHROPIC_API_KEY — see below. |

Examples

# Print the changelog for a specific release to stdout
drumroll v1.2.0..v1.3.0

# Insert it into CHANGELOG.md instead
drumroll v1.2.0..v1.3.0 --write

# Everything since the last tag, with a custom heading
drumroll --version-name v2.0.0-beta.1

# Also draft an announcement post
drumroll v1.2.0..v1.3.0 --x-post

How commits are classified

| Commit prefix | Section | |---|---| | feat: | Added | | fix: | Fixed | | refactor:, perf: | Changed | | feat!:, fix!:, or a BREAKING CHANGE: footer | Breaking | | docs:, chore:, test:, ci:, build:, style: | Excluded (noise) | | anything else | Other (kept, not dropped) |

Merge commits are skipped — they're between you and your branches. Non-Conventional-Commits messages aren't discarded either; they land in Other so nothing silently disappears.

--x-post and your source code's privacy

--x-post sends only the release's commit messages (type, scope, description) to the Anthropic API to draft an announcement — never your source code, diffs, or file contents. Without ANTHROPIC_API_KEY set, the flag is silently skipped and the changelog output is unaffected.

No dashboard, no login, no drumroll sound effects (yet).

License

MIT