{"_id":"@ahalberkamp/aicommit","_rev":"3-4b6d10fb906f9c5089fd293fb3c2616a","name":"@ahalberkamp/aicommit","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@ahalberkamp/aicommit","version":"1.0.0","keywords":["git","commit","cli","codex","automation","productivity"],"author":{"name":"Andreas Halberkamp"},"license":"MIT","_id":"@ahalberkamp/aicommit@1.0.0","maintainers":[{"name":"ahalberkamp","email":"ahalberkamp@hotmail.com"}],"homepage":"https://github.com/andihalberkamp/aiCommit#readme","bugs":{"url":"https://github.com/andihalberkamp/aiCommit/issues"},"bin":{"aicommit":"bin/aicommit.js"},"dist":{"shasum":"fa2d08f9f05fabd0306f1eca98233355b84a7fb9","tarball":"https://registry.npmjs.org/@ahalberkamp/aicommit/-/aicommit-1.0.0.tgz","fileCount":4,"integrity":"sha512-fHSXqOu1OLg2Zcp4H+5nCmamMg4/UAY9BK2MNod+O+yHHGB/IYs10N62V4uAXrpWnZ9PsSPA14+BoQxC2lKmDQ==","signatures":[{"sig":"MEYCIQDNpmSKVyHQS0h80bJ/TBdELUneWvuQHOV2VGHtLbqxigIhAP3CqlNq0KXYedkil+uL84FplyIkoVL1k8xwVJrrbeZa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11582},"type":"module","engines":{"node":">=18"},"gitHead":"9904270e381b9a4285d6d526ebd7ded406ff302d","scripts":{"test":"node --eval \"console.log('No tests yet')\"","start":"node ./bin/aicommit.js","pack:check":"npm pack --dry-run --cache /tmp/aicommit-npm-cache"},"_npmUser":{"name":"ahalberkamp","email":"ahalberkamp@hotmail.com"},"repository":{"url":"git+https://github.com/andihalberkamp/aiCommit.git","type":"git"},"_npmVersion":"10.9.4","description":"Generate clean git commit messages from staged changes using Codex.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aicommit_1.0.0_1775374929403_0.26851653365799333","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ahalberkamp/aicommit","version":"1.0.1","keywords":["git","commit","cli","codex","automation","productivity"],"author":{"name":"Andreas Halberkamp"},"license":"MIT","_id":"@ahalberkamp/aicommit@1.0.1","maintainers":[{"name":"ahalberkamp","email":"ahalberkamp@hotmail.com"}],"homepage":"https://github.com/andihalberkamp/aiCommit#readme","bugs":{"url":"https://github.com/andihalberkamp/aiCommit/issues"},"bin":{"aicommit":"bin/aicommit.js"},"dist":{"shasum":"e2334a88375c9209905a13168bf13f3b929c0dcb","tarball":"https://registry.npmjs.org/@ahalberkamp/aicommit/-/aicommit-1.0.1.tgz","fileCount":5,"integrity":"sha512-Rr9pnF4XjN5KFWQ6SaROXvZq4OTjrl8w05NZtzoAiQApf6TM3DVIsExzYpKVnkERp8gYeP92s04KIIU1hzYCgA==","signatures":[{"sig":"MEYCIQDj+mVAiTdyUOKCtzkWB6hWHJqgs+z7kfP2waaBwmqcGQIhAJhqZzTNcwEkgbrou34foobVVQuFe6Z7Y1Tq+EUrM5p1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13645},"type":"module","engines":{"node":">=18"},"gitHead":"a3dbaf357803d63a395b6d4f66f45d604ba8ec9f","scripts":{"test":"node --test","start":"node ./bin/aicommit.js","pack:check":"npm pack --dry-run --cache /tmp/aicommit-npm-cache"},"_npmUser":{"name":"ahalberkamp","email":"ahalberkamp@hotmail.com"},"repository":{"url":"git+https://github.com/andihalberkamp/aiCommit.git","type":"git"},"_npmVersion":"10.9.4","description":"Generate clean git commit messages from staged changes using Codex.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"badge-maker":"^5.0.2","@ahalberkamp/aicommit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aicommit_1.0.1_1775376907397_0.9657896923203593","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@ahalberkamp/aicommit","version":"2.0.0","description":"Generate clean git commit messages from staged changes using Codex or Claude Code.","type":"module","bin":{"aicommit":"bin/aicommit.js"},"keywords":["git","commit","cli","codex","claude","automation","productivity"],"license":"MIT","author":{"name":"Andreas Halberkamp"},"repository":{"type":"git","url":"git+https://github.com/andihalberkamp/aiCommit.git"},"bugs":{"url":"https://github.com/andihalberkamp/aiCommit/issues"},"homepage":"https://github.com/andihalberkamp/aiCommit#readme","publishConfig":{"access":"public"},"engines":{"node":">=18"},"scripts":{"start":"node ./bin/aicommit.js","test":"node --test","pack:check":"npm pack --dry-run --cache /tmp/aicommit-npm-cache"},"gitHead":"ec28c5a1dba3b7ca09d02fbae56b6d6e85e2f3e8","_id":"@ahalberkamp/aicommit@2.0.0","_nodeVersion":"24.14.1","_npmVersion":"11.12.1","dist":{"integrity":"sha512-Yjrmz3dJ6yinFNUM8gRSKvnb0uBo8+k76bYBlRjdE/1UNSHNL2DQNSnDzscx7zIC7ScQd4xMLbjehmDxVTcCpw==","shasum":"c30ffc8fd11f1100ba7e0b2488bb34a8e741a8b6","tarball":"https://registry.npmjs.org/@ahalberkamp/aicommit/-/aicommit-2.0.0.tgz","fileCount":5,"unpackedSize":16741,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahalberkamp%2faicommit@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD83yBxJD6WThjcc8XeLwjA71fuDP/x7ZGLprbI3ccDGwIhALCpXrrrP5dj3+JyDUn5LXY93+JudEekrXA0JnzxrFNV"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a54ea914-df13-4b05-b312-161af291efad"}},"directories":{},"maintainers":[{"name":"ahalberkamp","email":"ahalberkamp@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aicommit_2.0.0_1775981945887_0.45939677537917323"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-05T07:42:09.272Z","modified":"2026-04-12T08:19:06.319Z","1.0.0":"2026-04-05T07:42:09.549Z","1.0.1":"2026-04-05T08:15:07.533Z","2.0.0":"2026-04-12T08:19:06.055Z"},"bugs":{"url":"https://github.com/andihalberkamp/aiCommit/issues"},"author":{"name":"Andreas Halberkamp"},"license":"MIT","homepage":"https://github.com/andihalberkamp/aiCommit#readme","keywords":["git","commit","cli","codex","claude","automation","productivity"],"repository":{"type":"git","url":"git+https://github.com/andihalberkamp/aiCommit.git"},"description":"Generate clean git commit messages from staged changes using Codex or Claude Code.","maintainers":[{"name":"ahalberkamp","email":"ahalberkamp@hotmail.com"}],"readme":"\n\n<p align=\"left\">\n  <img src=\"https://img.shields.io/badge/Codex-supported-0F172A?style=for-the-badge\" alt=\"Codex supported\" />\n  <img src=\"https://img.shields.io/badge/Claude%20Code-supported-D97706?style=for-the-badge\" alt=\"Claude Code supported\" />\n</p>\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/andihalberkamp/aiCommit/main/assets/aicommit-logo.png\" alt=\"AICommit logo\" width=\"320\" />\n</p>\n\n# aicommit\n\nGenerate clean Git commit messages from staged changes using Codex or Claude Code.\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n**Table of Contents**\n\n- [Features](#features)\n- [Requirements](#requirements)\n- [Installation](#installation)\n  - [Install using npm:](#install-using-npm)\n  - [Install using Homebrew:](#install-using-homebrew)\n- [Platform Notes](#platform-notes)\n  - [macOS](#macos)\n  - [Linux](#linux)\n  - [Windows](#windows)\n- [Usage](#usage)\n  - [Stage everything and generate a commit](#stage-everything-and-generate-a-commit)\n  - [Stage a specific folder](#stage-a-specific-folder)\n  - [Stage multiple paths](#stage-multiple-paths)\n  - [Choose the AI CLI explicitly](#choose-the-ai-cli-explicitly)\n- [Typical Flow](#typical-flow)\n- [Ticket Prefix Support](#ticket-prefix-support)\n- [License](#license)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Features\n\n- Stages files and folders you pass in\n- Reads the staged Git diff\n- Uses Codex or Claude Code to suggest a commit message\n- Detects ticket IDs from the current branch name, such as `ABC-123`\n- Lets you:\n  - commit\n  - commit and push\n  - edit the message manually\n  - regenerate the suggestion\n  - abort\n\n## Requirements\n\n- Node.js 18 or newer\n- Git\n- Codex CLI or Claude Code installed and available in your shell\n\n## Installation\n\n### Install using npm:\n\n```bash\nnpm install --global @ahalberkamp/aicommit\n```\n\n### Install using Homebrew:\n\n```bash\nbrew tap andihalberkamp/tap\nbrew install andihalberkamp/tap/aicommit\n```\n\n## Platform Notes\n\n### macOS\n\nMake sure these are installed and available in your terminal:\n\n- `node`\n- `git`\n- `codex`\n- `claude` if you want to use Claude Code\n\n### Linux\n\nInstall Node.js, Git, and either Codex or Claude Code with your preferred package manager or installer.\n\n### Windows\n\nUse one of these:\n\n- PowerShell\n- Windows Terminal\n- Git Bash\n- WSL\n\nFor the best experience, Git Bash or WSL is recommended.\n\n## Usage\n\n### Stage everything and generate a commit\n\n```bash\naicommit\n```\n\nBy default, `aicommit` tries `codex` first and falls back to `claude` if Codex is not installed.\n\n### Stage a specific folder\n\n```bash\naicommit src\n```\n\n### Stage multiple paths\n\n```bash\naicommit src package.json README.md\n```\n\n### Choose the AI CLI explicitly\n\n```bash\naicommit --provider codex\naicommit --provider claude\n```\n\nYou can also set the provider permanently with an environment variable:\n\n```bash\nAICOMMIT_PROVIDER=claude aicommit src\n```\n\n## Typical Flow\n\nWhen you run the command:\n\n1. The provided paths are staged with `git add`\n2. The staged diff is collected\n3. The selected AI CLI generates a commit message\n4. You choose one of these actions:\n\n```text\n(y) commit\n(p) commit+push\n(e) edit\n(r) regenerate\n(n) abort\n```\n\n## Ticket Prefix Support\n\nIf your current Git branch contains a ticket ID like:\n\n```text\nABC-123-add-login-validation\n```\n\n`aicommit` will try to prefix the commit message like this:\n\n```text\nABC-123: Improve login validation for empty password input.\n```\n## License\n\nMIT. See [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}