{"_id":"@arseno25/comet","_rev":"9-7ac5c95e9c3c416ef3c8bc5f42b11b47","name":"@arseno25/comet","dist-tags":{"latest":"1.7.0"},"versions":{"0.1.0":{"name":"@arseno25/comet","version":"0.1.0","keywords":["cli","git","commit","conventional-commits","opencommit","ai"],"author":{"name":"arseno25"},"license":"MIT","_id":"@arseno25/comet@0.1.0","maintainers":[{"name":"arseno25","email":"senotekno25@gmail.com"}],"homepage":"https://github.com/arseno25/comet#readme","bugs":{"url":"https://github.com/arseno25/comet/issues"},"bin":{"comet":"dist/cli.js"},"dist":{"shasum":"cf50fd9fadb6c5d14fd47479e176c429bd153e81","tarball":"https://registry.npmjs.org/@arseno25/comet/-/comet-0.1.0.tgz","fileCount":5,"integrity":"sha512-CIUzCT0fx5LjsDQUblkDpqqqJDyuteTbI4g0v1s4YEYy6lQN6fA19yfiEyoejaDV/PRR71fdvaTbf6UoIj60hg==","signatures":[{"sig":"MEQCIH6qE9lrCPlRKZbkOuqq3MWNGb/BiYdFb+DBQiVXiKUNAiBZXMTm1qjZvB6Y6uam+WYntyJj0dkk6o6b/YTAZWY0QA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158642},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"df8462f0b4941ddec52d45e60b1f1fe7cbff4072","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run lint && npm run typecheck && npm run test && npm run build","typecheck":"tsc --noEmit","pack:check":"npm pack --dry-run","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"arseno25","email":"senotekno25@gmail.com"},"repository":{"url":"git+https://github.com/arseno25/comet.git","type":"git"},"_npmVersion":"11.8.0","description":"AI commit message assistant with secure diff redaction and modern terminal UX.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","boxen":"^8.0.1","execa":"^9.6.1","dotenv":"^17.4.2","openai":"^6.34.0","commander":"^14.0.3","picomatch":"^4.0.4","yoctocolors":"^2.1.2","@clack/prompts":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.8.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/picomatch":"^4.0.3","typescript-eslint":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/comet_0.1.0_1777004145048_0.521972809024192","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@arseno25/comet","version":"0.2.0","keywords":["cli","git","commit","conventional-commits","opencommit","ai"],"author":{"name":"arseno25"},"license":"MIT","_id":"@arseno25/comet@0.2.0","maintainers":[{"name":"arseno25","email":"senotekno25@gmail.com"}],"homepage":"https://github.com/arseno25/comet#readme","bugs":{"url":"https://github.com/arseno25/comet/issues"},"bin":{"comet":"dist/cli.js"},"dist":{"shasum":"fc07677d5b44006f1be3dda9f2b0828b36135665","tarball":"https://registry.npmjs.org/@arseno25/comet/-/comet-0.2.0.tgz","fileCount":9,"integrity":"sha512-JWj/riLjYXO3542pl8Zs1YiVJY5IQ3TbeKWvvwTEOUjz3lBZwmFbC5GfCXOQMWrUoxbgEt8BPBQzQs80rTmK9g==","signatures":[{"sig":"MEUCIQCnkSKXDTBSgBFwNpq+acYzbHMA3yAGNWYG8B8y3L9kRQIgKJpe+W3mtvKuqmywd9Nd20P29W9AE9aEVHGNVy4w7S4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":394439},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bc51f8dd59b6f735fd7b21ccdcb83d81e4ec720a","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run lint && npm run typecheck && npm run test && npm run build","typecheck":"tsc --noEmit","pack:check":"npm pack --dry-run","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"arseno25","email":"senotekno25@gmail.com"},"repository":{"url":"git+https://github.com/arseno25/comet.git","type":"git"},"_npmVersion":"11.8.0","description":"AI commit message assistant with secure diff redaction and modern terminal UX.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","boxen":"^8.0.1","execa":"^9.6.1","dotenv":"^17.4.2","openai":"^6.34.0","commander":"^14.0.3","picomatch":"^4.0.4","yoctocolors":"^2.1.2","@clack/prompts":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.8.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/picomatch":"^4.0.3","typescript-eslint":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/comet_0.2.0_1777007584884_0.9967828681641628","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@arseno25/comet","version":"1.0.0","keywords":["cli","git","commit","conventional-commits","opencommit","ai"],"author":{"name":"arseno25"},"license":"MIT","_id":"@arseno25/comet@1.0.0","maintainers":[{"name":"arseno25","email":"senotekno25@gmail.com"}],"homepage":"https://github.com/arseno25/comet#readme","bugs":{"url":"https://github.com/arseno25/comet/issues"},"bin":{"comet":"dist/cli.js"},"dist":{"shasum":"797ecc2515cb69149ea80021e5106351e7cf59f3","tarball":"https://registry.npmjs.org/@arseno25/comet/-/comet-1.0.0.tgz","fileCount":9,"integrity":"sha512-bfWTutwuGdi3gXJls3s9ZKEMZmby7YBJf+pbq1sO2JtjDZobfBs3XrivKQ2cg/QWNt334OBSGykpSPgcv/LXYA==","signatures":[{"sig":"MEYCIQCtEBw/ToaIn7ng8Pnpfq1w/RgTkKZQDQQTreo4CMvpxwIhAJUZV7gPX5xZhMMq/inFgYuedEkYVF/eae3mE/hcY1GU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":433015},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4f2aa9c5f8eeaf6d60477992b0404da9430f340b","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run lint && npm run typecheck && npm run test && npm run build","typecheck":"tsc --noEmit","pack:check":"npm pack --dry-run","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"arseno25","email":"senotekno25@gmail.com"},"repository":{"url":"git+https://github.com/arseno25/comet.git","type":"git"},"_npmVersion":"11.8.0","description":"AI commit message assistant with secure diff redaction and modern terminal UX.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","boxen":"^8.0.1","execa":"^9.6.1","dotenv":"^17.4.2","openai":"^6.34.0","commander":"^14.0.3","picomatch":"^4.0.4","yoctocolors":"^2.1.2","@clack/prompts":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.8.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/picomatch":"^4.0.3","typescript-eslint":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/comet_1.0.0_1777014695833_0.4173813311932384","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@arseno25/comet","version":"1.1.0","keywords":["cli","git","commit","conventional-commits","opencommit","ai"],"author":{"name":"arseno25"},"license":"MIT","_id":"@arseno25/comet@1.1.0","maintainers":[{"name":"arseno25","email":"senotekno25@gmail.com"}],"homepage":"https://github.com/arseno25/comet#readme","bugs":{"url":"https://github.com/arseno25/comet/issues"},"bin":{"comet":"dist/cli.js"},"dist":{"shasum":"a8df70d0dcf5470b529038cc8f6efe342f486a4e","tarball":"https://registry.npmjs.org/@arseno25/comet/-/comet-1.1.0.tgz","fileCount":9,"integrity":"sha512-pa9qFmNfUKFs5LCz5j+ymPxglLqh9k0uZgqF2/r/0BMN/c27o89P/Vj2oWYEgGAE9tmSBTj4OrRHsQ311+XuXg==","signatures":[{"sig":"MEQCIB2zxbtD9PImBf+q2RxoFi/8ZQHVA2jdXE0v6PxasM+jAiAL4fSC9V5Xqjx7TVLFEroSAahqWq1Z0h5htrvOZzpZ1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":472798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1ade4cccc911f88bcd3a40143c752cd4432cb918","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run lint && npm run typecheck && npm run test && npm run build","typecheck":"tsc --noEmit","pack:check":"npm pack --dry-run","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"arseno25","email":"senotekno25@gmail.com"},"repository":{"url":"git+https://github.com/arseno25/comet.git","type":"git"},"_npmVersion":"11.8.0","description":"AI commit message assistant with secure diff redaction and modern terminal UX.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","boxen":"^8.0.1","execa":"^9.6.1","dotenv":"^17.4.2","openai":"^6.34.0","commander":"^14.0.3","picomatch":"^4.0.4","yoctocolors":"^2.1.2","@clack/prompts":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.8.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/picomatch":"^4.0.3","typescript-eslint":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/comet_1.1.0_1777019218926_0.9077882885588262","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@arseno25/comet","version":"1.2.0","keywords":["cli","git","commit","conventional-commits","opencommit","ai"],"author":{"name":"arseno25"},"license":"MIT","_id":"@arseno25/comet@1.2.0","maintainers":[{"name":"arseno25","email":"senotekno25@gmail.com"}],"homepage":"https://github.com/arseno25/comet#readme","bugs":{"url":"https://github.com/arseno25/comet/issues"},"bin":{"comet":"dist/cli.js"},"dist":{"shasum":"f5b1ed7a05e43863b80c57c171456d8c9fef92b2","tarball":"https://registry.npmjs.org/@arseno25/comet/-/comet-1.2.0.tgz","fileCount":9,"integrity":"sha512-+gNqSKgmmOa7VQNKbjqMK/sgGwqgARhnW7wm8Az62ss0y1lw/FQVrXGoH7wCZ6rUk8rNwnOXNHc9TuyafxT02A==","signatures":[{"sig":"MEYCIQDW7LoBFJtFA+POlHiG7VvWBrqSrMhTlx6XJzYDq6terQIhAIMQbvMVW40jISruh1EO2SaSMdWZTqrQgX8bQkgkDWXL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":478439},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"dabca1e87189d16d7d89fe3954182d81113a9605","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run lint && npm run typecheck && npm run test && npm run build","typecheck":"tsc --noEmit","pack:check":"npm pack --dry-run","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"arseno25","email":"senotekno25@gmail.com"},"repository":{"url":"git+https://github.com/arseno25/comet.git","type":"git"},"_npmVersion":"11.8.0","description":"AI commit message assistant with secure diff redaction and modern terminal UX.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","boxen":"^8.0.1","execa":"^9.6.1","dotenv":"^17.4.2","openai":"^6.34.0","commander":"^14.0.3","picomatch":"^4.0.4","yoctocolors":"^2.1.2","@clack/prompts":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.8.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/picomatch":"^4.0.3","typescript-eslint":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/comet_1.2.0_1777019838619_0.4677224172951251","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@arseno25/comet","version":"1.3.0","keywords":["cli","git","commit","conventional-commits","opencommit","ai"],"author":{"name":"arseno25"},"license":"MIT","_id":"@arseno25/comet@1.3.0","maintainers":[{"name":"arseno25","email":"senotekno25@gmail.com"}],"homepage":"https://github.com/arseno25/comet#readme","bugs":{"url":"https://github.com/arseno25/comet/issues"},"bin":{"comet":"dist/cli.js"},"dist":{"shasum":"4e3d5c6a359d7d5d701a71cf7f38a60d9ed06209","tarball":"https://registry.npmjs.org/@arseno25/comet/-/comet-1.3.0.tgz","fileCount":9,"integrity":"sha512-MzEfNHlYvgoiO+cVjrvKVQbXMz6jfyOcAWRBo4l6m12nKdyHzUXAqqCUEYroTT2XsJsCEeN55hNsrAIAvCbB1A==","signatures":[{"sig":"MEUCIQDuEjlscrp9FcsL7Z1Gn5OrIkOP3X+GNnfm4KfexGqFQAIgDMmbK1zzGaxxo4kgQmg2tqli+SSnsQ0/ylFGw7PzqBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":489781},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c825486082671352e455067357aa1a894a4aefa7","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run lint && npm run typecheck && npm run test && npm run build","typecheck":"tsc --noEmit","pack:check":"npm pack --dry-run","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"arseno25","email":"senotekno25@gmail.com"},"repository":{"url":"git+https://github.com/arseno25/comet.git","type":"git"},"_npmVersion":"11.8.0","description":"AI commit message assistant with secure diff redaction and modern terminal UX.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","boxen":"^8.0.1","execa":"^9.6.1","dotenv":"^17.4.2","openai":"^6.34.0","commander":"^14.0.3","picomatch":"^4.0.4","yoctocolors":"^2.1.2","@clack/prompts":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.8.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/picomatch":"^4.0.3","typescript-eslint":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/comet_1.3.0_1777021688090_0.6780738115056928","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@arseno25/comet","version":"1.4.0","keywords":["cli","git","commit","conventional-commits","opencommit","ai"],"author":{"name":"arseno25"},"license":"MIT","_id":"@arseno25/comet@1.4.0","maintainers":[{"name":"arseno25","email":"senotekno25@gmail.com"}],"homepage":"https://github.com/arseno25/comet#readme","bugs":{"url":"https://github.com/arseno25/comet/issues"},"bin":{"comet":"dist/cli.js"},"dist":{"shasum":"8f008998dddc34c2f3ce0b60369b4539fe70c11e","tarball":"https://registry.npmjs.org/@arseno25/comet/-/comet-1.4.0.tgz","fileCount":9,"integrity":"sha512-k3uQLktnXa8cQRkgaAAKvqCSru5XvhAzA6kZCQJvrLA4VomokABmTpsmUqdccBTdIIijXpc9nJsPmLsvud51sg==","signatures":[{"sig":"MEUCIQCdIwqJEZnIi+MxH1UUA9WM/etlJVxKCas+wLPDpQrCnwIgCeBs+JbbUyxLbS8imu5Uom5A0WcqtZ3Nn32o5+E6Cqo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491250},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"eb7b1d6f06e9dae3325d372dd68669e6fbb5b8b4","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run lint && npm run typecheck && npm run test && npm run build","typecheck":"tsc --noEmit","pack:check":"npm pack --dry-run","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"arseno25","email":"senotekno25@gmail.com"},"repository":{"url":"git+https://github.com/arseno25/comet.git","type":"git"},"_npmVersion":"11.8.0","description":"AI commit message assistant with secure diff redaction and modern terminal UX.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","boxen":"^8.0.1","execa":"^9.6.1","dotenv":"^17.4.2","openai":"^6.34.0","commander":"^14.0.3","picomatch":"^4.0.4","yoctocolors":"^2.1.2","@clack/prompts":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.8.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/picomatch":"^4.0.3","typescript-eslint":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/comet_1.4.0_1777021967578_0.9286226655525021","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@arseno25/comet","version":"1.6.0","keywords":["cli","git","commit","conventional-commits","opencommit","ai"],"author":{"name":"arseno25"},"license":"MIT","_id":"@arseno25/comet@1.6.0","maintainers":[{"name":"arseno25","email":"senotekno25@gmail.com"}],"homepage":"https://github.com/arseno25/comet#readme","bugs":{"url":"https://github.com/arseno25/comet/issues"},"bin":{"comet":"dist/cli.js"},"dist":{"shasum":"cdcaffa00b49b49d2f9b5d1230b882be35b2632a","tarball":"https://registry.npmjs.org/@arseno25/comet/-/comet-1.6.0.tgz","fileCount":9,"integrity":"sha512-ox9zvXl5fWaYQM2PJ1MzhxtGDVrZG3SUrvIWniTuHIdI60CeQmJ3yc7Ocudxdw1YbJn8Ezna3IuRUCWcIDv4ug==","signatures":[{"sig":"MEUCIHZmVYlhxB8raSBwfwP43My84fjq5EawJNDoRpa3K3iDAiEAmeSxqKxua3p8AcDltVW1MEnjGAEumfxX9RWZ/PTx02o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":507831},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e33573363569c870f693475598d47ecb629e3323","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run lint && npm run typecheck && npm run test && npm run build","typecheck":"tsc --noEmit","pack:check":"npm pack --dry-run","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"arseno25","email":"senotekno25@gmail.com"},"repository":{"url":"git+https://github.com/arseno25/comet.git","type":"git"},"_npmVersion":"11.8.0","description":"AI commit message assistant with secure diff redaction and modern terminal UX.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ora":"^9.4.0","zod":"^4.3.6","boxen":"^8.0.1","execa":"^9.6.1","dotenv":"^17.4.2","openai":"^6.34.0","commander":"^14.0.3","picomatch":"^4.0.4","log-update":"^8.0.0","yoctocolors":"^2.1.2","@clack/prompts":"^1.2.0","gradient-string":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.8.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","@types/picomatch":"^4.0.3","typescript-eslint":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/comet_1.6.0_1777025041050_0.8931567386329278","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@arseno25/comet","version":"1.7.0","description":"AI commit message assistant with secure diff redaction and modern terminal UX.","author":{"name":"arseno25"},"license":"MIT","type":"module","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/arseno25/comet.git"},"bugs":{"url":"https://github.com/arseno25/comet/issues"},"homepage":"https://github.com/arseno25/comet#readme","bin":{"comet":"dist/cli.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"publishConfig":{"access":"public"},"engines":{"node":">=22.0.0"},"packageManager":"npm@11.8.0","scripts":{"build":"tsup","lint":"eslint .","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest","check":"npm run lint && npm run typecheck && npm run test && npm run build","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"keywords":["cli","git","commit","conventional-commits","opencommit","ai"],"dependencies":{"@clack/prompts":"^1.2.0","boxen":"^8.0.1","commander":"^14.0.3","dotenv":"^17.4.2","execa":"^9.6.1","gradient-string":"^3.0.0","log-update":"^8.0.0","openai":"^6.34.0","ora":"^9.4.0","picomatch":"^4.0.4","yoctocolors":"^2.1.2","zod":"^4.3.6"},"devDependencies":{"@eslint/js":"^10.0.1","@types/node":"^25.6.0","@types/picomatch":"^4.0.3","eslint":"^10.2.1","tsup":"^8.5.1","typescript":"^6.0.3","typescript-eslint":"^8.59.0","vitest":"^4.1.5"},"gitHead":"2d83585a29665dc6d24464046c8d673df935f1ab","_id":"@arseno25/comet@1.7.0","_nodeVersion":"22.19.0","_npmVersion":"11.8.0","dist":{"integrity":"sha512-XmIYQJ3213SBpEinw2eHrEv95r951blQhpO1xlv/YlCoBdNaMBz6020P5XW8mL3G3BH0Abf14OpfMMcsadOZqw==","shasum":"fc73036e1b7f69321ea14953ef3b0c86a92637b3","tarball":"https://registry.npmjs.org/@arseno25/comet/-/comet-1.7.0.tgz","fileCount":9,"unpackedSize":522184,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCFxKXPsj4UFJX+dbAm7VIxZqh14scZjnimgkKYbCPd6gIhAJQN4Ozoo5SXTmsGxDkzWt+AA66f3BBuzKi21n9XsONE"}]},"_npmUser":{"name":"arseno25","email":"senotekno25@gmail.com"},"directories":{},"maintainers":[{"name":"arseno25","email":"senotekno25@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/comet_1.7.0_1777027493908_0.9655405755532245"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-24T04:15:44.960Z","modified":"2026-04-24T10:44:54.169Z","0.1.0":"2026-04-24T04:15:45.190Z","0.2.0":"2026-04-24T05:13:05.028Z","1.0.0":"2026-04-24T07:11:35.980Z","1.1.0":"2026-04-24T08:26:59.080Z","1.2.0":"2026-04-24T08:37:18.753Z","1.3.0":"2026-04-24T09:08:08.257Z","1.4.0":"2026-04-24T09:12:47.755Z","1.6.0":"2026-04-24T10:04:01.233Z","1.7.0":"2026-04-24T10:44:54.069Z"},"bugs":{"url":"https://github.com/arseno25/comet/issues"},"author":{"name":"arseno25"},"license":"MIT","homepage":"https://github.com/arseno25/comet#readme","keywords":["cli","git","commit","conventional-commits","opencommit","ai"],"repository":{"type":"git","url":"git+https://github.com/arseno25/comet.git"},"description":"AI commit message assistant with secure diff redaction and modern terminal UX.","maintainers":[{"name":"arseno25","email":"senotekno25@gmail.com"}],"readme":"## ☄Comet (Commit assistant, catchy)\n\n<div align=\"center\">\n  <img src=\"./assets/logo.png\" alt=\"Comet Logo\" width=\"400\" />\n</div>\n\n<div align=\"center\">\n  <p>\n    <a href=\"https://www.npmjs.com/package/@arseno25/comet\">\n      <img src=\"https://img.shields.io/badge/npm-%40arseno25%2Fcomet-CB3837?logo=npm&logoColor=white\" alt=\"npm package\" />\n    </a>\n    <a href=\"https://www.npmjs.com/package/@arseno25/comet\">\n      <img src=\"https://img.shields.io/npm/v/@arseno25/comet?logo=npm&logoColor=white\" alt=\"npm version\" />\n    </a>\n    <a href=\"./LICENSE\">\n      <img src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"license MIT\" />\n    </a>\n  </p>\n\n  <p>AI-powered commit message generation for staged Git changes.</p>\n</div>\n\n## Install\n\n```bash\nnpm install -g @arseno25/comet\n```\n\nRun without permanent install:\n\n```bash\nnpx @arseno25/comet init\nnpx @arseno25/comet\n```\n\n## Requirements\n\n- Node.js 22 or newer\n- Git installed and available\n- An API key for your chosen provider\n\n## Quick Start\n\n```bash\n# 1. Set up config\ncomet init\n\n# 2. Stage changes\ngit add .\n\n# 3. Generate commit\ncomet\n```\n\n`comet init` now walks through provider setup, output preferences, push behavior, and default panel visibility for:\n\n- `Safe Send`\n- `Analysis`\n- `Quality`\n- `Warnings`\n\n## Commands\n\n### Main Command\n\n```bash\ncomet\n```\n\nGenerate a commit message from staged changes, show preview, and commit if approved.\n\n### Preview\n\n```bash\ncomet preview\ncomet preview --json\n```\n\nGenerate commit message without running `git commit`.\n\n### Analyze\n\n```bash\ncomet analyze\ncomet analyze --json\n```\n\nAnalyze staged changes without committing.\n\n### Review\n\n```bash\ncomet review\ncomet review --json\n```\n\nShow staged diff risks and highlights.\n\n### Squash\n\n```bash\ncomet squash main\ncomet squash main HEAD --json\n```\n\nGenerate a squash-ready commit message for a commit range.\n\n### Config\n\n```bash\ncomet config set provider openai-compatible\ncomet config set model gpt-4o-mini\ncomet config set apiKey your_api_key\ncomet config get\ncomet config unset apiKey\ncomet config path\n```\n\n### Doctor\n\n```bash\ncomet doctor\ncomet doctor --json\n```\n\nShow environment diagnostics.\n\n### Init\n\n```bash\ncomet init\n```\n\nCreate or update the global Comet config with interactive prompts for provider, model, API key, language, output defaults, push behavior, and panel visibility.\n\n### Hook\n\n```bash\ncomet hook install\ncomet hook status\ncomet hook uninstall\n```\n\nManage `prepare-commit-msg` hook.\n\n### Changelog\n\n```bash\ncomet changelog\ncomet changelog --from v1.0.0 --version 2.0.0\ncomet changelog --json\n```\n\nGenerate formatted changelog from commit history.\n\n### Release Notes\n\n```bash\ncomet release-notes v1.0.0\ncomet release-notes v1.0.0 --version 2.0.0\ncomet release-notes v1.0.0 --json\n```\n\nGenerate release notes with contributor stats.\n\n## Runtime Flags\n\n### Output\n\n```bash\ncomet --emoji\ncomet --description\ncomet --one-line\ncomet --omit-scope\ncomet --why\n```\n\n### Provider\n\n```bash\ncomet --provider openai-compatible\ncomet --model gpt-4o-mini\ncomet --base-url https://api.example.com\ncomet --lang en\n```\n\n### Privacy\n\n```bash\ncomet --privacy-mode standard\n```\n\nOptions: `standard`, `strict`, `local-only`\n\n### Workflow\n\n```bash\ncomet --preview\ncomet --json\ncomet --yes\ncomet --push\ncomet --no-push\n```\n\n### Force Output\n\n```bash\ncomet --type fix\ncomet --scope auth\n```\n\n## Config\n\nConfig is resolved in order:\n\n```\nCLI flags > environment variables > project config > global config > default\n```\n\n### Global Config\n\n```txt\n~/.comet/config.env\n```\n\n### Project Override\n\nComet looks for:\n\n```txt\n.comet.env\n.cometrc\n.cometrc.json\n```\n\n### Important Config Keys\n\n```env\n# Provider\nCOMET_PROVIDER=openai\nCOMET_MODEL=gpt-4o-mini\nCOMET_BASE_URL=\nCOMET_API_KEY=\n\n# Output\nCOMET_LANGUAGE=en\nCOMET_DESCRIPTION=true\nCOMET_EMOJI=false\nCOMET_ONE_LINE=false\nCOMET_OMIT_SCOPE=false\nCOMET_WHY=false\n\n# Git\nCOMET_AUTO_COMMIT=false\nCOMET_GIT_PUSH=false\nCOMET_STAGE_ALL=false\n\n# Security\nCOMET_REDACT_SECRETS=true\nCOMET_PRIVACY_MODE=standard\nCOMET_EXCLUDE_FILES=\n\n# Panel Visibility\nCOMET_SHOW_SAFE_SEND=false\nCOMET_SHOW_ANALYSIS=false\nCOMET_SHOW_QUALITY=false\nCOMET_SHOW_WARNINGS=false\nCOMET_VERBOSE=false\n```\n\n### Panel Visibility\n\nThese values control which extra panels appear in the commit preview:\n\n- `COMET_SHOW_SAFE_SEND`: show included files, skipped files, and redaction summary\n- `COMET_SHOW_ANALYSIS`: show inferred type, scope, confidence, rationale, and issue key\n- `COMET_SHOW_QUALITY`: show quality score, suggestions, and warnings for the generated commit\n- `COMET_SHOW_WARNINGS`: show runtime warnings such as fallback generation or token truncation\n\nYou can set them during `comet init` or later with `comet config set`.\n\n## Output Format\n\n### Standard\n\n```\nfeat(auth): add role-based login validation\n```\n\n### With Body\n\n```\nfeat(auth): add role-based login validation\n\n- validate user roles during login\n- protect dashboard routes with session guard\n```\n\n### One Line\n\n```\nfeat(auth): add role-based login validation\n```\n\n### With Emoji\n\n```\n✨ feat(auth): add role-based login validation\n```\n\n## Workflows\n\n### Standard\n\n```bash\ngit add .\ncomet\n```\n\n### Preview Only\n\n```bash\ngit add .\ncomet --preview\n```\n\n### JSON Output\n\n```bash\ngit add .\ncomet preview --json\ncomet analyze --json\ncomet doctor --json\n```\n\n### Force Type/Scope\n\n```bash\ngit add .\ncomet --type fix --scope auth\n```\n\n### Auto Push\n\n```bash\ncomet config set gitPush true\ngit add .\ncomet\n```\n\n## Library API\n\n```ts\nimport { analyzeStagedChanges, generateCommitBundle } from \"@arseno25/comet\";\n\nconst analysis = await analyzeStagedChanges();\nconst bundle = await generateCommitBundle();\n```\n\n## Troubleshooting\n\n### No staged changes\n\n```bash\ngit add .\ncomet\n```\n\nOr enable:\n\n```bash\ncomet config set stageAll true\n```\n\n### Missing API key\n\n```bash\ncomet config get apiKey\ncomet doctor\ncomet config set apiKey your_api_key\n```\n\n### Check active config\n\n```bash\ncomet doctor\ncomet config path\n```\n\n## License\n\nMIT. See [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}