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

@juleczek.1/smartcommit

v0.1.1

Published

AI-powered Git commit assistant for the terminal.

Readme

SmartCommit

SmartCommit is an open-source AI-powered Git commit assistant for the terminal. It analyzes your staged diff, sends the relevant changes to your selected AI provider, and generates a professional Conventional Commit message.

Bring your own API key

Your code never touches our servers.

SmartCommit runs locally as a CLI. Provider requests go directly from your machine to the provider you configure, or to your local Ollama instance.

Features

  • Analyze staged changes from git diff --cached
  • Filter generated, build, coverage, lock, and minified files
  • Generate Conventional Commit messages
  • Optional commit body generation with --body
  • Interactive flow: Commit, Edit, Regenerate, Cancel
  • Auto-commit flow with --yes
  • Provider abstraction layer for OpenAI, Anthropic, Gemini, and Ollama
  • Local config in ~/.smartcommit/config.json
  • Doctor command for repository, config, API, and Ollama checks
  • Strict TypeScript project ready for npm and GitHub

Installation

npm install -g smartcommit

For local development:

git clone https://github.com/your-org/smartcommit.git
cd smartcommit
npm install
npm run build
npm link

Setup

smartcommit config

The setup flow asks for:

  1. Provider
  2. Model
  3. API key when required
  4. Optional Ollama base URL
  5. Request timeout

Config is saved to:

~/.smartcommit/config.json

Example:

{
  "provider": "anthropic",
  "model": "claude-sonnet-4",
  "apiKey": "xxxxx",
  "timeoutMs": 45000
}

You can also use environment variables during setup:

  • OPENAI_API_KEY
  • ANTHROPIC_API_KEY
  • GEMINI_API_KEY

Usage

git add .
smartcommit

Auto-commit without the interactive menu:

smartcommit --yes

Ask the model to include a body when useful:

smartcommit --body

Increase the maximum diff size:

smartcommit --max-diff-size 400000

Commands

smartcommit           # generate a commit message from staged changes
smartcommit config    # configure provider, model, and API key
smartcommit providers # list supported providers
smartcommit models    # list supported models
smartcommit doctor    # check git, config, API connectivity, and Ollama

Supported providers and models

| Provider | Models | | --- | --- | | OpenAI | gpt-5-mini, gpt-5, gpt-4.1-mini | | Anthropic | claude-sonnet-4, claude-opus-4 | | Google Gemini | gemini-2.5-flash, gemini-2.5-pro | | Ollama | qwen2.5-coder, codellama, deepseek-coder |

Ollama

SmartCommit uses:

http://localhost:11434/api/generate

Install and start Ollama, then pull a supported model:

ollama pull qwen2.5-coder
smartcommit config
smartcommit doctor

Screenshots

docs/screenshots/config-flow.png
docs/screenshots/generated-message.png
docs/screenshots/doctor-check.png

Example output

SmartCommit
AI-powered Git commit assistant

✓ Staged diff loaded
✓ Commit message generated

Generated commit message:

feat(auth): add JWT token validation

? What do you want to do?
❯ Commit
  Edit
  Regenerate
  Cancel
SmartCommit
AI-powered Git commit assistant

✓ Git repository
✓ Staged changes - 4 staged file(s)
✓ Filtered diff - 3 included, 1 ignored
✓ Config - Anthropic / claude-sonnet-4
✓ API connectivity - reachable
✓ Ollama status - running, 2 model(s)

Development

npm install
npm run dev -- --help
npm run lint
npm run typecheck
npm run build

Project layout:

smartcommit/
├── bin/
│   └── cli.ts
├── src/
│   ├── providers/
│   ├── git/
│   ├── config/
│   ├── prompts/
│   ├── commands/
│   ├── ui/
│   └── utils/
├── package.json
├── tsconfig.json
├── README.md
├── .gitignore
└── LICENSE

Publishing to npm

npm login
npm run prepublishOnly
npm publish --access public

Publishing to GitHub

git init
git add .
git commit -m "chore: initial release"
git branch -M main
git remote add origin https://github.com/your-org/smartcommit.git
git push -u origin main

Roadmap

  • Config profiles per repository
  • Provider-specific model discovery
  • Streaming generation
  • Commit message history
  • Shell completions
  • Git hooks integration

Contributing

Contributions are welcome. Please open an issue before large architectural changes, keep the TypeScript strict checks passing, and include focused documentation updates for user-facing behavior.

License

MIT