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

@programinglive/commiter

v1.2.18

Published

Commiter keeps repositories release-ready by enforcing conventional commits, generating icon-rich changelog entries, and orchestrating semantic version bumps without manual toil. It bootstraps Husky hooks, commitlint rules, and release scripts that inspec

Downloads

66

Readme

Commiter 🚀

npm version npm downloads publish status license: MIT

A standardized commit convention and release management tool for your repository using standard-version.

Features

  • Enforced Commit Conventions - Uses Conventional Commits format
  • 🎯 Automated Versioning - Semantic versioning (major, minor, patch)
  • 📝 Changelog Generation - Automatic CHANGELOG.md with icons
  • 🔒 Git Hooks - Pre-commit and commit-msg validation via Husky
  • 🎨 Icon Support - Each commit type has a dedicated icon in releases

Installation

Install the package globally or as a dev dependency in your project:

# Install globally
npm install -g @programinglive/commiter

# Or install as dev dependency
npm install --save-dev @programinglive/commiter

# Or use npx (no installation required)
npx @programinglive/commiter

After installation in your project, the Husky hooks will be automatically set up for commit message validation.

Recommended MCP workflow companion

For a guided end-to-end engineering workflow, install the Development Workflow MCP Server alongside Commiter:

npm install --save-dev @programinglive/dev-workflow-mcp-server

Follow the configuration steps in that repository's README to connect your IDE assistant and automate the standard development workflow (start task → implement → test → document → commit → release).

Commit Message Format

All commits must follow the Conventional Commits specification:

<type>(<scope>): <subject>

<body>

<footer>

Commit Types with Icons

| Type | Icon | Description | Changelog Section | |------|------|-------------|-------------------| | feat | ✨ | New feature | ✨ Features | | fix | 🐛 | Bug fix | 🐛 Bug Fixes | | perf | ⚡ | Performance improvement | ⚡ Performance | | refactor | ♻️ | Code refactoring | ♻️ Refactors | | docs | 📝 | Documentation changes | 📝 Documentation | | style | 💄 | Code style changes | 💄 Styles | | test | ✅ | Test additions/changes | ✅ Tests | | build | 🏗️ | Build system changes | 🏗️ Build System | | ci | 👷 | CI/CD changes | 👷 Continuous Integration | | chore | 🧹 | Maintenance tasks | 🧹 Chores | | revert | ⏪ | Revert previous commit | ⏪ Reverts |

Examples

# Feature
git commit -m "feat(auth): add JWT authentication"

# Bug fix
git commit -m "fix(api): resolve null pointer exception"

# Breaking change
git commit -m "feat(api)!: redesign user endpoint

BREAKING CHANGE: The user endpoint now returns different data structure"

# With scope and body
git commit -m "perf(database): optimize query performance

Reduced query time by 50% using indexed columns"

Release Commands

Patch Release (1.0.0 → 1.0.1)

For bug fixes and minor changes:

npm run release:patch

Minor Release (1.0.0 → 1.1.0)

For new features (backwards compatible):

npm run release:minor

Major Release (1.0.0 → 2.0.0)

For breaking changes:

npm run release:major

Automatic Release

Let standard-version determine the version bump based on commits:

npm run release

What Happens During Release?

  1. 🧪 Runs tests - Detects your package manager and runs the test script automatically (tests only run during release, not on commit)
  2. 📊 Analyzes commits - Examines commits since last release
  3. 📘 Verifies documentation – Warns if docs/PRD.md is missing so every project keeps an up-to-date PRD
  4. 🔢 Bumps version - Updates version in package.json
  5. 📝 Updates changelog - Generates CHANGELOG.md with icons
  6. 🏷️ Creates tag - Creates a git tag for the release
  7. 💾 Commits release - Commits changes with format: chore(release): v1.2.3 🚀

Push Your Release

After running a release command, push to remote:

git push --follow-tags origin main

Pre-commit Hooks

The following hooks are automatically enforced:

  • commit-msg: Validates commit message format using commitlint
  • pre-commit: Empty hook (tests are run only during release, not on commit)

Configuration Files

  • package.json - Contains standard-version configuration
  • commitlint.config.js - Commitlint rules
  • .husky/commit-msg - Commit message validation hook
  • .husky/pre-commit - Pre-commit test hook

Troubleshooting

Commit message validation fails

Ensure your commit message follows the format:

type(scope): subject

Valid types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert

Release commits generated by standard-version such as chore(release): 1.0.0 🚀 are automatically ignored by commitlint.

First Release

For new projects without any version tags, use the first release command to start from version 0.0.1:

npm run release:first

Running the first release command:

  • Sets the initial version to 0.0.1
  • Creates the first git tag
  • Generates the initial CHANGELOG.md
  • Commits the release with proper formatting

This ensures your project starts with a clean, semantic version foundation. Replace the default test script with your real test command once available.

Dry run

To see what would happen without making changes:

npm run release -- --dry-run

Website

The project includes a professional landing page in the web/ directory.

Local Development

To run the website locally:

npm run web

This will serve the website at http://localhost:3000.

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

License

MIT License - see the LICENSE file for details.

This project is open source and free to use, modify, and distribute at your own risk.