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/aicommit

v0.1.2

Published

AI-powered Git commit assistant for the terminal.

Readme

AICommit

AICommit is an AI-powered Git commit assistant for the terminal. It reads your staged Git diff, asks your configured AI provider to generate a professional Conventional Commit message, and can create the commit for you.

Package:

@juleczek.1/aicommit

Commands:

aicommit
smartcommit

aicommit is the main command. smartcommit is kept as a compatibility alias.

Language


English

Privacy

Bring your own API key.

Your code never touches our servers.

AICommit runs locally on your machine. When you use a cloud AI provider, the staged diff is sent directly from your computer to that provider. When you use Ollama, the request stays local.

Features

  • Reads staged changes using git diff --cached
  • Filters generated files, build output, lockfiles, coverage files, and minified JS
  • Generates Conventional Commit messages
  • Supports optional commit body generation
  • Supports interactive actions: Commit, Edit, Regenerate, Cancel
  • Supports automatic commits with --yes
  • Supports OpenAI, Anthropic, Google Gemini, and Ollama
  • Stores user config locally in ~/.aicommit/config.json
  • Can read legacy config from ~/.smartcommit/config.json
  • Includes doctor checks for Git, staged files, config, API connectivity, and Ollama

Requirements

Install these first:

  • Node.js 20 or newer
  • npm
  • Git
  • An API key for OpenAI, Anthropic, or Gemini, or a local Ollama installation

Check your versions:

node --version
npm --version
git --version

Installation

Install AICommit globally:

npm install -g @juleczek.1/aicommit

On PowerShell, use quotes if npm has trouble reading the scoped package name:

npm install -g '@juleczek.1/aicommit'

Verify the installation:

aicommit --help

Expected result:

Usage: aicommit [options] [command]

First-time setup

Run:

aicommit config

The setup wizard asks for:

  1. AI provider
  2. Model
  3. API key if required
  4. Ollama base URL if you choose Ollama
  5. Request timeout

The config file is saved locally:

~/.aicommit/config.json

Example config:

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

Never commit this file to GitHub if it contains an API key.

API keys

AICommit does not include any API keys. Each user must provide their own key.

You can enter the key during aicommit config, or you can provide it through environment variables:

OPENAI_API_KEY=...
ANTHROPIC_API_KEY=...
GEMINI_API_KEY=...

On PowerShell:

$env:OPENAI_API_KEY="your-key"
$env:ANTHROPIC_API_KEY="your-key"
$env:GEMINI_API_KEY="your-key"

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 |

Using OpenAI, Anthropic, or Gemini

  1. Install AICommit:
npm install -g @juleczek.1/aicommit
  1. Configure the provider:
aicommit config
  1. Select provider and model.

  2. Paste your API key when asked.

  3. Check the setup:

aicommit doctor

Using Ollama

Ollama runs locally and does not require an API key.

  1. Install Ollama from:
https://ollama.com
  1. Pull a supported model:
ollama pull qwen2.5-coder
  1. Configure AICommit:
aicommit config
  1. Choose:
Ollama
qwen2.5-coder
  1. Check the setup:
aicommit doctor

AICommit uses this Ollama endpoint:

http://localhost:11434/api/generate

Daily usage

Run AICommit inside the Git repository where you want to create a commit.

  1. Go to your project:
cd path/to/your/project
  1. Stage your changes:
git add .
  1. Run AICommit:
aicommit

AICommit will:

  1. Read staged changes with git diff --cached
  2. Filter unnecessary files
  3. Send the diff to the configured AI provider
  4. Generate a Conventional Commit message
  5. Show an interactive menu
  6. Run git commit -m "..."

Example:

AICommit
AI-powered Git commit assistant

OK Staged diff loaded
OK Commit message generated

Generated commit message:

feat(auth): add JWT token validation

? What do you want to do?
> Commit
  Edit
  Regenerate
  Cancel

Commands

aicommit
aicommit --yes
aicommit --body
aicommit config
aicommit providers
aicommit models
aicommit doctor

Command details:

| Command | Description | | --- | --- | | aicommit | Generates a commit message from staged changes | | aicommit --yes | Commits automatically without the interactive menu | | aicommit --body | Allows the model to include a useful commit body | | aicommit config | Configures provider, model, and API key | | aicommit providers | Lists supported providers | | aicommit models | Lists supported models | | aicommit doctor | Checks Git, staged changes, config, API connectivity, and Ollama |

Files ignored from the diff

AICommit automatically ignores:

  • package-lock.json
  • yarn.lock
  • dist/
  • build/
  • coverage/
  • *.min.js

Troubleshooting

If aicommit is not recognized:

npm install -g @juleczek.1/aicommit
aicommit --help

On PowerShell:

npm install -g '@juleczek.1/aicommit'

If there are no staged changes:

git status
git add .
aicommit

If config is missing:

aicommit config

If API connectivity fails:

aicommit doctor

If Ollama fails:

ollama list
ollama pull qwen2.5-coder
aicommit doctor

If npm says a version already exists during publishing:

npm version patch --no-git-tag-version
npm publish --access public

Updating

npm install -g @juleczek.1/aicommit@latest

PowerShell:

npm install -g '@juleczek.1/aicommit@latest'

Uninstalling

npm uninstall -g @juleczek.1/aicommit

What not to commit to GitHub

Do not commit:

  • node_modules/
  • dist/
  • coverage/
  • .env
  • .env.*
  • .npmrc if it contains an npm token
  • *.tgz
  • .aicommit/
  • .smartcommit/
  • local config files containing API keys
  • npm/yarn/pnpm logs
  • editor and OS files like .DS_Store, Thumbs.db, .idea/, .vscode/

Commit these files:

  • bin/
  • src/
  • package.json
  • package-lock.json
  • tsconfig.json
  • eslint.config.js
  • README.md
  • LICENSE
  • .gitignore

package-lock.json should be committed because it makes dependency installation reproducible.

dist/ does not need to be committed to GitHub. It is generated before publishing through npm run build.

Development

Install dependencies:

npm install

Run locally:

npm run dev -- --help

Check the project:

npm run lint
npm run typecheck
npm run build

Link the CLI locally:

npm link
aicommit --help

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/aicommit.git
git push -u origin main

Polski

Prywatność

Używasz własnego API key.

Twój kod nigdy nie trafia na nasze serwery.

AICommit działa lokalnie na Twoim komputerze. Jeżeli używasz providera chmurowego, staged diff jest wysyłany bezpośrednio z Twojego komputera do tego providera. Jeżeli używasz Ollama, request zostaje lokalnie.

Funkcje

  • Pobiera staged changes przez git diff --cached
  • Filtruje pliki generowane, build output, lockfile, coverage i minified JS
  • Generuje wiadomości zgodne z Conventional Commits
  • Opcjonalnie generuje commit body
  • Obsługuje menu: Commit, Edit, Regenerate, Cancel
  • Obsługuje automatyczny commit przez --yes
  • Obsługuje OpenAI, Anthropic, Google Gemini i Ollama
  • Zapisuje config lokalnie w ~/.aicommit/config.json
  • Potrafi odczytać stary config z ~/.smartcommit/config.json
  • Ma komendę doctor, która sprawdza Git, staged files, config, API i Ollama

Wymagania

Najpierw zainstaluj:

  • Node.js 20 lub nowszy
  • npm
  • Git
  • API key do OpenAI, Anthropic albo Gemini, albo lokalną Ollama

Sprawdź wersje:

node --version
npm --version
git --version

Instalacja

Zainstaluj AICommit globalnie:

npm install -g @juleczek.1/aicommit

W PowerShell użyj apostrofów, jeśli npm źle interpretuje nazwę paczki z @:

npm install -g '@juleczek.1/aicommit'

Sprawdź instalację:

aicommit --help

Oczekiwany wynik:

Usage: aicommit [options] [command]

Pierwsza konfiguracja

Uruchom:

aicommit config

Konfigurator zapyta o:

  1. Providera AI
  2. Model
  3. API key, jeżeli provider go wymaga
  4. URL Ollama, jeżeli wybierzesz Ollama
  5. Timeout requestów

Config zapisuje się lokalnie:

~/.aicommit/config.json

Przykładowy config:

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

Nie wrzucaj tego pliku na GitHub, jeżeli zawiera API key.

API keys

AICommit nie ma żadnych własnych API keys. Każdy użytkownik podaje własny klucz.

Możesz wkleić API key podczas aicommit config albo ustawić go przez zmienne środowiskowe:

OPENAI_API_KEY=...
ANTHROPIC_API_KEY=...
GEMINI_API_KEY=...

PowerShell:

$env:OPENAI_API_KEY="twoj-klucz"
$env:ANTHROPIC_API_KEY="twoj-klucz"
$env:GEMINI_API_KEY="twoj-klucz"

Obsługiwani providerzy i modele

| Provider | Modele | | --- | --- | | 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 |

Użycie OpenAI, Anthropic albo Gemini

  1. Zainstaluj AICommit:
npm install -g @juleczek.1/aicommit
  1. Uruchom konfigurację:
aicommit config
  1. Wybierz providera i model.

  2. Wklej API key, gdy konfigurator o niego poprosi.

  3. Sprawdź konfigurację:

aicommit doctor

Użycie Ollama

Ollama działa lokalnie i nie wymaga API key.

  1. Zainstaluj Ollama:
https://ollama.com
  1. Pobierz obsługiwany model:
ollama pull qwen2.5-coder
  1. Skonfiguruj AICommit:
aicommit config
  1. Wybierz:
Ollama
qwen2.5-coder
  1. Sprawdź konfigurację:
aicommit doctor

AICommit używa endpointu Ollama:

http://localhost:11434/api/generate

Codzienne użycie

Uruchamiaj AICommit w repozytorium Git, w którym chcesz zrobić commit.

  1. Wejdź do projektu:
cd sciezka/do/twojego/projektu
  1. Dodaj zmiany do staged:
git add .
  1. Uruchom AICommit:
aicommit

AICommit wykona:

  1. Odczyt staged changes przez git diff --cached
  2. Filtrowanie niepotrzebnych plików
  3. Wysłanie diffu do skonfigurowanego providera AI
  4. Wygenerowanie Conventional Commit message
  5. Pokazanie interaktywnego menu
  6. Uruchomienie git commit -m "..."

Przykład:

AICommit
AI-powered Git commit assistant

OK Staged diff loaded
OK Commit message generated

Generated commit message:

feat(auth): add JWT token validation

? What do you want to do?
> Commit
  Edit
  Regenerate
  Cancel

Komendy

aicommit
aicommit --yes
aicommit --body
aicommit config
aicommit providers
aicommit models
aicommit doctor

Opis:

| Komenda | Opis | | --- | --- | | aicommit | Generuje commit message ze staged changes | | aicommit --yes | Robi commit automatycznie, bez menu | | aicommit --body | Pozwala modelowi dodać przydatne commit body | | aicommit config | Konfiguruje providera, model i API key | | aicommit providers | Pokazuje obsługiwanych providerów | | aicommit models | Pokazuje obsługiwane modele | | aicommit doctor | Sprawdza Git, staged changes, config, API i Ollama |

Pliki ignorowane z diffu

AICommit automatycznie ignoruje:

  • package-lock.json
  • yarn.lock
  • dist/
  • build/
  • coverage/
  • *.min.js

Rozwiązywanie problemów

Jeżeli aicommit nie jest rozpoznawany:

npm install -g @juleczek.1/aicommit
aicommit --help

PowerShell:

npm install -g '@juleczek.1/aicommit'

Jeżeli nie ma staged changes:

git status
git add .
aicommit

Jeżeli brakuje configu:

aicommit config

Jeżeli API nie odpowiada:

aicommit doctor

Jeżeli problem dotyczy Ollama:

ollama list
ollama pull qwen2.5-coder
aicommit doctor

Jeżeli npm mówi, że wersja już istnieje podczas publikacji:

npm version patch --no-git-tag-version
npm publish --access public

Aktualizacja

npm install -g @juleczek.1/aicommit@latest

PowerShell:

npm install -g '@juleczek.1/aicommit@latest'

Odinstalowanie

npm uninstall -g @juleczek.1/aicommit

Czego nie wrzucać na GitHub

Nie commituj:

  • node_modules/
  • dist/
  • coverage/
  • .env
  • .env.*
  • .npmrc, jeżeli zawiera token npm
  • *.tgz
  • .aicommit/
  • .smartcommit/
  • lokalnych configów z API key
  • logów npm/yarn/pnpm
  • plików edytora i systemu, np. .DS_Store, Thumbs.db, .idea/, .vscode/

Commituj:

  • bin/
  • src/
  • package.json
  • package-lock.json
  • tsconfig.json
  • eslint.config.js
  • README.md
  • LICENSE
  • .gitignore

package-lock.json warto commitować, bo daje powtarzalną instalację zależności.

dist/ nie musi być w repozytorium GitHub. Jest generowany przed publikacją przez npm run build.

Development

Instalacja zależności:

npm install

Uruchomienie lokalne:

npm run dev -- --help

Sprawdzenie projektu:

npm run lint
npm run typecheck
npm run build

Lokalne podpięcie CLI:

npm link
aicommit --help

Publikacja npm

npm login
npm run prepublishOnly
npm publish --access public

Publikacja GitHub

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

License

MIT