{"_id":"gsmart","_rev":"62-72e531b5af291f8c9eb6a9eb976e0ad6","name":"gsmart","dist-tags":{"latest":"0.17.0"},"versions":{"0.1.0":{"name":"gsmart","version":"0.1.0","keywords":["git","smart","gsmart","smart commits"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.1.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://github.com/ragnarok22/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"69fec01a7dadb0d025f7e9db6e56c092957f03cb","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.1.0.tgz","fileCount":6,"integrity":"sha512-979HJFNGG4JSW2m5aWrKZ4N6m6w0ncymcivFcRHfq26ZFCNAq/bfVtainQm4u4CHD3zQWomg66IF5PgMGfbt3Q==","signatures":[{"sig":"MEYCIQCJSCeFbzGb3uiYSNpDl5gpwiiP5qa5Es+9n+yyV4E1xQIhAJg2+F3Z8j6f5R9SzrHwPfyR8zuMCSrbncPPcSXbfN2j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37188},"main":"dist/index.js","gitHead":"793b9f70519358156ed494411daa5aa0169364ad","scripts":{"build":"tsc","start":"node ./dist/index.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.7.0","description":"CLI to generate smart commit messages using AI","directories":{},"_nodeVersion":"20.15.0","dependencies":{"commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.3","@types/node":"^20.14.10"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.1.0_1720654189725_0.45286521944134717","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"gsmart","version":"0.2.0","keywords":["react","hook","hooks"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.2.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://github.com/ragnarok22/gsmart#readme","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"ff2c9808bbfd7e883fc5653e8a3a2bd567b2a1c8","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.2.0.tgz","fileCount":6,"integrity":"sha512-yTvCkhfsJF7RD9+S1EBUyCN1VWDFlePg3DJj5xtx0dHw8O9VhZaNlf39L6WTxLqm7gfgSYmwvk5hiBOnc+XJ3Q==","signatures":[{"sig":"MEQCICZV9D/niMp/+Ry9IuQbWxwfmijlNBc+XKYmHHEKaPiyAiBtugXIvJXws/FD2PjWc4henTNTqRQ0QI437a4Sg+BI+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58995},"type":"module","exports":"./dist/index.js","gitHead":"e48fa21fd4303a907255bbb637bed5e8900f51bb","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.7.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ai":"^3.2.22","ora":"^8.0.1","conf":"^13.0.1","chalk":"5.2.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^10.0.1","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.36","@ai-sdk/anthropic":"^0.0.29"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0-beta.1+sha512.5ffe23e95a4d4876d8885d4dea4c804d85495425140911b06c6c96a319e8c94bf9c6dad920b7d8e69a31ca291656b1c779aa6adc9b105f1a4fb5232487f99bf1","devDependencies":{"tsup":"^6.7.0","rimraf":"^4.4.1","type-fest":"^3.13.1","typescript":"^4.9.5","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.2.0_1720720238490_0.3285959137458452","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"gsmart","version":"0.2.1","keywords":["react","hook","hooks"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.2.1","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://github.com/ragnarok22/gsmart#readme","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"ca1f60bf87f6e3823b09a55c422fbbc20a9c4f0a","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.2.1.tgz","fileCount":6,"integrity":"sha512-q1Y56y8pbIMTUTscFDjwEhB067XCF4xCmcGTkAi+BTDtkdaYc/I2VKXtsiHhsaEgTPzu+5Tg5xvFoUhPaj3iVg==","signatures":[{"sig":"MEUCIFbkNuQC+684EvAdjmEVrWUlsb8Xzd+YDla/h8Y4y1T5AiEAlKc+aCJqppu3ga3SXt/24MCwPI/lVsa4kvkDl5F7uew=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60221},"type":"module","_from":"file:gsmart-0.2.1.tgz","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/tmp/7cca6235f47fbadc97811456ef91fa3c/gsmart-0.2.1.tgz","_integrity":"sha512-q1Y56y8pbIMTUTscFDjwEhB067XCF4xCmcGTkAi+BTDtkdaYc/I2VKXtsiHhsaEgTPzu+5Tg5xvFoUhPaj3iVg==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.7.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ai":"^3.2.22","ora":"^8.0.1","conf":"^13.0.1","chalk":"5.2.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^10.0.1","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.36","@ai-sdk/anthropic":"^0.0.29"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.7.0","rimraf":"^4.4.1","type-fest":"^3.13.1","typescript":"^4.9.5","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.2.1_1720720944487_0.5853113141513719","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"gsmart","version":"0.2.2","keywords":["react","hook","hooks"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.2.2","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://github.com/ragnarok22/gsmart#readme","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"98f00c6755b035b877590ac707f561b5e3e6ad52","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.2.2.tgz","fileCount":6,"integrity":"sha512-Mc4Knk8OJmi1XumEQ2Hyib0/5YW1qXRZOoVgc+extZE102X+clUfn8CigpRcIwoTfywKJP1vnuNmSYdAE0vd3w==","signatures":[{"sig":"MEYCIQCOLPZVRMR2rPVSbnGt9rhnkvSey5Y1+lQW2gA+D97nZwIhAK3foMmlUMdwyac73xzzyTxNnL/pAQCHZyIPY99NPW3c","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61252},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"ddc883710706654dfaaac58f6894bb20d8d1f3bf","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.7.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ai":"^3.2.22","ora":"^8.0.1","conf":"^13.0.1","chalk":"5.2.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^10.0.1","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.36","@ai-sdk/anthropic":"^0.0.29"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0-beta.1+sha512.5ffe23e95a4d4876d8885d4dea4c804d85495425140911b06c6c96a319e8c94bf9c6dad920b7d8e69a31ca291656b1c779aa6adc9b105f1a4fb5232487f99bf1","devDependencies":{"tsup":"^6.7.0","rimraf":"^4.4.1","type-fest":"^3.13.1","typescript":"^4.9.5","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.2.2_1720725843220_0.23028036925525885","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"gsmart","version":"0.3.0","keywords":["react","hook","hooks"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.3.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://github.com/ragnarok22/gsmart#readme","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"2104c80a71b0b7bf108c508002d23f81e6a1cd8a","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.3.0.tgz","fileCount":6,"integrity":"sha512-kMzEtIpYad/H9gpBjxJ/iBal6FEqkSb5jd/IOM0I7g6ynpx3kMg440NjPW95lIG6bHfujaqCo92dWdkdWnG7jQ==","signatures":[{"sig":"MEYCIQCCOzqoTbkKIqW68Tpcl8jfwPLWQG4BRDlZ9aGRYD7LkgIhAJtngvbY2sksWgJNv11tnXMSHMFq8CmLpoXw7Tk6I6Rj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65007},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"b8d7a8a88dd7ba7c0fd0daddc1e1dc3ee943c254","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.7.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ai":"^3.2.22","ora":"^8.0.1","conf":"^13.0.1","chalk":"5.2.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^10.0.1","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.36","@ai-sdk/mistral":"^0.0.22","@ai-sdk/anthropic":"^0.0.29"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0-beta.1+sha512.5ffe23e95a4d4876d8885d4dea4c804d85495425140911b06c6c96a319e8c94bf9c6dad920b7d8e69a31ca291656b1c779aa6adc9b105f1a4fb5232487f99bf1","devDependencies":{"tsup":"^6.7.0","rimraf":"^4.4.1","type-fest":"^3.13.1","typescript":"^4.9.5","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.3.0_1720728078134_0.15913123784190986","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"gsmart","version":"0.4.0","keywords":["react","hook","hooks"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.4.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://github.com/ragnarok22/gsmart#readme","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"3b3e35014f342dc45b1082b8aa2d07d6d248898d","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.4.0.tgz","fileCount":6,"integrity":"sha512-+MPUzJlA4HBhLbSERAI1ZePvs6lflRwv4LhSMDQPXYA+SE2nUVjGXgKQFTGKDrfSQDFlfW9OCQvO2LUPa5E0Mw==","signatures":[{"sig":"MEQCH0AAAARRvplZKLDFAzL9BX2WuUr0IKUgDwN3ar4zDRQCIQCWUaU0wS8KVjg/5vWf//BHiZvNtpH6mUHfsK+U1YK26g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65451},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"33feaa3c891249aaf231ba0ef4747e62e2e30baf","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.7.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ai":"^3.2.22","ora":"^8.0.1","conf":"^13.0.1","chalk":"5.2.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^10.0.1","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.36","@ai-sdk/mistral":"^0.0.22","@ai-sdk/anthropic":"^0.0.29"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0-beta.1+sha512.5ffe23e95a4d4876d8885d4dea4c804d85495425140911b06c6c96a319e8c94bf9c6dad920b7d8e69a31ca291656b1c779aa6adc9b105f1a4fb5232487f99bf1","devDependencies":{"tsup":"^6.7.0","rimraf":"^4.4.1","type-fest":"^3.13.1","typescript":"^4.9.5","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.4.0_1720806981766_0.4026265036835681","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"gsmart","version":"0.5.0","keywords":["react","hook","hooks"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.5.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://github.com/ragnarok22/gsmart#readme","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"284130ca1e3aa73d9938b638eea851bed766f293","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.5.0.tgz","fileCount":6,"integrity":"sha512-mo4EqxK6AKJQax6rhsX1zwrD0n0PR+hLOgWu3LzYYZoppkiw3Tu2O+YFb1gQwvM8MQB+8ixYsV2OsFhvtx+LfA==","signatures":[{"sig":"MEQCICbxZSn2IQoMW/AOp49b9kSK03JIvgX2y8mxyGNPSGkZAiAONCCvdc5lmzkYqVRLjAeHoVb9ve6MPmVA2P9x7k2ppg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70364},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"c3564e322ed3dd929b1ad359d092345a505662c0","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.8.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"ai":"^3.2.22","ora":"^8.0.1","conf":"^13.0.1","chalk":"5.2.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^10.0.1","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.36","@ai-sdk/mistral":"^0.0.22","@ai-sdk/anthropic":"^0.0.29"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0-beta.1+sha512.5ffe23e95a4d4876d8885d4dea4c804d85495425140911b06c6c96a319e8c94bf9c6dad920b7d8e69a31ca291656b1c779aa6adc9b105f1a4fb5232487f99bf1","devDependencies":{"tsup":"^6.7.0","rimraf":"^4.4.1","type-fest":"^3.13.1","typescript":"^4.9.5","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.5.0_1720892732495_0.46997790999633793","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"gsmart","version":"0.5.1","keywords":["react","hook","hooks"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.5.1","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://github.com/ragnarok22/gsmart#readme","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"ee9b680851f808db99d03452764c6407feb2b0f1","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.5.1.tgz","fileCount":6,"integrity":"sha512-T0TqRpSMJbcmEcGWa+WoRAgfEZgMAiQyXUyKOLcEE4+Sr1Bmn4VevvUcry0KcfVolEu9MnjvmakEc+gwIxomHQ==","signatures":[{"sig":"MEUCIHJwPsPjobQEkAPd/EPAdoZu6FTizkPEWBrcES8nc3QbAiEA5ArnuAdgeGnRSUMFYJrgRFwgLzLAf5NLpyX/XoXXsZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70503},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"62ac93e5de95f8ebc75fb6b0a630545812baf618","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.8.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"ai":"^3.2.22","ora":"^8.0.1","conf":"^13.0.1","chalk":"5.2.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^10.0.1","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.36","@ai-sdk/mistral":"^0.0.22","@ai-sdk/anthropic":"^0.0.29"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0-beta.1+sha512.5ffe23e95a4d4876d8885d4dea4c804d85495425140911b06c6c96a319e8c94bf9c6dad920b7d8e69a31ca291656b1c779aa6adc9b105f1a4fb5232487f99bf1","devDependencies":{"tsup":"^6.7.0","rimraf":"^4.4.1","type-fest":"^3.13.1","typescript":"^4.9.5","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.5.1_1720893420380_0.7137587797279645","host":"s3://npm-registry-packages"}},"0.5.2":{"name":"gsmart","version":"0.5.2","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.5.2","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://github.com/ragnarok22/gsmart#readme","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"b4291a88451522bb34636c1848bc2be3b1844c30","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.5.2.tgz","fileCount":6,"integrity":"sha512-1i+tepwei1+ewnWyQkFe8lwzqbBBUbDLrVq5Ye25x0VJINjDRTVf20b02MIq/a/2BkHke+RNEfKasviqCvwG/Q==","signatures":[{"sig":"MEUCIQDT/zAdfWEbr2VQT+DM8jOIdOU0PvgwkVPiZhd8pIcgmQIgBWZFxlr/Hh5+S3o036b/v3M/6TE5Sma1vnvsqGBotZg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70833},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"1bfa992be781529c4a93d21ea44bf2770ccfe7a4","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.8.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"ai":"^3.2.22","ora":"^8.0.1","conf":"^13.0.1","chalk":"5.2.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^10.0.1","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.36","@ai-sdk/mistral":"^0.0.22","@ai-sdk/anthropic":"^0.0.29"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0-beta.1+sha512.5ffe23e95a4d4876d8885d4dea4c804d85495425140911b06c6c96a319e8c94bf9c6dad920b7d8e69a31ca291656b1c779aa6adc9b105f1a4fb5232487f99bf1","devDependencies":{"tsup":"^6.7.0","rimraf":"^4.4.1","type-fest":"^3.13.1","typescript":"^4.9.5","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.5.2_1720894714804_0.561989848091691","host":"s3://npm-registry-packages"}},"0.5.3":{"name":"gsmart","version":"0.5.3","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.5.3","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://github.com/ragnarok22/gsmart#readme","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"3abcb14a236472c6ea7286c1c8d499655c25ace1","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.5.3.tgz","fileCount":6,"integrity":"sha512-ZLQRC1Pk1IN9yebKBQ2fsulQIhBK7dyVTS4YB7Y+dnEe28uPwu00UmUBOrK9T+fpdVQqiZyXkEVD+168C6YQfw==","signatures":[{"sig":"MEUCICEhl2r4ulsV/AjHyKPusA7V0uSkCZ97luK56DSB3w/SAiEA+CUZ0z1c2IxxpDnvaQwNwP00+egqRaQzdxLCpd1tAhg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70493},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"66fd748677e9e1c74f27b1c6d8154dab03bc1e7a","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.8.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"ai":"^3.2.22","ora":"^8.0.1","conf":"^13.0.1","chalk":"5.2.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^10.0.1","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.36","@ai-sdk/mistral":"^0.0.22","@ai-sdk/anthropic":"^0.0.29"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0-beta.1+sha512.5ffe23e95a4d4876d8885d4dea4c804d85495425140911b06c6c96a319e8c94bf9c6dad920b7d8e69a31ca291656b1c779aa6adc9b105f1a4fb5232487f99bf1","devDependencies":{"tsup":"^6.7.0","rimraf":"^4.4.1","type-fest":"^3.13.1","typescript":"^4.9.5","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.5.3_1720897069198_0.295438215787571","host":"s3://npm-registry-packages"}},"0.5.4":{"name":"gsmart","version":"0.5.4","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.5.4","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://github.com/ragnarok22/gsmart#readme","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"2c80162fff86779a6ffedf2d405439027c74f4fd","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.5.4.tgz","fileCount":6,"integrity":"sha512-0UeWapxlRhQi3UsC08uuS7mQC/PNMAfLjJ+9R3e4+hCbbtAdkgJZZsPmS9lT98/nmA47omA/Nq+cBniyE7FGzg==","signatures":[{"sig":"MEUCICb1yXR+4m+4ibOjVu9Ntbw/jBe1DY0q7qxeh2fiZJLJAiEAzcU8ImdYv9Ilgqq/nqyrAauL23p7XlY9Kvecq7aXsxQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71656},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"813a7e753926692e3974f6f172a260ebf87f120c","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.8.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"ai":"^3.2.22","ora":"^8.0.1","conf":"^13.0.1","chalk":"5.2.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^10.0.1","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.36","@ai-sdk/mistral":"^0.0.22","@ai-sdk/anthropic":"^0.0.29"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0-beta.1+sha512.5ffe23e95a4d4876d8885d4dea4c804d85495425140911b06c6c96a319e8c94bf9c6dad920b7d8e69a31ca291656b1c779aa6adc9b105f1a4fb5232487f99bf1","devDependencies":{"tsup":"^6.7.0","rimraf":"^4.4.1","type-fest":"^3.13.1","typescript":"^4.9.5","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.5.4_1720897893721_0.8371615842517746","host":"s3://npm-registry-packages"}},"0.5.5":{"name":"gsmart","version":"0.5.5","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.5.5","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"39d69800091286293445e1a8eb766c58d9dca283","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.5.5.tgz","fileCount":6,"integrity":"sha512-Kk951lrnKpOOt9jZU/rqB3du/VMBmah9VkZh9VDRsQVzrcAla0tpDpm9DfwAn/dfgNORqAzok5eVTlIRRSym7g==","signatures":[{"sig":"MEYCIQCSvrz/6YnOWRWZ+4Da6PsoYJaFzWvaWG+lmZJuBeJoFwIhAIFBwY1HBJppy9n4p0zXR33mzB17qiYLAb2tq25nv6oz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71709},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"813a7e753926692e3974f6f172a260ebf87f120c","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.8.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"ai":"^3.2.37","ora":"^8.0.1","conf":"^13.0.1","chalk":"5.2.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^10.0.1","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.36","@ai-sdk/mistral":"^0.0.22","@ai-sdk/anthropic":"^0.0.29"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0-beta.1+sha512.5ffe23e95a4d4876d8885d4dea4c804d85495425140911b06c6c96a319e8c94bf9c6dad920b7d8e69a31ca291656b1c779aa6adc9b105f1a4fb5232487f99bf1","devDependencies":{"tsup":"^6.7.0","rimraf":"^4.4.1","type-fest":"^3.13.1","typescript":"^4.9.5","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.5.5_1722111132845_0.8161805012984098","host":"s3://npm-registry-packages"}},"0.5.6":{"name":"gsmart","version":"0.5.6","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.5.6","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"fed51c2a184e6d4186d89ed5548e870d0702a93c","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.5.6.tgz","fileCount":6,"integrity":"sha512-BRBbHXe7UED1eEo0CadjCIu22vEOA47e980p5BTjXOoPwx8YUAM1PijyewGDySrtMQV7zA5KuaFSB5PfgDTocQ==","signatures":[{"sig":"MEUCIBNwPaKr86dkNaAjVSozpisZOQ8S/EJNMgnLK9xl4VaQAiEA0BdxCIbWH/AeeHT1b1w0iedpll1qc24COMHPMOftYhc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72053},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"9344ee8e425532c786c6ec8049552c005cc39dab","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.8.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"ai":"^3.2.37","ora":"^8.0.1","conf":"^13.0.1","chalk":"5.2.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^10.0.1","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.36","@ai-sdk/mistral":"^0.0.22","@ai-sdk/anthropic":"^0.0.29"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0-beta.1+sha512.5ffe23e95a4d4876d8885d4dea4c804d85495425140911b06c6c96a319e8c94bf9c6dad920b7d8e69a31ca291656b1c779aa6adc9b105f1a4fb5232487f99bf1","devDependencies":{"tsup":"^6.7.0","rimraf":"^4.4.1","type-fest":"^3.13.1","typescript":"^4.9.5","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.5.6_1722111568636_0.5442381795182429","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"gsmart","version":"0.6.0","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.6.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"e4d63041b2f4c37d9076e15d918c071e8e462b5c","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.6.0.tgz","fileCount":6,"integrity":"sha512-/EfR+aogE6ow2+dGwhOHzyh45HnXzzQ0ddXXLgKr97DIk3I5HzuZVi3tAP/jNcbX8SoXdyEdbXqQBwWqOr1Kgg==","signatures":[{"sig":"MEUCIQD7NOGlvl7CIWmrcwlaOUU2D27RFhJN6obC6cR2ST27kgIgPk6V5uXKJJNEb+ywFeIM4+rFz9wPtUWgV6g/MKC0C88=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76772},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.6.0.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/tmp/583c46aee6adb1d443bab416e0b2dc5c/gsmart-0.6.0.tgz","_integrity":"sha512-/EfR+aogE6ow2+dGwhOHzyh45HnXzzQ0ddXXLgKr97DIk3I5HzuZVi3tAP/jNcbX8SoXdyEdbXqQBwWqOr1Kgg==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.8.1","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.16.0","dependencies":{"ai":"^3.3.37","ora":"^8.1.0","conf":"^13.0.1","chalk":"5.3.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^12.1.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.58","@ai-sdk/mistral":"^0.0.39","@ai-sdk/anthropic":"^0.0.49"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.2.4","rimraf":"^6.0.1","type-fest":"^4.26.1","typescript":"^5.6.2","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.6.0_1726410739244_0.33851972134989694","host":"s3://npm-registry-packages"}},"0.6.1":{"name":"gsmart","version":"0.6.1","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.6.1","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"5662a1f07f850e99218f4f7fb2f987d8ce81ddfb","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.6.1.tgz","fileCount":6,"integrity":"sha512-eGDokX0ViU79RLfdfxHZeNZl3RKODEDb+WzwyKETSJ4NZNqOz5fOCO5OIxJrluJHsadg27jPGZpGljzixV1rSQ==","signatures":[{"sig":"MEUCIGQwOYPSu1T/Ni6XK8whT3zRUbQvWxhjeucLUsFdZtsrAiEAinCSPtMppBaN6pjFb+5mU6K7PDK+RSEP9dsrRWEh/IQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77902},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"e916810bd476185ce60d16b16fa73253f8304aa4","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.8.1","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"20.16.0","dependencies":{"ai":"^3.4.10","ora":"^8.1.0","conf":"^13.0.1","chalk":"5.3.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^12.1.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^0.0.66","@ai-sdk/mistral":"^0.0.42","@ai-sdk/anthropic":"^0.0.51"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.1+sha256.91452fdfa46234ae447d46d5c4fc4e7e0a7058f90495c4b6f77f8beebbb154e3","devDependencies":{"tsup":"^8.3.0","rimraf":"^6.0.1","type-fest":"^4.26.1","typescript":"^5.6.3","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.6.1_1729000724340_0.07854502192180668","host":"s3://npm-registry-packages"}},"0.6.2":{"name":"gsmart","version":"0.6.2","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.6.2","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"b201bd7fc8b7402579af26033959ea9611fba335","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.6.2.tgz","fileCount":3,"integrity":"sha512-AqN4tRjQOBQEwfVOIhQMPY4W4T26U30uuLCJDpkjHaOmLZMliJoCGku8B4C7q0M2XI2Ti0yKm5s1nLAUr3ACuw==","signatures":[{"sig":"MEUCIQCjNyxZ2gf7A5rOyuuyrarhvbDuemUO2bT7i0D/SxrsgQIgYop/AAwJ+UdS4I+WuXOPpYVK4PPQN4soIeu6E/dmcTw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39481},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.6.2.tgz","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/ae7ffded93b49e0c9b9196ad6d6635a3/gsmart-0.6.2.tgz","_integrity":"sha512-AqN4tRjQOBQEwfVOIhQMPY4W4T26U30uuLCJDpkjHaOmLZMliJoCGku8B4C7q0M2XI2Ti0yKm5s1nLAUr3ACuw==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ai":"^4.0.10","ora":"^8.1.1","conf":"^13.0.1","chalk":"5.3.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^12.1.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^1.0.5","@ai-sdk/mistral":"^1.0.3","@ai-sdk/anthropic":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","type-fest":"^4.29.1","typescript":"^5.7.2","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.6.2_1733153643317_0.509350770298342","host":"s3://npm-registry-packages"}},"0.6.3":{"name":"gsmart","version":"0.6.3","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.6.3","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"5a22598a5650de7a28bfcaab90618677fd710df1","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.6.3.tgz","fileCount":6,"integrity":"sha512-yuV+utiEaGyvGmAeaFPEBCF243UUFAa0xp4/EJOElmHdaNApWq3AMyu+UqyaeaHXCTX8GDSl1DGa3YuajJmj7w==","signatures":[{"sig":"MEQCIGQOfr8IQXGNDBwMynEkjQptLBAwfFszuhvxZSF7NL3EAiABrIFIzc+lhco88Ujx5eWYgoqVrhkTcnSgaVK9765u0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77777},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.6.3.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/305383cef9bbdca0c1720de4900457d1/gsmart-0.6.3.tgz","_integrity":"sha512-yuV+utiEaGyvGmAeaFPEBCF243UUFAa0xp4/EJOElmHdaNApWq3AMyu+UqyaeaHXCTX8GDSl1DGa3YuajJmj7w==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ai":"^4.0.10","ora":"^8.1.1","conf":"^13.0.1","chalk":"5.3.0","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^12.1.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^1.0.5","@ai-sdk/mistral":"^1.0.3","@ai-sdk/anthropic":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","type-fest":"^4.29.1","typescript":"^5.7.2","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.6.3_1733154900020_0.07471739138280276","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"gsmart","version":"0.7.0","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.7.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"adffbf6e3538f5b30e78163ac25f96e2f7354f51","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.7.0.tgz","fileCount":6,"integrity":"sha512-UL9cukIprSk78wDskFf9pUAs6y2edhxmk19kFEx3DHDIk5dcqlRb4NNbtC36IVJs9wV3BaZn9oDEXNULIGgxJg==","signatures":[{"sig":"MEQCIBok75Lr9GRhTeG5ijscmjHwsgUEo4gsIp9HHXF0kzRoAiAkybS55pVtWzYueTTVirOAM5Kolk7j7FVqkuoQyEnIjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79292},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.7.0.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/5d4de5e74ac06a801455ed8274d10d12/gsmart-0.7.0.tgz","_integrity":"sha512-UL9cukIprSk78wDskFf9pUAs6y2edhxmk19kFEx3DHDIk5dcqlRb4NNbtC36IVJs9wV3BaZn9oDEXNULIGgxJg==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.0.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ai":"^4.1.0","ora":"^8.1.1","conf":"^13.1.0","chalk":"5.4.1","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^13.0.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^1.1.0","@ai-sdk/mistral":"^1.1.0","@ai-sdk/anthropic":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","type-fest":"^4.32.0","typescript":"^5.7.3","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.7.0_1737464875808_0.25026792026813904","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"gsmart","version":"0.7.1","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.7.1","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"5c1c57f67249a5fb239bb4b0a44f56854ad6ffa2","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.7.1.tgz","fileCount":6,"integrity":"sha512-CLEGl+1DAZ16WZfc6XEJZ/V/OZEQhxkz9H861XpT+SF14ftru/kDIFm8lwL2y4Psifw5TUQsW5fwM564KB/iJg==","signatures":[{"sig":"MEQCIAXjZzHCbo9oktmjxCyXA4foxKwM4fFikDNpFNPs7SD1AiAWqhaH73qS1gLf/DPGTlNj3FcAccdK/kw4mp9hsbLEGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79176},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.7.1.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/38ce1e4f3fe93d2651156fc52bd976ac/gsmart-0.7.1.tgz","_integrity":"sha512-CLEGl+1DAZ16WZfc6XEJZ/V/OZEQhxkz9H861XpT+SF14ftru/kDIFm8lwL2y4Psifw5TUQsW5fwM564KB/iJg==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.0.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ai":"^4.1.0","ora":"^8.1.1","conf":"^13.1.0","chalk":"5.4.1","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^13.0.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^1.1.0","@ai-sdk/mistral":"^1.1.0","@ai-sdk/anthropic":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","type-fest":"^4.32.0","typescript":"^5.7.3","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.7.1_1737482625828_0.2702624360257537","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"gsmart","version":"0.7.2","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.7.2","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"cf9b5404327ee1e64fe788ea454de23e052aa9da","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.7.2.tgz","fileCount":6,"integrity":"sha512-sxOh9Xvz+Hm/nbDC+QCA5onz0vliPWfUsZbf7+F/GLdWi1ZoQDrpOk9ZoPv2+TGH8+CKCoHr3vPwEE3HeuLXbQ==","signatures":[{"sig":"MEQCIB7kilxIVslkRoMdILknWFsTsI0M8LQJSeC9PJsMRuTxAiAC7Zgq90Q7K/93B+gNHpU4utJne4//91JH/wsYYoeDAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79124},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.7.2.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/848cc3ace3c3866419d2c64dff6977be/gsmart-0.7.2.tgz","_integrity":"sha512-sxOh9Xvz+Hm/nbDC+QCA5onz0vliPWfUsZbf7+F/GLdWi1ZoQDrpOk9ZoPv2+TGH8+CKCoHr3vPwEE3HeuLXbQ==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.0.0","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ai":"^4.1.16","ora":"^8.1.1","zod":"^3.24.1","conf":"^13.1.0","chalk":"5.4.1","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^13.1.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^1.1.6","@ai-sdk/mistral":"^1.1.6","@ai-sdk/anthropic":"^1.1.6"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.6","rimraf":"^6.0.1","type-fest":"^4.33.0","typescript":"^5.7.3","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.7.2_1738345003354_0.5447419376858977","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"gsmart","version":"0.7.4","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.7.4","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"2a228f555359d72d24bbc1161366e37a18561d3b","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.7.4.tgz","fileCount":6,"integrity":"sha512-z+iBmiinsExgl3kXmyrz+4L5mFi+aa2u1QFCTtoybkFxBqzbUyy+EtVd6dluMJTrwRCq/XpwMcPDUam5ZrP+KQ==","signatures":[{"sig":"MEYCIQCGXzldsK1XIcACbg2VIV3RDaSEfbCqoZNyJ7oRKRgNKgIhAPDwjeDOdk3hNGshac6hDf9oWKU7ixzeAv5LpIr8TmjS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79126},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.7.4.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/468f0599ee181041565ca925e443017b/gsmart-0.7.4.tgz","_integrity":"sha512-z+iBmiinsExgl3kXmyrz+4L5mFi+aa2u1QFCTtoybkFxBqzbUyy+EtVd6dluMJTrwRCq/XpwMcPDUam5ZrP+KQ==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ai":"^4.1.45","ora":"^8.2.0","zod":"^3.24.2","conf":"^13.1.0","chalk":"5.4.1","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^13.1.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^1.1.13","@ai-sdk/mistral":"^1.1.12","@ai-sdk/anthropic":"^1.1.9"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.6","rimraf":"^6.0.1","type-fest":"^4.35.0","typescript":"^5.7.3","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.7.4_1740398036265_0.3903778927977599","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"gsmart","version":"0.7.5","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.7.5","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"89362e6a4be4254995018bb157e138b038232e81","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.7.5.tgz","fileCount":6,"integrity":"sha512-U8cv4wsqVnva3St/j/vcbFL4082GgqLVHMcXfjwRQQFJRMAdgf+PzSelOXj4t5QBkVNEeR9RQ60zVkXC+OssAA==","signatures":[{"sig":"MEUCIQCqmVhnWgY0qtCpw4g895fbKjUj5P8cydJO8UpkOB2T1wIgCVgGaKydr1KljeXifX53b1DYfX5vhqnWavib2AnzF8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79139},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.7.5.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/377459bdeff8b763d6cfa4fecadf3b1d/gsmart-0.7.5.tgz","_integrity":"sha512-U8cv4wsqVnva3St/j/vcbFL4082GgqLVHMcXfjwRQQFJRMAdgf+PzSelOXj4t5QBkVNEeR9RQ60zVkXC+OssAA==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ai":"^4.1.50","ora":"^8.2.0","zod":"^3.24.2","conf":"^13.1.0","chalk":"5.4.1","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^13.1.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^1.1.15","@ai-sdk/mistral":"^1.1.13","@ai-sdk/anthropic":"^1.1.13"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","rimraf":"^6.0.1","type-fest":"^4.36.0","typescript":"^5.8.2","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.7.5_1741002729688_0.13432076732099762","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"gsmart","version":"0.7.6","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.7.6","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"6ec2650f556c274dc3aea997854ef3f05e5f49d4","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.7.6.tgz","fileCount":6,"integrity":"sha512-2pgurDpKqYnabRPVDf7Z2I0mn4qfWFFDiOOFvdfzatcxA+HxpY8lV6MAVd5U/mViFhETJeBrKHZqpTZaYouXSA==","signatures":[{"sig":"MEUCIQD0f9urZbfO93CH17OIgAx+iVgHQBqjWVafjO1x+ovSEwIge2pXryg4zMNaP/XfLX2s9A+rJCzBi7XmObAKWEy36lI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79155},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.7.6.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/0c44c050338e16e861b7b919a8c78304/gsmart-0.7.6.tgz","_integrity":"sha512-2pgurDpKqYnabRPVDf7Z2I0mn4qfWFFDiOOFvdfzatcxA+HxpY8lV6MAVd5U/mViFhETJeBrKHZqpTZaYouXSA==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ai":"^4.1.50","ora":"^8.2.0","zod":"^3.24.2","conf":"^13.1.0","chalk":"5.4.1","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^13.1.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^1.1.15","@ai-sdk/mistral":"^1.1.13","@ai-sdk/anthropic":"^1.1.13"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","rimraf":"^6.0.1","type-fest":"^4.36.0","typescript":"^5.8.2","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.7.6_1741092745538_0.13597784354962128","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"gsmart","version":"0.8.0","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.8.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"38946d8d9538bb6d7dab5d11a7977b4af86213f6","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.8.0.tgz","fileCount":6,"integrity":"sha512-KnAVnLyP6n6Z2AzY6H5QQGlv19ZGc6/t4uL4Hvp1T0jU0oPHbZEGk2rxBGvXTaVbolbA2hEwYGohLpZCeMixiQ==","signatures":[{"sig":"MEYCIQCDFvSKcoYTjN86SWBro/Xt2wQ4jpCfdPra+869AuQrawIhANAPufsfx+qHBTK/p92XhRGIinjhpcxd5ITZZaEwkx1+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79159},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.8.0.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/23a162ac6e53bd5037d73ea1ea564294/gsmart-0.8.0.tgz","_integrity":"sha512-KnAVnLyP6n6Z2AzY6H5QQGlv19ZGc6/t4uL4Hvp1T0jU0oPHbZEGk2rxBGvXTaVbolbA2hEwYGohLpZCeMixiQ==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ai":"^4.3.9","ora":"^8.2.0","zod":"^3.24.3","conf":"^13.1.0","chalk":"5.4.1","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^13.1.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^1.3.16","@ai-sdk/mistral":"^1.2.7","@ai-sdk/anthropic":"^1.2.10"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","rimraf":"^6.0.1","type-fest":"^4.40.0","typescript":"^5.8.3","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.8.0_1745257022555_0.062066584162644434","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"gsmart","version":"0.8.1","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.8.1","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"ee170aadf93b6dfa420f9960d5d0de4a07eaee76","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.8.1.tgz","fileCount":6,"integrity":"sha512-sDuuI8yWqdEYXo4bjN0ASgBSSoYwDJeZZkUdXqukAvzgko2nCqaAwgIAXRTs6kRvVbQHK2yR8yjJM6WvQmp/lw==","signatures":[{"sig":"MEQCIDMbZHzxa/pMUccxOkeL4laxruv/oDmEr4R4YnW6dFdwAiBU+u99hTA+kjWYlyB2q/qi4SPy1Umez4jv1U7Q7bcAwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79423},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.8.1.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/05c9b5998c1638f9d9e3b5389110abc2/gsmart-0.8.1.tgz","_integrity":"sha512-sDuuI8yWqdEYXo4bjN0ASgBSSoYwDJeZZkUdXqukAvzgko2nCqaAwgIAXRTs6kRvVbQHK2yR8yjJM6WvQmp/lw==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ai":"^4.3.10","ora":"^8.2.0","zod":"^3.24.3","conf":"^13.1.0","chalk":"5.4.1","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^13.1.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^1.3.20","@ai-sdk/mistral":"^1.2.7","@ai-sdk/anthropic":"^1.2.10"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","rimraf":"^6.0.1","type-fest":"^4.40.0","typescript":"^5.8.3","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.8.1_1745603906807_0.08041555276069601","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"gsmart","version":"0.8.2","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.8.2","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"2b3dfb810741237ee0cdcb4c986a1be705abb855","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.8.2.tgz","fileCount":6,"integrity":"sha512-05Qldj3SjAXAkjRPKwULsVcBlLcIhys2fPdrSpjay4y2dwTD06rXnR37JiSVtlDmfV/GLUGTbVHKbE5JVwS07g==","signatures":[{"sig":"MEUCIE6MszLj4JD6bYm5L3AppG4OJ1xmCE1Rc5hytkQUbEiMAiEA/iDhIlzq99B+TJHfkGPTLfNwojJ/Pd6gq5Otd1CuJwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79744},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.8.2.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/60dc180a9869a7c7b760994ec07b58df/gsmart-0.8.2.tgz","_integrity":"sha512-05Qldj3SjAXAkjRPKwULsVcBlLcIhys2fPdrSpjay4y2dwTD06rXnR37JiSVtlDmfV/GLUGTbVHKbE5JVwS07g==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ai":"^4.3.10","ora":"^8.2.0","zod":"^3.24.3","conf":"^13.1.0","chalk":"5.4.1","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^13.1.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^1.3.20","@ai-sdk/mistral":"^1.2.7","@ai-sdk/anthropic":"^1.2.10"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","rimraf":"^6.0.1","type-fest":"^4.40.0","typescript":"^5.8.3","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.8.2_1745842967768_0.19035357995715874","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"gsmart","version":"0.8.3","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.8.3","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"acfc772f5b2d7160c37bf4dd629298021b465972","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.8.3.tgz","fileCount":6,"integrity":"sha512-pD/QQN8ScaeJgt+alDJNu4QiKPi7sBSz9mk4kJ4uHetSgi1ynQ9Keo1UW5tJwPSRBnWh3hVGHRk5ZF1nHNT/8g==","signatures":[{"sig":"MEQCIBINA6dkCKRjaoCOMReHm8f+zHKIg9bxbKK4uVc0fOLwAiAFxFi+PQrhLgyvpGdVfsIxY144zC5eN7Pi4ycdXOY1wg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79834},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.8.3.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/b657e05c0d8133592bc48160427a5599/gsmart-0.8.3.tgz","_integrity":"sha512-pD/QQN8ScaeJgt+alDJNu4QiKPi7sBSz9mk4kJ4uHetSgi1ynQ9Keo1UW5tJwPSRBnWh3hVGHRk5ZF1nHNT/8g==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ai":"^4.3.15","ora":"^8.2.0","zod":"^3.24.4","conf":"^13.1.0","chalk":"5.4.1","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^13.1.0","clipboardy":"^4.0.0","@ai-sdk/openai":"^1.3.22","@ai-sdk/mistral":"^1.2.8","@ai-sdk/anthropic":"^1.2.11"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","rimraf":"^6.0.1","type-fest":"^4.41.0","typescript":"^5.8.3","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.8.3_1747239699344_0.9358263096698038","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"gsmart","version":"0.9.0","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.9.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"374b759bcaba940023c4b8c00bdbb96548c5b150","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.9.0.tgz","fileCount":6,"integrity":"sha512-HfmBzJgGQ7M4Yr/SrZaM++6/QhBKsCH82pHN8nKmhmwa9fafomLKkZMwbapLxyk3WY2Vf1EExqCy9FoQmXpSQA==","signatures":[{"sig":"MEUCIBcJcHaFO+xKKQoYV2fAA8PPYLkHxaC0ZflIuObpy6U+AiEAj/L6Ui+WYA8kYy2QvP9oYg3R6sjJHaWoKl3WDP+dxdU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80546},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.9.0.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/cbae2e50778d5e96b5ccf04b9df6d45a/gsmart-0.9.0.tgz","_integrity":"sha512-HfmBzJgGQ7M4Yr/SrZaM++6/QhBKsCH82pHN8nKmhmwa9fafomLKkZMwbapLxyk3WY2Vf1EExqCy9FoQmXpSQA==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ai":"^4.3.16","ora":"^8.2.0","zod":"^3.25.63","conf":"^14.0.0","chalk":"5.4.1","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^14.0.0","clipboardy":"^4.0.0","@ai-sdk/google":"^1.2.19","@ai-sdk/openai":"^1.3.22","@ai-sdk/mistral":"^1.2.8","@ai-sdk/anthropic":"^1.2.12"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","rimraf":"^6.0.1","type-fest":"^4.41.0","typescript":"^5.8.3","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.9.0_1749748396302_0.3170614956516491","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"gsmart","version":"0.9.1","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.9.1","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"352caa12a54a4e0a755e0df908b9d3dbf12a0046","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.9.1.tgz","fileCount":6,"integrity":"sha512-IKVGx0tcJMMuS8DVJmuWAqNDj8BJyUe8YBnsEsAxUwUiRYlfS6a4g7JrpSpkvseWg4NIDScxzhgLZZ2dFQboFA==","signatures":[{"sig":"MEYCIQCz+ZkmigqKZfGZZNoJ/8dukGlbx5qf+cxBe2hJ4Jo2SwIhAPj4mpSiW8U5HA+SQ6GXB8URRvf0aV3rYVSiazyTwKqe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81433},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.9.1.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js","prettier":"prettier --write ."},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/0c54e095b05ec009d00c64d277739d7e/gsmart-0.9.1.tgz","_integrity":"sha512-IKVGx0tcJMMuS8DVJmuWAqNDj8BJyUe8YBnsEsAxUwUiRYlfS6a4g7JrpSpkvseWg4NIDScxzhgLZZ2dFQboFA==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ai":"^4.3.19","ora":"^8.2.0","zod":"^3.25.76","conf":"^14.0.0","chalk":"5.4.1","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^14.0.0","clipboardy":"^4.0.0","@ai-sdk/google":"^1.2.22","@ai-sdk/openai":"^1.3.23","@ai-sdk/mistral":"^1.2.8","@ai-sdk/anthropic":"^1.2.12"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","tsup":"^8.5.0","eslint":"^9.31.0","rimraf":"^6.0.1","globals":"^16.3.0","ts-node":"^10.9.2","prettier":"3.6.2","type-fest":"^4.41.0","@eslint/js":"^9.31.0","typescript":"^5.8.3","@eslint/json":"^0.13.0","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.38.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.9.1_1753189851978_0.000690604797482175","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"gsmart","version":"0.9.2","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.9.2","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"62fec5c2988ebd05f199b56d85d04118f7f5f805","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.9.2.tgz","fileCount":6,"integrity":"sha512-7byAtgMSpO7sKcQ+87qsSC2MCXA+G4r3LmpHWcQEpEwrseZv/8hiFM5lLKaZlxcfRYxstvmZjEkcXNk2uW3N0g==","signatures":[{"sig":"MEUCIQDVyn2lJP0AIaCSIxzWeADTzoCfJxCqXVV3eBSf06pWkQIgF3UXADb2ifsxiIr2OBZffKMO92ixws6Nb0//heiNBtg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81857},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.9.2.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js","prettier":"prettier --write ."},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/7e29944ce6a3a5730f01fcdf7af79f1f/gsmart-0.9.2.tgz","_integrity":"sha512-7byAtgMSpO7sKcQ+87qsSC2MCXA+G4r3LmpHWcQEpEwrseZv/8hiFM5lLKaZlxcfRYxstvmZjEkcXNk2uW3N0g==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ai":"^4.3.19","ora":"^8.2.0","zod":"^3.25.76","conf":"^14.0.0","chalk":"5.5.0","prompts":"^2.4.2","fs-extra":"^11.3.0","commander":"^14.0.0","clipboardy":"^4.0.0","@ai-sdk/google":"^2.0.1","@ai-sdk/openai":"^2.0.2","@ai-sdk/mistral":"^2.0.0","@ai-sdk/anthropic":"^1.2.12"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","tsup":"^8.5.0","eslint":"^9.32.0","rimraf":"^6.0.1","globals":"^16.3.0","ts-node":"^10.9.2","prettier":"3.6.2","type-fest":"^4.41.0","@eslint/js":"^9.32.0","typescript":"^5.9.2","@eslint/json":"^0.13.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.38.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.9.2_1754324346506_0.09295620922403347","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"gsmart","version":"0.9.3","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.9.3","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"85521dfde6d4ba58f20f0384b0a03a05bc080b1b","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.9.3.tgz","fileCount":6,"integrity":"sha512-l1NaLXmzRNtehdyDAlp3mXKVnXBsoC7iCm3T5cTvBLofG3rRjWHhqSj0SZnBD6auTfKY3ekVbIZkokS04Gy8wA==","signatures":[{"sig":"MEUCIG/5E6gb0uVHJeWfdoONAewT5nzYoVTJv3GYSege53ZoAiEA3gKHAhRyCw75CL9RozO36EpoufO+bIlMk5+a4XoGles=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81855},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.9.3.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js","prettier":"prettier --write ."},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/4387be8288bb9342c4d58cc9f4c3f5e3/gsmart-0.9.3.tgz","_integrity":"sha512-l1NaLXmzRNtehdyDAlp3mXKVnXBsoC7iCm3T5cTvBLofG3rRjWHhqSj0SZnBD6auTfKY3ekVbIZkokS04Gy8wA==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.3","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ai":"^5.0.7","ora":"^8.2.0","zod":"^3.25.76","conf":"^14.0.0","chalk":"5.5.0","prompts":"^2.4.2","fs-extra":"^11.3.1","commander":"^14.0.0","clipboardy":"^4.0.0","@ai-sdk/google":"^2.0.3","@ai-sdk/openai":"^2.0.4","@ai-sdk/mistral":"^2.0.1","@ai-sdk/anthropic":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","tsup":"^8.5.0","eslint":"^9.32.0","rimraf":"^6.0.1","globals":"^16.3.0","ts-node":"^10.9.2","prettier":"3.6.2","type-fest":"^4.41.0","@eslint/js":"^9.32.0","typescript":"^5.9.2","@eslint/json":"^0.13.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.39.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.9.3_1754585292184_0.44977146830222114","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"gsmart","version":"0.9.4","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.9.4","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"c956351a9865d9ddfdb351a0cfc49f0797fd527a","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.9.4.tgz","fileCount":6,"integrity":"sha512-CDjBwOS/WZiOiiuzByVMbu22Hc1UImf5hD8Yl/tl2t+HISoTQl3rdtqVrdGq9GubHUdSBdVvDAnBAJLWN2Y/Tw==","signatures":[{"sig":"MEUCIQDjcWudE7EW/hWKujuBK9MRhu/GWLVAm9ubMRkGXE3IZAIgLr12rjViWIvgHU5GzrD08FC0FNzIHsvKWQfvzzoiurg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81859},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.9.4.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js","prettier":"prettier --write ."},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/99b30ef624651868023dec039e9d98aa/gsmart-0.9.4.tgz","_integrity":"sha512-CDjBwOS/WZiOiiuzByVMbu22Hc1UImf5hD8Yl/tl2t+HISoTQl3rdtqVrdGq9GubHUdSBdVvDAnBAJLWN2Y/Tw==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.3","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ai":"^5.0.27","ora":"^8.2.0","zod":"^3.25.76","conf":"^14.0.0","chalk":"5.6.0","prompts":"^2.4.2","fs-extra":"^11.3.1","commander":"^14.0.0","clipboardy":"^4.0.0","@ai-sdk/google":"^2.0.11","@ai-sdk/openai":"^2.0.22","@ai-sdk/mistral":"^2.0.12","@ai-sdk/anthropic":"^2.0.9"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.5.0","eslint":"^9.34.0","rimraf":"^6.0.1","globals":"^16.3.0","ts-node":"^10.9.2","prettier":"3.6.2","type-fest":"^4.41.0","@eslint/js":"^9.34.0","typescript":"^5.9.2","@eslint/json":"^0.13.2","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.41.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.9.4_1756385463019_0.5357458771963866","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"gsmart","version":"0.9.5","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.9.5","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"236932260cde41097c9223ecfd79a8a18c588e2d","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.9.5.tgz","fileCount":6,"integrity":"sha512-2MRCUvJSH0Z77+gNTpj3HLwu5SSq9sFA12FE6dmIRF/08O2G/Q/UBHqEQiEDgFPRlI0g4ayvs7XnMWRIq+bwlw==","signatures":[{"sig":"MEUCIQDNBjlQGTew5fR8e2SdIQwzfqEqNumGABuDJ9mqoHuHlQIgPwRotzC0XSqnoldeEGrvyamZzVfMYlh0FC+98lWBzHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84340},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.9.5.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js","prettier":"prettier --write ."},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/tmp/57dd36b821566ad3c264523246a9762f/gsmart-0.9.5.tgz","_integrity":"sha512-2MRCUvJSH0Z77+gNTpj3HLwu5SSq9sFA12FE6dmIRF/08O2G/Q/UBHqEQiEDgFPRlI0g4ayvs7XnMWRIq+bwlw==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.3","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.48","ora":"^9.0.0","zod":"^4.1.11","conf":"^14.0.0","chalk":"5.6.2","prompts":"^2.4.2","fs-extra":"^11.3.2","commander":"^14.0.1","clipboardy":"^4.0.0","@ai-sdk/google":"^2.0.15","@ai-sdk/openai":"^2.0.32","@ai-sdk/mistral":"^2.0.15","@ai-sdk/anthropic":"^2.0.17"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.5.0","eslint":"^9.36.0","rimraf":"^6.0.1","globals":"^16.4.0","ts-node":"^10.9.2","prettier":"3.6.2","type-fest":"^5.0.1","@eslint/js":"^9.36.0","typescript":"^5.9.2","@eslint/json":"^0.13.2","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.44.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.9.5_1758562022109_0.9477441894679504","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"gsmart","version":"0.9.6","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.9.6","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"83a2ae3444458ba99a689982c105e0537cb1e374","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.9.6.tgz","fileCount":6,"integrity":"sha512-jKTx02a+hW8EK0ev7tuoN0YkD0jx/+Are6VDwlvCRP5alX+2oKavSA9ToJ76l4zNjV6Yx57sdvEAdzR+znhkNw==","signatures":[{"sig":"MEUCIQCG9aoj/YDG0FbZ+rNj25V9wRbHKf+lMoOiLpiinHXeIAIgWqhFh3lRtNiKVi1vAQ9u/vdJRozXMFC0UEUA8ugcR/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86322},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.9.6.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js","prettier":"prettier --write ."},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/tmp/2870df240a5a59a477d4feb98d0b0313/gsmart-0.9.6.tgz","_integrity":"sha512-jKTx02a+hW8EK0ev7tuoN0YkD0jx/+Are6VDwlvCRP5alX+2oKavSA9ToJ76l4zNjV6Yx57sdvEAdzR+znhkNw==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.3","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.57","ora":"^9.0.0","zod":"^4.1.11","conf":"^15.0.0","chalk":"5.6.2","prompts":"^2.4.2","fs-extra":"^11.3.2","commander":"^14.0.1","clipboardy":"^5.0.0","@ai-sdk/google":"^2.0.17","@ai-sdk/openai":"^2.0.39","@ai-sdk/mistral":"^2.0.17","@ai-sdk/anthropic":"^2.0.20"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","tsup":"^8.5.0","eslint":"^9.36.0","rimraf":"^6.0.1","globals":"^16.4.0","ts-node":"^10.9.2","prettier":"3.6.2","type-fest":"^5.0.1","@eslint/js":"^9.36.0","typescript":"^5.9.2","@eslint/json":"^0.13.2","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.44.1","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.9.6_1759157967419_0.28078287906079025","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"gsmart","version":"0.9.7","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.9.7","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"8788a791216196e5a510f8a9f430eb006e08fae8","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.9.7.tgz","fileCount":6,"integrity":"sha512-/uSQU7rspbeuC/fDMwIDwE37ZwHAZoCRgaEGhd9sWIDvQecS4r5cbZRsLHRFRSNtp/F2yKs8rV3S+4OT8uae6g==","signatures":[{"sig":"MEQCIBPWSsaK/xuGsWqpZGFFnQcQk39xpdVoErG4xyNc+RI/AiBAsW9lXU76Sh1AjGxUDass/GvtDdVkieL4teZ5TsKvrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86348},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.9.7.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js","prettier":"prettier --write ."},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/tmp/6919862bd2269c5b0a234a4916571c8d/gsmart-0.9.7.tgz","_integrity":"sha512-/uSQU7rspbeuC/fDMwIDwE37ZwHAZoCRgaEGhd9sWIDvQecS4r5cbZRsLHRFRSNtp/F2yKs8rV3S+4OT8uae6g==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.3","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ai":"^5.0.60","ora":"^9.0.0","zod":"^4.1.11","conf":"^15.0.1","chalk":"5.6.2","prompts":"^2.4.2","fs-extra":"^11.3.2","commander":"^14.0.1","clipboardy":"^5.0.0","@ai-sdk/google":"^2.0.17","@ai-sdk/openai":"^2.0.42","@ai-sdk/mistral":"^2.0.17","@ai-sdk/anthropic":"^2.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","tsup":"^8.5.0","eslint":"^9.36.0","rimraf":"^6.0.1","globals":"^16.4.0","ts-node":"^10.9.2","prettier":"3.6.2","type-fest":"^5.0.1","@eslint/js":"^9.36.0","typescript":"^5.9.3","@eslint/json":"^0.13.2","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.45.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.9.7_1759508190632_0.07120722311115801","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"gsmart","version":"0.10.0","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.10.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"3daeb5f160d5050b464b862eff118c71746ce064","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.10.0.tgz","fileCount":6,"integrity":"sha512-XGiyI9HNqsA6zSQ9no7y6kB0F0bF6BZCVcstfWDjwYqgNe7LdIGVVq8hHs2yi/nS6UacAkEtBKuVqagPPqCOJw==","signatures":[{"sig":"MEYCIQDdvQwm3B4x1s7DMOEh1IagtiqwizrJ0w0ihF1o1anF8AIhAObyk2+Bv+Ju2OkmOIVvMtNksSQD+2x//5ueu3e+cE76","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97796},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.10.0.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js","prettier":"prettier --write .","typecheck":"tsc --noEmit","test:coverage":"tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/tmp/433c968694cef48b52d44a40becdc4e2/gsmart-0.10.0.tgz","_integrity":"sha512-XGiyI9HNqsA6zSQ9no7y6kB0F0bF6BZCVcstfWDjwYqgNe7LdIGVVq8hHs2yi/nS6UacAkEtBKuVqagPPqCOJw==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.3","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ai":"^5.0.70","ora":"^9.0.0","zod":"^4.1.12","conf":"^15.0.2","chalk":"5.6.2","prompts":"^2.4.2","fs-extra":"^11.3.2","commander":"^14.0.1","clipboardy":"^5.0.0","@ai-sdk/google":"^2.0.23","@ai-sdk/openai":"^2.0.52","@ai-sdk/mistral":"^2.0.19","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^2.0.28"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","tsup":"^8.5.0","eslint":"^9.37.0","rimraf":"^6.0.1","globals":"^16.4.0","ts-node":"^10.9.2","prettier":"3.6.2","type-fest":"^5.1.0","@eslint/js":"^9.37.0","typescript":"^5.9.3","@eslint/json":"^0.13.2","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.46.1","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.10.0_1760461180844_0.39130103036233366","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"gsmart","version":"0.10.1","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.10.1","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"27a2deb9312d6bbdb655eeecdebc738ed7a1cc1a","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.10.1.tgz","fileCount":6,"integrity":"sha512-BtDNQeU+MJ60zlLtJAEb2YKEpAyHn7a83UadKY5ciDTibijmzhFrKAX+kUltZVKLjnKBeIwxGNfOrPT18OGDgw==","signatures":[{"sig":"MEUCIQCKaJbbhmk7BU0nwYw7Tlgow/5XglHsnxT/mNZ/4yEXGgIgM+o/q9Lj+TZe8YVEGlAhFETws7qXWQaiHYgbMaqQi+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97796},"main":"./dist/index.js","type":"module","_from":"file:gsmart-0.10.1.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","prebuild":"node prebuild.js","prettier":"prettier --write .","typecheck":"tsc --noEmit","test:coverage":"tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"_resolved":"/private/var/folders/sj/txzmkgpd46l8m9z9dtg6pkd80000gn/T/0adc91e7429ca7d6c51d435e6fc91a37/gsmart-0.10.1.tgz","_integrity":"sha512-BtDNQeU+MJ60zlLtJAEb2YKEpAyHn7a83UadKY5ciDTibijmzhFrKAX+kUltZVKLjnKBeIwxGNfOrPT18OGDgw==","repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.3","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ai":"^5.0.93","ora":"^9.0.0","zod":"^4.1.12","conf":"^15.0.2","chalk":"5.6.2","prompts":"^2.4.2","fs-extra":"^11.3.2","commander":"^14.0.2","clipboardy":"^5.0.0","@ai-sdk/google":"^2.0.31","@ai-sdk/openai":"^2.0.65","@ai-sdk/mistral":"^2.0.24","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^2.0.44"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","tsup":"^8.5.1","eslint":"^9.39.1","rimraf":"^6.1.0","globals":"^16.5.0","ts-node":"^10.9.2","prettier":"3.6.2","type-fest":"^5.2.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","@eslint/json":"^0.14.0","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.46.4","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.10.1_1763033969626_0.17931336205138937","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"gsmart","version":"0.10.2","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.10.2","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"e8a2d8436b874d0b2be1369fe06c43c9a3631c91","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.10.2.tgz","fileCount":6,"integrity":"sha512-+xWw9WkmwVrXKTrGOs/+QGKYs9aHJDvEOiA//MAQNdReInFjARIFRO5+Dtpwc59AlgEqSRrej0xI19wtU29jzQ==","signatures":[{"sig":"MEYCIQC/HsSm+nDEdyZovZn4fXky5CjVQ/EOkxJxgvQ1fFOXOgIhAPIByRJMjmtZxmeRD1VfKQUqpSwO0+vvSXW4+wwpT6CD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98039},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"e22396d38b3bf359d8caec84d91728d95a2c4e18","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","format":"prettier --write .","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","test:coverage":"tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout"},"_npmUser":{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"10.9.4","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ai":"^5.0.101","ora":"^9.0.0","zod":"^4.1.13","conf":"^15.0.2","chalk":"5.6.2","prompts":"^2.4.2","fs-extra":"^11.3.2","commander":"^14.0.2","clipboardy":"^5.0.1","@ai-sdk/google":"^2.0.42","@ai-sdk/openai":"^2.0.71","@ai-sdk/mistral":"^2.0.24","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^2.0.45"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.24.0+sha512.01ff8ae71b4419903b65c60fb2dc9d34cf8bb6e06d03bde112ef38f7a34d6904c424ba66bea5cdcf12890230bf39f9580473140ed9c946fef328b6e5238a345a","devDependencies":{"tsx":"^4.20.6","tsup":"^8.5.1","eslint":"^9.39.1","rimraf":"^6.1.2","globals":"^16.5.0","ts-node":"^10.9.2","prettier":"3.7.3","type-fest":"^5.2.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","@eslint/json":"^0.14.0","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.47.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.10.2_1764612810028_0.3282889067822303","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"gsmart","version":"0.10.3","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.10.3","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"c28064855aca9f6b480eedab142eb0d9d6bcdbc7","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.10.3.tgz","fileCount":6,"integrity":"sha512-iOqXzMEE6C551Zh2qs1DYYcdSMO3Xbk8NXqbhwTyNe1zzAU+h45rwWWVGhqwW5RpCE4AzCTVWjqvMwuat6wphA==","signatures":[{"sig":"MEQCIDZkDZYuupEPa83dO23PX6JBMbiUffNTU6ky8UKXps2sAiBDgLmgC0R32s2loE8xzUyJGMYE6USK0TXCgIFUFl3FUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98065},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"d8dec45c535b6e11cf1d1b8e20c184d014584361","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","format":"prettier --write .","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","test:coverage":"tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.6.4","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ai":"^5.0.106","ora":"^9.0.0","zod":"^4.1.13","conf":"^15.0.2","chalk":"5.6.2","prompts":"^2.4.2","fs-extra":"^11.3.2","commander":"^14.0.2","clipboardy":"^5.0.1","@ai-sdk/google":"^2.0.44","@ai-sdk/openai":"^2.0.76","@ai-sdk/mistral":"^2.0.25","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^2.0.53"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.24.0+sha512.01ff8ae71b4419903b65c60fb2dc9d34cf8bb6e06d03bde112ef38f7a34d6904c424ba66bea5cdcf12890230bf39f9580473140ed9c946fef328b6e5238a345a","devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","eslint":"^9.39.1","rimraf":"^6.1.2","globals":"^16.5.0","ts-node":"^10.9.2","prettier":"3.7.3","type-fest":"^5.3.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","@eslint/json":"^0.14.0","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.48.1","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.10.3_1764778605162_0.2087628997297013","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"gsmart","version":"0.10.4","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.10.4","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"25f7ebeba48b2f54febc08ab9cb67d70e0b595de","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.10.4.tgz","fileCount":6,"integrity":"sha512-9vo7E9P8R1m9LhkXtgBhSdTUuUi1o4+9fsRpeYRTXjCpE34HwSjx3Le9YhYGPk7sLZ2N8250zjI0FAQ44v0+XA==","signatures":[{"sig":"MEUCIAFrSkvQ0PEHPDBS0lREOwcOAGKPSutwi21eBcfOqejhAiEA6xtS02BBiGR4I8vuqbNRQs7ahxO4t9S/8JcZRccOTSw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.10.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":99186},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"9135866d040c2cca04b9d3e8d247b252fca22a84","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","format":"prettier --write .","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","test:coverage":"tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.6.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ai":"^6.0.3","ora":"^9.0.0","zod":"^4.2.1","conf":"^15.0.2","chalk":"5.6.2","prompts":"^2.4.2","fs-extra":"^11.3.3","commander":"^14.0.2","clipboardy":"^5.0.2","@ai-sdk/google":"^3.0.1","@ai-sdk/openai":"^3.0.1","@ai-sdk/mistral":"^3.0.1","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.26.2+sha512.0e308ff2005fc7410366f154f625f6631ab2b16b1d2e70238444dd6ae9d630a8482d92a451144debc492416896ed16f7b114a86ec68b8404b2443869e68ffda6","devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","eslint":"^9.39.2","rimraf":"^6.1.2","globals":"^16.5.0","ts-node":"^10.9.2","prettier":"3.7.4","type-fest":"^5.3.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@eslint/json":"^0.14.0","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.50.1","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.10.4_1767013699822_0.8040942038053693","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"gsmart","version":"0.11.0","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.11.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"08492e32b29680a7dfcd91917b282c61612ac1ec","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.11.0.tgz","fileCount":6,"integrity":"sha512-psH/JO5vdcHj8zFut+HD6g7oCjiupC8ZtywoNbys1JD4Neg+kXP8nTVqlcjGl/RBxUniRZGcfndXtdXIpnB+PQ==","signatures":[{"sig":"MEYCIQDKGMkG13DFsXQ6UL+yjgTUPJxK32c5xd8kbLs3MQRU6wIhAK+U90g9hRHckRmvHKcnlnOuxk+ePzeZWBn93f9U/p2W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108474},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"8d1c6c57e6c51b4f2f6cbf06ddc932bdd8922904","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","format":"prettier --write .","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","test:coverage":"tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.6.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ai":"^6.0.3","ora":"^9.0.0","zod":"^4.2.1","conf":"^15.0.2","chalk":"5.6.2","prompts":"^2.4.2","fs-extra":"^11.3.3","commander":"^14.0.2","clipboardy":"^5.0.2","@ai-sdk/google":"^3.0.1","@ai-sdk/openai":"^3.0.1","@ai-sdk/mistral":"^3.0.1","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.26.2+sha512.0e308ff2005fc7410366f154f625f6631ab2b16b1d2e70238444dd6ae9d630a8482d92a451144debc492416896ed16f7b114a86ec68b8404b2443869e68ffda6","devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","eslint":"^9.39.2","rimraf":"^6.1.2","globals":"^16.5.0","ts-node":"^10.9.2","prettier":"3.7.4","type-fest":"^5.3.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@eslint/json":"^0.14.0","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.50.1","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.11.0_1767282215268_0.792694081874745","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"gsmart","version":"0.11.1","keywords":["cli","ai","git","gsmart"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.11.1","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"ae2aff8eabe4b5427771af1dd8ef863fa14cbd26","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.11.1.tgz","fileCount":6,"integrity":"sha512-qy26fCD6F0hVrD47PdjoV10HSf3f3KG8VGQp4L3taD3dW41OIJot2tnaBDEQyNHGLgKQwj5WPdKWLGre0PaBxQ==","signatures":[{"sig":"MEYCIQDjysXfeUhSVVhtNd240G9Ju4sgZ8cl849qgYe5gSnfoAIhAKjVkQFME1gZRzpV0kCv4T7sx2DpQLVIbvemMhSIIA/5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108847},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":"./dist/index.js","gitHead":"34183e2bc83cff8651ccabe6dfb43c516a766c78","scripts":{"dev":"tsup --watch","lint":"eslint . --ext .ts","test":"tsx --test","build":"tsup","start":"node dist/index.js","format":"prettier --write .","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","test:coverage":"tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.6.2","description":"CLI to generate smart commit messages using AI.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ai":"^6.0.6","ora":"^9.0.0","zod":"^4.3.5","conf":"^15.0.2","chalk":"5.6.2","prompts":"^2.4.2","fs-extra":"^11.3.3","commander":"^14.0.2","clipboardy":"^5.0.2","@ai-sdk/google":"^3.0.2","@ai-sdk/openai":"^3.0.2","@ai-sdk/mistral":"^3.0.2","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","eslint":"^9.39.2","rimraf":"^6.1.2","globals":"^16.5.0","ts-node":"^10.9.2","prettier":"3.7.4","type-fest":"^5.3.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@eslint/json":"^0.14.0","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","typescript-eslint":"^8.51.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.11.1_1767535207465_0.6573518269288092","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"gsmart","version":"0.11.2","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.11.2","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"6b4c12375b2999746fc1f3d9f660d5a0b5ce37f0","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.11.2.tgz","fileCount":6,"integrity":"sha512-PEfBRQRiCaLikU1i0nao6x0MSzVKzbUgLPDDQdntIMT/UoqL5Ye7WQfD1ifcUBkIhymGzzq7VJfI+kgKldizsg==","signatures":[{"sig":"MEQCIHcUHMocq1bPW3kLweoHoNT02mYwkoiAop0h6yHF0bHIAiAgmppe4s+cVyLZH0D0k6VM6DBWuVKcg4/nEt3nsRh2VQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112213},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d3bc44bb5a8b096f8dd62bc0ba13a4f81ea539ae","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import tsx --test test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/*.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.6.2","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"ai":"^6.0.40","ora":"^9.0.0","zod":"^4.3.5","conf":"^15.0.2","chalk":"5.6.2","prompts":"^2.4.2","commander":"^14.0.2","clipboardy":"^5.0.2","@ai-sdk/google":"^3.0.10","@ai-sdk/openai":"^3.0.12","@ai-sdk/mistral":"^3.0.9","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.15"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1+sha512.7d7dbbca9e99447b7c3bf7a73286afaaf6be99251eb9498baefa7d406892f67b879adb3a1d7e687fc4ccc1a388c7175fbaae567a26ab44d1067b54fcb0d6a316","devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","eslint":"^9.39.2","esmock":"^2.7.3","rimraf":"^6.1.2","globals":"^17.0.0","prettier":"3.8.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@eslint/json":"^0.14.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.53.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.11.2_1768827859225_0.2725146768213009","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"gsmart","version":"0.11.3","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.11.3","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"b4e26c83a45ab3ec6a1e790b3f6b047d05529025","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.11.3.tgz","fileCount":6,"integrity":"sha512-NNYo+DQdYMGSc6r/ViQZM7ZhszMMWoQhWaGdIbA0Ua5q/vyYhDokuLGEyPArnQt+o8sRXEVjXu+VydMfR7s9kw==","signatures":[{"sig":"MEUCIEUFqQtoftcZKw00UDTwExmRTzK0dMpTNMbs29yGgUTQAiEAiHuVLcwSVHusf5x3OoPFbA5yu/SE2TFKoKUk/Cav59g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112213},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8ea6cad017f66fa9cbce637822e54febeeb1941f","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import tsx --test test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/*.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.8.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.13.1","dependencies":{"ai":"^6.0.67","ora":"^9.1.0","zod":"^4.3.6","conf":"^15.0.2","chalk":"5.6.2","prompts":"^2.4.2","commander":"^14.0.3","clipboardy":"^5.2.0","@ai-sdk/google":"^3.0.20","@ai-sdk/openai":"^3.0.25","@ai-sdk/mistral":"^3.0.18","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.35"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3+sha512.c961d1e0a2d8e354ecaa5166b822516668b7f44cb5bd95122d590dd81922f606f5473b6d23ec4a5be05e7fcd18e8488d47d978bbe981872f1145d06e9a740017","devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","eslint":"^9.39.2","esmock":"^2.7.3","rimraf":"^6.1.2","globals":"^17.3.0","prettier":"3.8.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@eslint/json":"^1.0.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.54.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.11.3_1772454619544_0.3930766879188783","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"gsmart","version":"0.12.0","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.12.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"0ade15565915c88b77dcae59d74449509a1a1858","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.12.0.tgz","fileCount":7,"integrity":"sha512-2ehPGuad7sHeoU4UwWhTsZSxSids61R/jFOCoFeuiSSY2te6xxpKMyM3Uyc0hDDbsDMnP9T5mRc1hVfa5uKMSQ==","signatures":[{"sig":"MEUCIF0W/2JA0qZYhXs4nLMjwQ56IIN9H4l3Vn/3pgLKZbaFAiEA/9KKEjzDQUfQHHZ0lbWL9+oosZ/cx2d1aJVrDt3nK0c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":133801},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"566920eab881aa07fbdb5e42d17b87df97d9ee22","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import tsx --test test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall.js || true","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/*.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.9.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"ai":"^6.0.116","ora":"^9.3.0","conf":"^15.1.0","chalk":"5.6.2","prompts":"^2.4.2","commander":"^14.0.3","clipboardy":"^5.3.1","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.41","@ai-sdk/mistral":"^3.0.24","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.58"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.31.0+sha512.e3927388bfaa8078ceb79b748ffc1e8274e84d75163e67bc22e06c0d3aed43dd153151cbf11d7f8301ff4acb98c68bdc5cadf6989532801ffafe3b3e4a63c268","devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","eslint":"^10.0.3","esmock":"^2.7.3","rimraf":"^6.1.3","globals":"^17.4.0","prettier":"3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@eslint/json":"^1.0.1","@types/prompts":"^2.4.9","typescript-eslint":"^8.56.1","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.12.0_1773067106492_0.9684051278298014","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"gsmart","version":"0.13.0","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.13.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"a279075f7befc1bb460c06127070065e69ca8fb3","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.13.0.tgz","fileCount":7,"integrity":"sha512-3+BlxWkita59OGHkasDHkOGB76qtJw4F614/j285hOMqG51A12Ki/iUL/OMKlx0Ycgv/A7m8qdd2Sh0mqDZehg==","signatures":[{"sig":"MEUCIFP1heSFhA8ciMb9hnx0E5UHOICdjThx6e/ELTYAv3ERAiEAow+pZ6mfqQv2EMVihPHpAmWViVVgP0Gef5UmMJeLF4k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173491},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4113fe89396ddce2a19546d7d1e2bec1c87538ce","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import tsx --test test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall.js || true","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/*.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.9.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"ai":"^6.0.116","ora":"^9.3.0","conf":"^15.1.0","chalk":"5.6.2","prompts":"^2.4.2","commander":"^14.0.3","clipboardy":"^5.3.1","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.41","@ai-sdk/mistral":"^3.0.24","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.58"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be","devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","eslint":"^10.0.3","esmock":"^2.7.3","rimraf":"^6.1.3","globals":"^17.4.0","prettier":"3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@eslint/json":"^1.1.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.57.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.13.0_1773604101149_0.36320868131702544","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"gsmart","version":"0.13.1","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.13.1","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"dfc22302535578e1f3ff4304ed23d0300a41e6d3","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.13.1.tgz","fileCount":6,"integrity":"sha512-WT4Vq4d0gLd6x9XAwgT0b5GvmZVpAYlPEL5BWs8X5gquq0AnGfBqJfUZ+UXABMt4qSFXBUaWAbCF74PdV1xOwA==","signatures":[{"sig":"MEUCIFQqykhu/ZRsVGh0WcWNnjnvSWrlLzypKCyJcRv+AMAvAiEA6mPbi1j4OrMezCmXYt0DI0cQJNDya3Ot9hn3GOFpyV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176722},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e838c95e65bad6ba1f776be9b597c66424b9ed9b","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import tsx --test test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/*.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.9.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"ai":"^6.0.138","ora":"^9.3.0","conf":"^15.1.0","chalk":"5.6.2","prompts":"^2.4.2","commander":"^14.0.3","clipboardy":"^5.3.1","@ai-sdk/google":"^3.0.53","@ai-sdk/openai":"^3.0.48","@ai-sdk/mistral":"^3.0.27","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.64"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319","devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","eslint":"^10.1.0","esmock":"^2.7.3","rimraf":"^6.1.3","globals":"^17.4.0","prettier":"3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@eslint/json":"^1.2.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.57.2","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.13.1_1774531502255_0.030475858298452563","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"gsmart","version":"0.13.2","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.13.2","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"d0db76949c10237f6211b6c93d78612f7cd466a1","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.13.2.tgz","fileCount":6,"integrity":"sha512-bD6z0vwbyDdGTpyf1mxujKMPotl+H6zozORDDyGtVCibxgOn4WSyuOU+hYLh1IeBg6Z2D3k9ZTF1OcWzq7Qsuw==","signatures":[{"sig":"MEUCIQDWCBdFrkVwuAcbLISrIKm2xvWGxCTVwBpFbbcS3n/JDgIgH+RTFXDJB8alIq/mKtkitPXiOekcp0MXLjwnA10DgIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.13.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176722},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"509a9ecd38bb0cc8382bdf4c76eb3fceb2d50cc4","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import tsx --test test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/*.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.11.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"ai":"^6.0.146","ora":"^9.3.0","conf":"^15.1.0","chalk":"5.6.2","prompts":"^2.4.2","commander":"^14.0.3","clipboardy":"^5.3.1","@ai-sdk/google":"^3.0.58","@ai-sdk/openai":"^3.0.50","@ai-sdk/mistral":"^3.0.28","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.66"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319","devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","eslint":"^10.2.0","esmock":"^2.7.3","rimraf":"^6.1.3","globals":"^17.4.0","prettier":"3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@eslint/json":"^1.2.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.58.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.13.2_1776083936859_0.44512227751817846","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"gsmart","version":"0.14.0","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.14.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"194da09f353a3c547ab11701571c370f8dc5a967","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.14.0.tgz","fileCount":6,"integrity":"sha512-OVE5GgZbbbEqrTbiFj9rczJNybqmTTGuEb+vY+oKpitZB5Dnk+jxcIBRoB8hRx6F9TDohtSZBpleBA6z/wJnLA==","signatures":[{"sig":"MEUCIQDMDPin3ScRQ4O2Ygb+SruwvrbtYINB9RcXfVHoxcCO5QIgPg7V9P7cMNtH17dBDGUCheimkhGCnFCRL3AU2to3P7Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178385},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"79fe75e6e4f25fe4cfc8d3e34e29fa0c347b9dd9","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import tsx --test test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/*.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.11.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"ai":"^6.0.175","ora":"^9.4.0","conf":"^15.1.0","chalk":"5.6.2","prompts":"^2.4.2","commander":"^14.0.3","clipboardy":"^5.3.1","@ai-sdk/google":"^3.0.67","@ai-sdk/openai":"^3.0.60","@ai-sdk/mistral":"^3.0.34","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.74"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.3+sha512.a19744364a7e248b92657a4ca5973f9354d21caf982579674b1c539f32c7420c47138ad8b1254df07aba9bc782d9b3029e3db34d5dbff974326eb74dac8ff489","devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","eslint":"^10.3.0","esmock":"^2.7.4","rimraf":"^6.1.3","globals":"^17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@eslint/json":"^1.2.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.59.2","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.14.0_1777982385996_0.369157879976447","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"gsmart","version":"0.14.1","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.14.1","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"7789501a3ca29599de4e98046f795c2134426062","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.14.1.tgz","fileCount":6,"integrity":"sha512-0b+95Lm1D6OJUBIUlQbIm7ybu+PeIixgR6e9BVIa751lMXrIvg+pCCJmJmUK+ePB8zTqKwYSfmxdPy89E3povA==","signatures":[{"sig":"MEQCIDE3yoISPH+HTEspGkY02RBEJzKb11i4LzeGrEYDULFkAiA7evchAJqfROy3p8PNtIEKBsjIuChvd8iLm8SN4T8AdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178384},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4aceea13872e362b5b8fe996f012fb7cc353d8bd","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import tsx --test test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/*.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.11.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"ai":"^6.0.177","ora":"^9.4.0","conf":"^15.1.0","chalk":"5.6.2","prompts":"^2.4.2","commander":"^14.0.3","clipboardy":"^5.3.1","@ai-sdk/google":"^3.0.71","@ai-sdk/openai":"^3.0.63","@ai-sdk/mistral":"^3.0.36","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.76"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.1+sha512.d1fdf5f73c617b64fa1a56a81c3c8dfe0e966e33a6010aa256b517ae77be21d93e05affc0de1a83b0e4f29d569f68b446ae8f068cd7247c0bb3df0fb4d7bdf9a","devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","eslint":"^10.3.0","esmock":"^2.7.5","rimraf":"^6.1.3","globals":"^17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@eslint/json":"^1.2.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.59.2","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.14.1_1778606961860_0.33489534085970685","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"gsmart","version":"0.14.2","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.14.2","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"f2b125110515b1409447f508a2183eaf159e38b9","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.14.2.tgz","fileCount":6,"integrity":"sha512-YsWHuwenejhxnT0L1FrUYxydS2eVSnOV4zZDkjNg4w67+dhSnwTyZ07tnbbIllh/m0KbpuBJxx4ug/2gc1WbCA==","signatures":[{"sig":"MEYCIQCyf4WuPxgZKl35+QpKj1DNvIcKJiDm6sk+GGRbS1UbewIhAOjrarsXgU25Tbnb0Mm/B1aFuE3mMfPKOp2KPw/AWrMg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.14.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":219560},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f6639fc99e48a2e48d806d1ceba9e4cc8b182880","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import ./test-support/register-esmock.mjs --import tsx --test --test-reporter=dot test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"pnpm test && node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/completions.test.ts test/config-command.test.ts test/config.test.ts test/debug.test.ts test/git.test.ts test/holiday.test.ts test/index.test.ts test/login.test.ts test/openai-oauth.test.ts test/prompt-config.test.ts test/providers.test.ts test/reset.test.ts test/setup-env.test.ts test/version-check-coverage.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.12.1","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"ai":"^6.0.184","ora":"^9.4.0","conf":"^15.1.0","chalk":"5.6.2","prompts":"^2.4.2","commander":"^14.0.3","clipboardy":"^5.3.1","@ai-sdk/google":"^3.0.75","@ai-sdk/openai":"^3.0.64","@ai-sdk/mistral":"^3.0.37","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.78"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@11.1.2+sha512.415a1cc25974731e75455c1468371be74c5aa5fb7621b50d4056d222451609f11412f23fd602e6169f1e060466641f798597e1be961a10688836a67b16569499","devDependencies":{"tsx":"^4.22.1","tsup":"^8.5.1","eslint":"^10.4.0","esmock":"^2.7.5","rimraf":"^6.1.3","globals":"^17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@eslint/json":"^1.2.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.59.3","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.14.2_1779108178621_0.5282802067852941","host":"s3://npm-registry-packages-npm-production"}},"0.14.3":{"name":"gsmart","version":"0.14.3","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.14.3","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"8cbe48d61c4ba77f9c6846ba274f98d0ecbbf7fe","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.14.3.tgz","fileCount":6,"integrity":"sha512-oCxf1N/GZX4/FQ9nYm2GaslnmSXurrI8LXlj24aQppnjrELnQyJRwhAcOOO+XepARzZVCyDynCILwg4Z79KUSg==","signatures":[{"sig":"MEQCIHNL9VLVfoAb/Pq0PrMthTMscm+SE2r8WV6UeudOLf1AAiAbXKh106IIBRd9Jhq+R2WI7dzYdBnX976U8+OfBdM/9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.14.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":219907},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2c2d9235af9bd937682d07f47966998b82bdc228","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import ./test-support/register-esmock.mjs --import tsx --test --test-reporter=dot test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"pnpm test && node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/completions.test.ts test/config-command.test.ts test/config.test.ts test/debug.test.ts test/git.test.ts test/holiday.test.ts test/index.test.ts test/login.test.ts test/openai-oauth.test.ts test/prompt-config.test.ts test/providers.test.ts test/reset.test.ts test/setup-env.test.ts test/version-check-coverage.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.12.1","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"ai":"^6.0.189","ora":"^9.4.0","conf":"^15.1.0","chalk":"5.6.2","prompts":"^2.4.2","commander":"^14.0.3","clipboardy":"^5.3.1","@ai-sdk/google":"^3.0.78","@ai-sdk/openai":"^3.0.64","@ai-sdk/mistral":"^3.0.37","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.78"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@11.2.2+sha512.36e6621fad506178936455e70247b8808ef4ec25797a9f437a93281a020484e2607f6a469a22e982987c3dbb8866e3071514ab10a4a1749e06edcd1ec118436f","devDependencies":{"tsx":"^4.22.3","tsup":"^8.5.1","eslint":"^10.4.0","esmock":"^2.7.5","rimraf":"^6.1.3","globals":"^17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@eslint/json":"^1.2.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.59.4","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.14.3_1779470645902_0.6623620324276105","host":"s3://npm-registry-packages-npm-production"}},"0.14.4":{"name":"gsmart","version":"0.14.4","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.14.4","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"5ea3216058d9f3eeb1cb04f2799246079af3780d","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.14.4.tgz","fileCount":6,"integrity":"sha512-qcnYByn4ED7a+PIJeqImu/FlYUStU8icKYL1Jxq8IKVqHqjPDLeGNYXMh/5ZyxevpKI6CiXnSjZPqIIkUlzJdw==","signatures":[{"sig":"MEQCIBq9lv8gNBpWWAa3kn4NsG4DMDCdS2FEkdFsrHxqt/enAiAzapBMU7c236GYZ33if6NdIhKqJ3m2fDeUuz3nWp1IOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.14.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":219907},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6c3087a5e5671caa968b1a1b8048f534e5a2344f","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import ./test-support/register-esmock.mjs --import tsx --test --test-reporter=dot test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"pnpm test && node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/completions.test.ts test/config-command.test.ts test/config.test.ts test/debug.test.ts test/git.test.ts test/holiday.test.ts test/index.test.ts test/login.test.ts test/openai-oauth.test.ts test/prompt-config.test.ts test/providers.test.ts test/reset.test.ts test/setup-env.test.ts test/version-check-coverage.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.13.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"ai":"^6.0.193","ora":"^9.4.0","conf":"^15.1.0","chalk":"5.6.2","prompts":"^2.4.2","commander":"^14.0.3","clipboardy":"^5.3.1","@ai-sdk/google":"^3.0.80","@ai-sdk/openai":"^3.0.67","@ai-sdk/mistral":"^3.0.37","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.81"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@11.5.1+sha512.93f7b57422ea7068257235b4c16eb60762eb68e1dc23723199cc739043ea9be2c4143274a399d8c6defa2b1176226d9ca1c4b63482d6200c1a8fbaa78c1d1485","devDependencies":{"tsx":"^4.22.4","tsup":"^8.5.1","eslint":"^10.4.1","esmock":"^2.7.6","rimraf":"^6.1.3","globals":"^17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@eslint/json":"^1.2.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.60.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.14.4_1780403525543_0.14718740363309646","host":"s3://npm-registry-packages-npm-production"}},"0.14.5":{"name":"gsmart","version":"0.14.5","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.14.5","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"e8b083331d5b21ab37fe3d367f88db913cd9031b","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.14.5.tgz","fileCount":6,"integrity":"sha512-aRECfSO341DmgM5vJ6EmT74MBR9Q9XK7MAFFUiwkwF6+6U0jxP5qk6NGkfD3dSI8BQiydT6V4hu7raRvTZyCVw==","signatures":[{"sig":"MEUCIEGci6YgzAvzemURLVsD50/klODNIevFuwXxiFgDwxLuAiEAqg5nr1ycjey0/4a9NrQJNxPz8vQyuUC04l9a14ArKQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.14.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":221417},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1fae3091f2f770921f256168d8c166307df00678","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import ./test-support/register-esmock.mjs --import tsx --test --test-reporter=dot test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"pnpm test && node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/completions.test.ts test/config-command.test.ts test/config.test.ts test/debug.test.ts test/git.test.ts test/holiday.test.ts test/index.test.ts test/login.test.ts test/openai-oauth.test.ts test/prompt-config.test.ts test/providers.test.ts test/reset.test.ts test/setup-env.test.ts test/version-check-coverage.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.13.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"ai":"^6.0.202","ora":"^9.4.0","conf":"^15.1.0","chalk":"5.6.2","prompts":"^2.4.2","commander":"^15.0.0","clipboardy":"^5.3.1","@ai-sdk/google":"^3.0.81","@ai-sdk/openai":"^3.0.70","@ai-sdk/mistral":"^3.0.38","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^3.0.83"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@11.6.0+sha512.9a36518224080c6fe5165afdcfe79bfa118c29be703f3f462b1e32efe1e98e47e8750b148e08286250aad4113cc7993ca413c4e2cd447752708c2ee5751bc95f","devDependencies":{"tsx":"^4.22.4","tsup":"^8.5.1","eslint":"^10.4.1","esmock":"^2.7.6","rimraf":"^6.1.3","globals":"^17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@eslint/json":"^2.0.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.61.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.14.5_1781292266680_0.2374313388896645","host":"s3://npm-registry-packages-npm-production"}},"0.14.6":{"name":"gsmart","version":"0.14.6","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.14.6","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"46750e74aca7e2733645d06287edbd7f739935ac","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.14.6.tgz","fileCount":6,"integrity":"sha512-+fkUvLb60O6htR/uP671TlPIDDp3TDMEq+iS7vclFNGujYvsUjsgpe7nYDpxrd7V4IymhWcOYKdab0KBufnpNg==","signatures":[{"sig":"MEUCIHPqdCSMSjJ2Mw9FUVxduhO04O4mL07lSuAgw27oaF9RAiEA25zt6PoESAPMaNY1Fm50bDxibNGAatAGLkp9gDy4xfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.14.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":221411},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"55bcaef543e4e31ad5a27ffaddd5e9ab6cdd063e","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import ./test-support/register-esmock.mjs --import tsx --test --test-reporter=dot test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"pnpm test && node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/completions.test.ts test/config-command.test.ts test/config.test.ts test/debug.test.ts test/git.test.ts test/holiday.test.ts test/index.test.ts test/login.test.ts test/openai-oauth.test.ts test/prompt-config.test.ts test/providers.test.ts test/reset.test.ts test/setup-env.test.ts test/version-check-coverage.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.13.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"ai":"^7.0.4","ora":"^9.4.1","conf":"^15.1.0","chalk":"5.6.2","prompts":"^2.4.2","commander":"^15.0.0","clipboardy":"^5.3.1","@ai-sdk/google":"^4.0.2","@ai-sdk/openai":"^4.0.2","@ai-sdk/mistral":"^4.0.1","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^4.0.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0+sha512.19cc852c120c7125760f2443ee6be0ca5b40f9f50598de1a09a1f177503e010e57c23c77646e01e761de59bf874fb22a3398c33ab9691fc13eb946b6f0f4d620","devDependencies":{"tsx":"^4.22.4","tsup":"^8.5.1","eslint":"^10.6.0","esmock":"^2.7.6","rimraf":"^6.1.3","globals":"^17.7.0","prettier":"3.9.1","@eslint/js":"^10.0.1","typescript":"^6.0.3","@eslint/json":"^2.0.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.62.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.14.6_1782741588294_0.6595542230669693","host":"s3://npm-registry-packages-npm-production"}},"0.14.7":{"name":"gsmart","version":"0.14.7","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.14.7","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"a11ba2d73eeebad1f31085b28c1fabf4a7e9e9ad","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.14.7.tgz","fileCount":6,"integrity":"sha512-PWeEYKwQlSzYB1CXDZiGWU6NA+m0KmYKvDNoLaeqzrtalXD8hNk3hgHJYb7rbtcmARLXESjYtHYLARUhYJyO4Q==","signatures":[{"sig":"MEYCIQCYKMEARdRfIN/PNi5L40i+bDIC/fzwavpyqywVJMQowwIhAP5GcCemYxHJmDiTBiV0Sl4jtHhm7V++2WrMBVwV+Dme","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.14.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":221878},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8a70d822f18ecc41727639abc24a9ddce7537f48","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import ./test-support/register-esmock.mjs --import tsx --test --test-reporter=dot test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"pnpm test && node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/completions.test.ts test/config-command.test.ts test/config.test.ts test/debug.test.ts test/git.test.ts test/holiday.test.ts test/index.test.ts test/login.test.ts test/openai-oauth.test.ts test/prompt-config.test.ts test/providers.test.ts test/reset.test.ts test/setup-env.test.ts test/version-check-coverage.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.16.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"ai":"^7.0.35","ora":"^9.4.1","conf":"^15.1.0","chalk":"5.6.2","prompts":"^2.4.2","commander":"^15.0.0","clipboardy":"^5.3.2","@ai-sdk/google":"^4.0.22","@ai-sdk/openai":"^4.0.18","@ai-sdk/mistral":"^4.0.14","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^4.0.18"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@11.17.0+sha512.cca3cea332ad254bb84145f966d19f4879615210346fc92c79a047f23a0d7b3cca3c3792f0076ba1f1831d277efbcf0a9119b31a9a60eca7fb3d6231f331ef72","devDependencies":{"tsx":"^4.23.1","tsup":"^8.5.1","eslint":"^10.7.0","esmock":"^2.7.6","rimraf":"^6.1.3","globals":"^17.7.0","prettier":"3.9.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@eslint/json":"^2.0.1","@types/prompts":"^2.4.9","typescript-eslint":"^8.65.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.14.7_1784900314739_0.7408558273324082","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"gsmart","version":"0.15.0","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.15.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"da2096873f89a3c30ad8d312e61d7cbcad81b213","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.15.0.tgz","fileCount":6,"integrity":"sha512-DJQ5ClCYQlW9CKikju8m0jDY6aGsb/hZ+wyIeQFASpwCt2p7MyDDIvfbuPEIZbbaknDaxtFxgac3ThGRXgHyLA==","signatures":[{"sig":"MEQCIG1O03KfFZesdN1jhO3yaxTu37I+OC6U4h+o8yIHy9qDAiA0zPFVIlSHfD2YaSUcvMgUKQCdoGnvaKkEvaIybBg4Cw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":221880},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f64112f3e897bb4d78322c07da54e99d54036341","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import ./test-support/register-esmock.mjs --import tsx --test --test-reporter=dot test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"pnpm test && node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/completions.test.ts test/config-command.test.ts test/config.test.ts test/debug.test.ts test/git.test.ts test/holiday.test.ts test/index.test.ts test/login.test.ts test/openai-oauth.test.ts test/prompt-config.test.ts test/providers.test.ts test/reset.test.ts test/setup-env.test.ts test/version-check-coverage.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.17.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ai":"^7.0.66","ora":"^9.4.1","conf":"^15.1.0","chalk":"6.0.0","prompts":"^2.4.2","commander":"^15.0.0","clipboardy":"^5.3.2","@ai-sdk/google":"^4.0.44","@ai-sdk/openai":"^4.0.42","@ai-sdk/mistral":"^4.0.29","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^4.0.39"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@11.22.0+sha512.1ff870c4c6133dfd88fb2afc46dd13d47f09c9794b438c6fdb47ca98caf3bc16381ee0be93a091b8e3824cf01f889f46d7d9e20910fb0be1ab0fb5baa80dd621","devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.1","eslint":"^10.8.1","esmock":"^2.7.6","rimraf":"^6.1.3","globals":"^17.11.0","prettier":"3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@eslint/json":"^2.0.1","@types/prompts":"^2.4.9","typescript-eslint":"^8.67.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.15.0_1786969427844_0.39126753623217847","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"gsmart","version":"0.15.1","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.15.1","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"00094891e4b8109bd6cff0cc6e04d5908f7d9b1b","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.15.1.tgz","fileCount":6,"integrity":"sha512-lpCYvytLtsmGrX593yLhhcVDWbGNm4f+Ts+Oz+qVH8Xc4Zwp3TdEsILkevjGNWHiPH3hJVXzvTEW/bhppzizZw==","signatures":[{"sig":"MEUCIQDMXbbKWOCY6vBfajV3rd+cHftjq3vKlu58BunztqYgtAIgb83D3thyj5B8WNAQHjNeV+7S4+YLwkwm8fOoPMGErSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICFBea3lsLYN5qTMn8KCt91QMWA8FlGXkV+IjkVS4edyAiA8mMTdWSydRFwpF95joH/zSrwE9UTs05QHA5E9194btg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":221934},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e278267ae8e51e172626a4f2e8c3bb636fb5c57a","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import ./test-support/register-esmock.mjs --import tsx --test --test-reporter=dot test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"pnpm test && node --import tsx --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test-reporter=spec --test-reporter-destination=stdout test/completions.test.ts test/config-command.test.ts test/config.test.ts test/debug.test.ts test/git.test.ts test/holiday.test.ts test/index.test.ts test/login.test.ts test/openai-oauth.test.ts test/prompt-config.test.ts test/providers.test.ts test/reset.test.ts test/setup-env.test.ts test/version-check-coverage.test.ts","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.19.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"ai":"^7.0.107","ora":"^9.4.1","conf":"^15.1.0","chalk":"6.0.0","prompts":"^2.4.2","commander":"^15.0.0","clipboardy":"^5.3.2","@ai-sdk/google":"^4.0.76","@ai-sdk/openai":"^4.0.71","@ai-sdk/mistral":"^4.0.48","update-notifier":"^7.3.1","@ai-sdk/anthropic":"^4.0.58"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@12.5.1+sha512.e3f305bc784a2bc89f5ad3b6138889470fae8d2af5f36b61216ec91c2c3d64089775f9de38aac331044ea40f245cb0d5666392dfdf65824e1907ef6a2c62de5f","devDependencies":{"tsx":"^4.23.15","tsup":"^8.5.1","eslint":"^10.11.0","esmock":"^2.7.6","rimraf":"^6.1.3","globals":"^17.12.0","prettier":"3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@eslint/json":"^2.1.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.70.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.15.1_1789996918639_0.32550623158757186","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"gsmart","version":"0.16.0","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","_id":"gsmart@0.16.0","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"homepage":"https://ragnarok22.github.io/gsmart","bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"bin":{"gsmart":"dist/index.js"},"dist":{"shasum":"b1cf661d70d6ef2830b491de9b4ae638bd95432c","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.16.0.tgz","fileCount":7,"integrity":"sha512-KbdK79OVK/E3B8Yg65AGafX374IDRgtbIDh7KPKiT2fMIEpt8RM3C0okdAPsrxMweSYdr0q4f7Lv0/feVGt5lg==","signatures":[{"sig":"MEYCIQCBjZ/2I2SRxUmDxNDV+KmrE7Us7mp9aHrFPJ7hhqO49AIhAND4nIWeSghJxM9fkrCBPZgnsggt7RMT7aAHkueryVVY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCtQj2OIEbKkmqHDu2anHG8VThicD+NpbWOKuOznP3CRgIhAOTDiJrrCd422OfvzslzkB1rJ9k6l5zFamNetpqtLqWB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":499717},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.12.0","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schemas/gsmartrc.schema.json":"./schemas/gsmartrc.schema.json"},"gitHead":"c5b5330e4e272a1ea38a37df064ace349c2e6002","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"node --import ./test-support/register-esmock.mjs --import tsx --test --test-reporter=dot test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"c8 --include \"src/**/*.ts\" --reporter=lcov --reporter=text pnpm test","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.19.0","description":"CLI to generate smart commit messages using AI.","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"ai":"^7.0.107","ajv":"^8.20.0","ora":"^9.4.1","conf":"^15.1.0","chalk":"6.0.0","prompts":"^2.4.2","commander":"^15.0.0","clipboardy":"^5.3.2","@ai-sdk/google":"^4.0.76","@ai-sdk/openai":"^4.0.71","@ai-sdk/mistral":"^4.0.48","update-notifier":"^7.3.1","@commitlint/load":"^21.2.3","@ai-sdk/anthropic":"^4.0.58","@ai-sdk/openai-compatible":"^3.0.53"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@12.5.1+sha512.e3f305bc784a2bc89f5ad3b6138889470fae8d2af5f36b61216ec91c2c3d64089775f9de38aac331044ea40f245cb0d5666392dfdf65824e1907ef6a2c62de5f","devDependencies":{"c8":"^12.0.0","tsx":"^4.23.15","tsup":"^8.5.1","eslint":"^10.11.0","esmock":"^2.7.6","rimraf":"^6.1.3","globals":"^17.12.0","prettier":"3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@eslint/json":"^2.1.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.70.0","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/gsmart_0.16.0_1790179701069_0.8577916036428743","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"_id":"gsmart@0.17.0","bin":{"gsmart":"dist/index.js"},"bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"dist":{"shasum":"8dab2d0a9a455c15a709451ac77ce2c4d63af615","tarball":"https://registry.npmjs.org/gsmart/-/gsmart-0.17.0.tgz","fileCount":24,"integrity":"sha512-ZG49l6HA8AQ0qP1KgnQfRi6GfWrcuzr3VXYtyW1lK9VSCrqf2wQrvB7hsXfI90CMvCq15EcmFOBkDi7ssfQLyg==","signatures":[{"sig":"MEUCIQCiCYVTNVCru05gcj+cUqNJwdakMK5usAzAKqqrifk7RgIgelULMx6c8NgDFyzOPYBXqSHfRC70zlPPkgQuKOTUFck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAP6Tj/3sj0qkZ6gi/1HGLUsK6plQLE8AVu0Bc02gkeAAiAWjEeEKHPUa0OQgVXCOnsXi/KKFqIgRM9ItWrZIPldjg=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/gsmart@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":658970},"main":"./dist/index.js","name":"gsmart","type":"module","types":"./dist/index.d.ts","author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"engines":{"node":">=22.12.0","pnpm":">=10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schemas/gsmartrc.schema.json":"./schemas/gsmartrc.schema.json","./schemas/generation-result.schema.json":"./schemas/generation-result.schema.json"},"gitHead":"a74bd51a3e25834e1f53efdbff2d10c865ed64a7","license":"GPL-3.0-only","scripts":{"dev":"tsup --watch","eval":"tsx src/evaluate.ts","lint":"eslint .","test":"node --import ./test-support/register-esmock.mjs --import tsx --test --test-reporter=dot test/*.test.ts","build":"tsup","check":"pnpm run lint && pnpm run typecheck && pnpm run test","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write .","lint:fix":"eslint . --fix","prebuild":"node prebuild.js","typecheck":"tsc --noEmit","format:check":"prettier --check .","pretypecheck":"node prebuild.js","test:coverage":"c8 --include \"src/**/*.ts\" --reporter=lcov --reporter=text pnpm test","prepublishOnly":"pnpm run build"},"version":"0.17.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:69c191c4-577f-4dfc-a086-aeaa5ab7bb3a"}},"homepage":"https://ragnarok22.github.io/gsmart","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"_npmVersion":"11.19.0","description":"CLI to generate smart commit messages using AI.","directories":{},"maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"ai":"^7.0.116","ajv":"^8.20.0","ora":"^9.4.1","conf":"^15.1.0","chalk":"6.0.0","prompts":"^2.4.2","commander":"^15.0.0","clipboardy":"^5.3.2","@ai-sdk/google":"^4.0.82","@ai-sdk/openai":"^4.0.78","@ai-sdk/mistral":"^4.0.52","update-notifier":"^7.3.1","@commitlint/load":"^21.2.3","@ai-sdk/anthropic":"^4.0.65","@ai-sdk/openai-compatible":"^3.0.57"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@12.6.0+sha512.3ef68f951cb111ac204b4a5a16f0b2ddf0da56a96e0413e81d855d9f0b55ef926714709028e1cd00c405c2c5fb7b9e8ec4dc46777c805d0373c2f2ff00fd20ec","devDependencies":{"c8":"^12.0.0","tsx":"^4.23.15","tsup":"^8.5.1","eslint":"^10.11.0","esmock":"^2.7.6","rimraf":"^6.1.3","globals":"^17.12.0","prettier":"3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@eslint/json":"^2.1.0","@types/prompts":"^2.4.9","typescript-eslint":"^8.70.1","@types/update-notifier":"^6.0.8","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gsmart_0.17.0_1790528011796_0.21099446085169138"}}},"time":{"created":"2024-07-10T23:29:49.724Z","modified":"2026-09-27T16:53:32.197Z","0.1.0":"2024-07-10T23:29:49.895Z","0.2.0":"2024-07-11T17:50:38.651Z","0.2.1":"2024-07-11T18:02:24.682Z","0.2.2":"2024-07-11T19:24:03.382Z","0.3.0":"2024-07-11T20:01:18.274Z","0.4.0":"2024-07-12T17:56:21.919Z","0.5.0":"2024-07-13T17:45:32.675Z","0.5.1":"2024-07-13T17:57:00.522Z","0.5.2":"2024-07-13T18:18:34.965Z","0.5.3":"2024-07-13T18:57:49.429Z","0.5.4":"2024-07-13T19:11:33.885Z","0.5.5":"2024-07-27T20:12:13.052Z","0.5.6":"2024-07-27T20:19:28.807Z","0.6.0":"2024-09-15T14:32:19.395Z","0.6.1":"2024-10-15T13:58:44.532Z","0.6.2":"2024-12-02T15:34:03.504Z","0.6.3":"2024-12-02T15:55:00.227Z","0.7.0":"2025-01-21T13:07:56.029Z","0.7.1":"2025-01-21T18:03:46.056Z","0.7.2":"2025-01-31T17:36:43.509Z","0.7.3":"2025-02-24T11:37:14.221Z","0.7.4":"2025-02-24T11:53:56.417Z","0.7.5":"2025-03-03T11:52:09.851Z","0.7.6":"2025-03-04T12:52:25.701Z","0.8.0":"2025-04-21T17:37:02.763Z","0.8.1":"2025-04-25T17:58:27.004Z","0.8.2":"2025-04-28T12:22:47.964Z","0.8.3":"2025-05-14T16:21:39.528Z","0.9.0":"2025-06-12T17:13:16.497Z","0.9.1":"2025-07-22T13:10:52.157Z","0.9.2":"2025-08-04T16:19:06.707Z","0.9.3":"2025-08-07T16:48:12.402Z","0.9.4":"2025-08-28T12:51:03.231Z","0.9.5":"2025-09-22T17:27:02.287Z","0.9.6":"2025-09-29T14:59:27.613Z","0.9.7":"2025-10-03T16:16:30.836Z","0.10.0":"2025-10-14T16:59:41.038Z","0.10.1":"2025-11-13T11:39:29.821Z","0.10.2":"2025-12-01T18:13:30.233Z","0.10.3":"2025-12-03T16:16:45.360Z","0.10.4":"2025-12-29T13:08:19.976Z","0.11.0":"2026-01-01T15:43:35.400Z","0.11.1":"2026-01-04T14:00:07.610Z","0.11.2":"2026-01-19T13:04:19.389Z","0.11.3":"2026-03-02T12:30:19.693Z","0.12.0":"2026-03-09T14:38:26.632Z","0.13.0":"2026-03-15T19:48:21.296Z","0.13.1":"2026-03-26T13:25:02.421Z","0.13.2":"2026-04-13T12:38:57.006Z","0.14.0":"2026-05-05T11:59:46.136Z","0.14.1":"2026-05-12T17:29:22.005Z","0.14.2":"2026-05-18T12:42:58.773Z","0.14.3":"2026-05-22T17:24:06.048Z","0.14.4":"2026-06-02T12:32:05.687Z","0.14.5":"2026-06-12T19:24:26.828Z","0.14.6":"2026-06-29T13:59:48.450Z","0.14.7":"2026-07-24T13:38:34.867Z","0.15.0":"2026-08-17T12:23:48.009Z","0.15.1":"2026-09-21T13:21:58.753Z","0.16.0":"2026-09-23T16:08:21.154Z","0.17.0":"2026-09-27T16:53:31.883Z"},"bugs":{"url":"https://github.com/ragnarok22/gsmart/issues"},"author":{"name":"Reinier Hernández","email":"sasuke.reinier@gmail.com"},"license":"GPL-3.0-only","homepage":"https://ragnarok22.github.io/gsmart","keywords":["cli","ai","git","gsmart","commit","conventional-commits","openai","anthropic","gemini","mistral"],"repository":{"url":"git+https://github.com/ragnarok22/gsmart.git","type":"git"},"description":"CLI to generate smart commit messages using AI.","maintainers":[{"name":"ragnarok22","email":"sasuke.reinier@gmail.com"}],"readme":"# GSmart\n\n**Your changes. A clear commit message.**\n\nGSmart is a CLI that turns your Git diff into an AI-generated [Conventional Commit](https://www.conventionalcommits.org/). Review the suggestion, edit it, refine it with feedback, copy it, or commit—all from your terminal.\n\n[![NPM Version](https://img.shields.io/npm/v/gsmart)](https://www.npmjs.com/package/gsmart)\n[![Test](https://github.com/ragnarok22/gsmart/actions/workflows/test.yml/badge.svg)](https://github.com/ragnarok22/gsmart/actions/workflows/test.yml)\n[![codecov](https://codecov.io/gh/ragnarok22/gsmart/graph/badge.svg?token=Bsj62uvl22)](https://codecov.io/gh/ragnarok22/gsmart)\n[![NPM Downloads](https://img.shields.io/npm/dm/gsmart)](https://www.npmjs.com/package/gsmart)\n[![License: GPL-3.0-only](https://img.shields.io/npm/l/gsmart)](https://github.com/ragnarok22/gsmart/blob/main/LICENSE)\n\n[Quick start](#quick-start) · [Everyday workflows](#everyday-workflows) · [Configuration](#configuration) · [Providers](#providers) · [Command reference](#command-reference) · [Troubleshooting](#troubleshooting)\n\n![GSmart banner with Git branching and AI icons](https://repository-images.githubusercontent.com/827045490/756cb1d5-9572-4cc2-be37-0459da007c1a)\n\n- **Start with your actual changes.** Generate a message from your staged diff and branch name, or choose files interactively.\n- **Keep the final say.** Review each suggestion before committing, or use `--yes` for a non-interactive workflow.\n- **Bring your preferred provider and model.** Save defaults for six hosted providers, or connect a local OpenAI-compatible endpoint such as Ollama or LM Studio. OpenAI supports ChatGPT subscription login and API keys.\n- **Make it sound like your project.** Share repository conventions, save personal writing instructions, and add context for individual commits.\n\n> **First visit?** Follow the quick start below. **Already using GSmart?** Jump to the [workflow recipes](#everyday-workflows), [shell completions](#shell-completions), or [release notes](https://github.com/ragnarok22/gsmart/blob/main/CHANGELOG.md).\n\n## Quick start\n\nYou'll need **Node.js 22.12.0+**, **Git 2.25+**, and either an account with one of the [supported providers](#providers) or a [local inference server](#local-inference-and-custom-endpoints). Run GSmart inside the Git repository you're working on.\n\n### 1. Install\n\nChoose your package manager:\n\n```bash\nnpm install -g gsmart\n```\n\n```bash\npnpm add -g gsmart\n```\n\n<details>\n<summary>Using Yarn Classic?</summary>\n\n```bash\nyarn global add gsmart\n```\n\n</details>\n\n### 2. Connect a provider\n\n```bash\ngsmart login\n```\n\nSelect a provider, then follow its sign-in flow:\n\n- **OpenAI:** choose **ChatGPT subscription** to authorize in your browser, or **API key** to paste a key.\n- **Other hosted providers:** paste an API key when prompted. See the [provider table](#providers) for links.\n- **Custom (OpenAI-compatible):** enter your API base URL and model ID. Leave the key blank for a keyless local server.\n\nCredentials are saved locally for future runs. On macOS/Linux, credential files are restricted to your user (`0600`), including existing files when GSmart starts. You can run `gsmart login` again to add another provider or update your authentication. If GSmart cannot open a browser for ChatGPT login, open the printed authorization URL manually.\n\n### 3. Generate and review\n\nStage the changes you want to describe, then run GSmart. Replace the example path with a file you've changed:\n\n```bash\ngit add src/auth.ts\ngsmart\n```\n\nA typical interaction looks like this; the generated message depends on your changes:\n\n```text\n$ gsmart\n✔ Message generated\n\nCandidate #1 (generated):\nfeat(auth): add password reset\n? What would you like to do?\n❯ Commit\n  Edit message\n  Regenerate with feedback\n  Browse / restore candidates\n  Copy message to clipboard\n  Do nothing\n```\n\n| Action                      | What happens                                                                             |\n| --------------------------- | ---------------------------------------------------------------------------------------- |\n| Commit                      | Checks staged content, then creates a local Git commit using the selected message.       |\n| Edit message                | Opens the subject and multiline body in your editor, then returns to review.             |\n| Regenerate with feedback    | Uses your feedback and current candidate to request a revised message.                   |\n| Browse / restore candidates | Compares complete messages and restores an earlier candidate without another AI request. |\n| Copy message to clipboard   | Copies the message so you can use or edit it elsewhere.                                  |\n| Do nothing                  | Ends the run, leaving your changes available for later.                                  |\n\n**Nothing staged yet?** Run `gsmart` and use the file picker to choose what to stage. If you have multiple providers configured and no saved default or explicit `--provider`, you'll also be asked which one to use.\n\n## How it works\n\n```text\nStage or select changes → Generate a message → Review → Edit, refine, restore, copy, or commit\n```\n\n1. **Read the changes.** GSmart uses your staged diff—the changes Git is ready to commit. If that diff is empty, it offers to stage files for you.\n2. **Ask your provider.** It sends the diff, current branch name, resolved commit conventions, and any custom instructions to the selected AI provider. Recent commit subjects are also sent when you enable history examples.\n3. **Choose the next step.** You review the message before committing. Commits use `git commit`, so your Git hooks still run; pushing remains a separate Git step.\n\nAlready staged part of a file with `git add -p`? GSmart uses that staged diff. Other unstaged edits are left out. Files staged through the interactive picker stay staged if you choose **Copy** or **Do nothing**.\n\n### A quick guide to Conventional Commits\n\nThe format makes a project's history easier to scan:\n\n```text\nfeat(auth): add password reset\n│    │     └─ Short description of the change\n│    └─────── Optional scope: the area affected\n└──────────── Type: the kind of change\n```\n\nCommon types include `feat` for new functionality, `fix` for a bug fix, `docs` for documentation, and `refactor` for restructuring code without changing its behavior. GSmart asks the model to follow this format; review the suggestion for accuracy before committing.\n\n**For better suggestions:** stage one logical change at a time and use a [custom prompt](#configuration) to explain context the diff cannot show.\n\n## Everyday workflows\n\n### Edit and refine a message\n\nChoose **Edit message** to change the subject and multiline body in an external editor. The first line is the subject; separate the body with a blank line. Save and close the file to return to review, then select **Commit** when satisfied.\n\nChoose **Regenerate with feedback** for targeted changes such as “shorter”, “mention the migration”, or “this fixes a bug”. Submit blank feedback for another version. Refinement reuses the selected provider and model, captured branch and diff, custom instructions, and current candidate—including manual edits.\n\nExample review session:\n\n```text\nCandidate #1 (generated):\nfeat(db): add accounts migration and initialize account records\n? What would you like to do? › Regenerate with feedback\n? What should change? › shorter; mention the migration\n✔ Message generated\n\nCandidate #2 (refined):\nfeat(db): add accounts migration\n? What would you like to do? › Edit message\n\nCandidate #3 (edited):\nfeat(db): add accounts migration\n\nPreserve existing account IDs during migration.\n? What would you like to do? › Commit\n✔ Changes committed successfully\n```\n\n**Browse / restore candidates** previews complete messages alongside the current candidate. Confirm **Restore** to select one without another AI request. History includes generated, edited, and refined messages and lasts for the current invocation only. Editing, refining, and restoring always return to review.\n\nPress **Esc** to cancel feedback or candidate browsing. Press **Ctrl+C** during a refinement request to cancel it and return to the current candidate. Errors and canceled operations preserve the current candidate and never create a commit.\n\n**SIGTERM** requests shutdown instead of returning to review. GSmart cancels the active editor or refinement operation, finishes cleanup, and exits.\n\n#### Configure your editor\n\nGSmart uses the first non-empty setting in `$VISUAL`, then `$EDITOR`. If neither is set, it uses `vi` on macOS/Linux or `notepad` on Windows. Editor arguments and quoted executable paths are supported. Configure GUI editors to wait until you close the message file:\n\n```bash\n# VS Code (Bash/Zsh)\nexport VISUAL=\"code --wait\"\n\n# Or use a terminal editor\nexport EDITOR=\"nano\"\n```\n\n```powershell\n# VS Code (Windows PowerShell)\n$env:VISUAL = \"code --wait\"\n```\n\nTo cancel editing, quit the editor without saving (for example, `:q!` in `vi`); an unchanged file leaves the current candidate selected. If you already saved changes, restore the earlier candidate from history. Editor failures keep the current candidate and display an error so you can retry. Empty or invalid edits remain selected as drafts: correct them with **Edit message**, regenerate, or restore an earlier candidate. Temporary editor files are cleaned up afterward.\n\n#### If staged content changes during review\n\nBefore committing, GSmart checks the staged content and its Git base again. If they have changed, it marks the candidate as outdated and offers to generate a fresh message using the same provider. Review that message and select **Commit** again. Earlier candidates remain available for comparison or copying; restoring or editing one does not bypass this check. Declining or canceling the refresh keeps the current candidate.\n\n### Choose a provider for this run\n\nAfter configuring it with `gsmart login`:\n\n```bash\ngsmart --provider anthropic\ngsmart --provider anthropic --model claude-haiku-4-5-20251001\n```\n\nUse the exact identifier from the [provider table](#providers). These options select a provider and model for the current run without changing saved preferences. See [provider and model defaults](#provider-and-model-defaults) to make the choice persistent.\n\n### Preview before committing\n\nGenerate a message and list the files in the analyzed diff:\n\n```bash\ngsmart --dry-run\n```\n\nDry run still makes an AI request and needs a configured provider (authentication is optional for custom endpoints). It skips committing and the final action menu. If nothing is staged, GSmart temporarily stages your selected files to read their diff, then attempts to unstage them. Existing staged changes stay staged.\n\n### Plan coherent commits from mixed changes\n\nRequest an advisory split plan for the **existing staged diff**:\n\n```bash\ngsmart plan --staged\ngsmart plan --staged --provider anthropic --model claude-haiku-4-5-20251001\ngsmart plan --staged --context-budget 16384 --show-context\n```\n\n`--staged` explicitly selects the scope: all staged changes throughout the repository, including when run from a subdirectory. Unstaged and untracked content is not included. Planning, reading the plan, and canceling with Ctrl+C leave HEAD, the index, and working-tree files unchanged. An empty staged diff is an error.\n\nThe plan suggests Conventional Commit messages, identifies the files or hunks assigned to each commit, explains the grouping, and lists ordering dependencies and uncertainties. A coherent diff can receive one commit. For example, a dependency update coupled to a retry feature could produce:\n\n```text\nStaged commit plan (advisory)\n2 proposed commit(s). Scope: captured staged diff only.\nRepository unchanged. Review grouping and ordering; independent applicability/builds are not guaranteed.\nMixed concerns within a hunk or whole-file unit require manual splitting; each unit is assigned intact here.\n\n1. [deps] build(deps): update retry library\n   Why: Keep the dependency manifest and lockfile in sync.\n   - f1.h1: \"package.json\" — modified, source; @@ -12,3 +12,3 @@\n   - f2: \"pnpm-lock.yaml\" — modified, lockfile; whole file (keep together)\n\n2. [retry] feat(api): retry transient request failures\n   Why: Group the retry implementation with its regression tests.\n   - f3.h1: \"src/request.ts\" — modified, source; @@ -20,7 +20,12 @@\n   - f4: \"test/request.test.ts\" — added, source; whole file (keep together)\n   Depends on [deps]: Uses the newly introduced retry API.\n   Review: Verify retry timing and failure behavior before committing.\n\nAccounting: 4 change unit(s) assigned exactly once; 0 excluded unit(s) listed for manual review.\n```\n\nChange IDs and hunk ranges refer to the captured staged snapshot. Ordinary modified source files are identified by hunk. Renames/copies (including their original paths), additions, deletions, binaries, mode changes, submodule updates, lockfiles, and generated files are kept as whole-file units. A file assigned across several commits is explicitly marked for manual splitting. Mixed concerns inside one hunk or whole-file unit also need manual review; the plan does not provide executable patches. Review dependencies and make the intended staging selections yourself before committing.\n\nEvery included unit must appear exactly once. Invalid responses with missing, duplicated, or invented IDs, malformed messages, or invalid dependency ordering fail instead of displaying a partial plan. GSmart also checks the staged snapshot again before displaying the result; if staging, HEAD, or the branch changed during generation, rerun the command.\n\nPlanning uses the configured provider, model, repository conventions, language, and optional history examples. Provider selection is prompt-free: explicit `--provider`, saved default, then the first configured provider. `--prompt`, `--language`, `--history-examples`, and the [context options](#large-diffs-and-ai-context) are supported. The human-readable plan goes to stdout; diagnostics, debug output, and `--show-context` go to stderr. Planning rejects `--yes`, `--dry-run`, `--stage`, `--commit`, `--stdin`, `--branch`, and `--output`.\n\n**Large or excluded changes:** the complete ID inventory is retained even when diff context is condensed or summarized, and affected groups receive a review note. Excluded paths and contents are not sent to the provider; those files appear separately as unassigned manual-review items with an explicit accounting total. If all files are excluded, the result lists only manual-review items and makes no AI request; no configured provider, credentials, model, or endpoint is required. This applies to CLI and repository exclusions, and the local result still checks snapshot freshness before display. If the inventory cannot fit, increase `--context-budget`, shorten instructions/history, or plan a smaller staged scope. If a plan exhausts its output allowance, increase `context.outputTokens` in `.gsmartrc.json` (and the total budget if needed), then retry. Plan quality still depends on the available diff evidence and model.\n\nExit status is `0` for a displayed plan, `1` for a configuration/Git/generation failure, `2` for invalid usage, `130` for SIGINT, and `143` for SIGTERM.\n\n### Skip the generation prompts\n\nUse `--yes` when you're ready to generate and commit in one step:\n\n```bash\ngsmart --yes --provider openai\n```\n\nA hosted login or custom endpoint must already be configured. GSmart uses an explicit `--provider`, then your saved default provider, then the first configured provider in the [table's order](#providers). Provider selection, model resolution, and model-specific context-budget validation happen before file selection or auto-staging.\n\n`--yes` skips message review and editing. Invalid messages, changed staged content, or an unverifiable staged snapshot stop the command with exit status `1` before committing. Correct the reported issue and rerun GSmart.\n\nInitial generation failures and failed commits also exit with status `1`, so automation can detect them. A failed commit displays Git's diagnostic (including hook failures) and attempts to copy the generated message to the clipboard; if copying fails, it prints the message for recovery.\n\n| Command                  | If a staged diff exists | If nothing is staged                          | Creates a commit? |\n| ------------------------ | ----------------------- | --------------------------------------------- | ----------------- |\n| `gsmart`                 | Uses it                 | Prompts you to select files to stage          | If you choose it  |\n| `gsmart --dry-run`       | Uses it                 | Prompts, temporarily stages, then unstages    | No                |\n| `gsmart --yes`           | Uses it                 | Stages all detected changes                   | Automatically     |\n| `gsmart --yes --dry-run` | Uses it                 | Temporarily stages all changes, then unstages | No                |\n\n**The staging rule:** an existing staged diff always takes priority. `--yes` only auto-stages all detected changes when that diff is empty. Dry-run cleanup reports a warning if files could not be unstaged.\n\n### Scripting, editors, and hooks\n\nUse `--output message` or `--output json` for a prompt-free generation workflow. These modes read the existing staged diff by default and leave the index, working tree, and HEAD untouched. An empty index is an error; files are never selected or staged implicitly.\n\n```bash\n# Capture only the commit message, preserving multiline output\nmessage=$(gsmart --output message) || exit $?\nprintf '%s\\n' \"$message\"\n\n# Save one machine-readable result, including failures\ngsmart --output json > result.json\n\n# Generate from a supplied diff, including outside a Git repository\ngsmart --stdin --branch feature/SHOP-142 --output json < changes.patch\n\n# Describe unstaged tracked changes without staging them (Bash/Zsh)\nset -o pipefail\ngit diff --no-ext-diff --no-textconv --no-color | gsmart --stdin\n\n# Explicit staging and committing are independent\ngsmart --stage --output message          # Stage all changes and generate only\ngsmart --commit --output json            # Generate and commit existing staged changes\ngsmart --stage --commit --output json    # Stage all, generate, and commit\n```\n\n`--stdin`, `--branch`, `--stage`, and `--commit` also select this noninteractive workflow; output defaults to `message`. These flags apply only to generation, including the compatibility alias `gsmart generate`.\n\n- **Output:** message mode writes only the generated message with a final newline to stdout. On failure stdout is empty. JSON mode writes exactly one JSON object followed by a newline, on success or failure. Diagnostics, configuration-loader logging, and `--debug` output go to stderr; greetings, update notices, holiday messages, spinners, and menus are suppressed. Explicit `--help` and `--version` requests still print their normal text instead of a generation result.\n- **Input:** `--stdin` reads UTF-8 until EOF, up to 64 MiB. Empty input and terminal input are errors. It neither requires Git nor infers a branch; `--branch` supplies optional branch context. Repository conventions and history settings apply when the current directory is inside a repository; otherwise personal/default conventions and CLI overrides apply. It cannot be combined with `--stage` or `--commit`.\n- **Provider:** selection follows explicit `--provider` → saved default → first configured provider in the [provider table](#providers). Missing configuration fails immediately with setup guidance. Machine workflows never prompt to select a provider or enlarge the context budget; context failures include retry guidance.\n- **Staging:** `--stage` stages all tracked and untracked changes throughout the repository, even when some changes were already partially staged. Configuration is validated first. Explicitly staged changes remain staged if subsequent generation or committing fails.\n- **Committing:** `--commit` verifies the original staged snapshot before committing. A changed snapshot stops the operation. Hook and signing failures preserve Git's diagnostic; JSON also retains the generated message. Machine workflows do not use the clipboard.\n\nThe existing `--yes` and `--dry-run` workflows retain the behavior in the table above. They cannot be combined with machine-workflow flags: use `--output message` for generation-only operation and explicitly add `--stage` or `--commit` as needed. In particular, legacy `--yes` auto-stages only when the index is empty, whereas explicit `--stage` always stages all changes.\n\n#### JSON result contract\n\nThe versioned schema is published as [`schemas/generation-result.schema.json`](schemas/generation-result.schema.json), also available from the npm package at `gsmart/schemas/generation-result.schema.json`.\n\nSuccess:\n\n```json\n{\n  \"schemaVersion\": 1,\n  \"ok\": true,\n  \"message\": \"fix(api): retry failed requests\",\n  \"provider\": \"custom\",\n  \"model\": \"local-model\",\n  \"input\": { \"source\": \"index\", \"branch\": \"main\" },\n  \"staged\": false,\n  \"committed\": false\n}\n```\n\n`input.source` is `index` or `stdin`; `input.branch` is `null` when no branch context is available. `staged` means explicit staging was performed by this invocation, not that the index contains staged files. `--show-context` adds the existing per-file `context` report to the JSON object; in message mode that report goes to stderr.\n\nFailure:\n\n```json\n{\n  \"schemaVersion\": 1,\n  \"ok\": false,\n  \"error\": {\n    \"code\": \"NO_INPUT\",\n    \"message\": \"No diff received on stdin. Pipe or redirect a non-empty diff.\"\n  }\n}\n```\n\nStable `error.code` values are `USAGE`, `CONFIGURATION`, `AUTHENTICATION`, `INPUT`, `NO_INPUT`, `CONTEXT`, `GENERATION`, `VALIDATION`, `GIT`, `CANCELED`, and `INTERNAL`. Human-readable error text may change. A failure after generation may include a top-level `message` for recovery. Validation failures retain the rejected candidate and include `error.diagnostics`: entries have `code`, `severity` (`1` warning, `2` error), and `message`, with optional one-based `line`, configuration `source`, and imported `rule`. Warnings alone permit success and are printed to stderr. Metadata-overflow errors include `error.recovery` with current/required/maximum budgets and, when possible, `suggestedBudgetTokens`.\n\n| Exit status | Meaning in machine workflows                                                          |\n| ----------- | ------------------------------------------------------------------------------------- |\n| `0`         | Generation and any requested commit succeeded                                         |\n| `1`         | Configuration, authentication, input, context, generation, Git, or unexpected failure |\n| `2`         | Invalid arguments or incompatible options                                             |\n| `130`       | Canceled by SIGINT (Ctrl+C)                                                           |\n| `143`       | Canceled by SIGTERM                                                                   |\n\nSIGINT/SIGTERM cancel stdin reading or the active AI request and emit a failure result. Completed explicit staging remains in the index. Check exit status and `ok` before using a message:\n\n```bash\nif result=$(gsmart --output json); then\n  printf '%s\\n' \"$result\" | jq -r '.message'\nelse\n  status=$?\n  printf '%s\\n' \"$result\" | jq -r '.error.message' >&2\n  exit \"$status\"\nfi\n```\n\nFor an optional `.git/hooks/prepare-commit-msg` integration, generate from the existing index and let Git perform the commit:\n\n```sh\n#!/bin/sh\n# Preserve messages supplied by -m/-F, merges, and other explicit sources.\n[ -z \"${2:-}\" ] || exit 0\nmessage=$(gsmart --output message) || exit $?\nprintf '%s\\n' \"$message\" > \"$1\"\n```\n\n### Give one commit extra context\n\nExplain the intent behind a change:\n\n```bash\ngsmart --prompt \"This fixes checkout retries after a payment timeout; reference SHOP-142.\"\n```\n\nThis replaces repository or saved personal custom instructions for this run. Structured conventions such as allowed types and length limits still apply. To reuse a style across commits, [configure repository conventions or save a default prompt](#configuration).\n\n### Stay up to date\n\nUse the package manager you installed with:\n\n```bash\n# npm\nnpm install -g gsmart@latest\n\n# pnpm\npnpm add -g gsmart@latest\n```\n\nCheck your installation with `gsmart --version`. The [changelog](https://github.com/ragnarok22/gsmart/blob/main/CHANGELOG.md) covers new features, model updates, fixes, and runtime requirement changes.\n\n## Configuration\n\n### Provider and model defaults\n\nUse the `gsmart config` menu to save a default provider, choose a model, or configure a custom endpoint. The equivalent flags work without interactive prompts:\n\n```bash\ngsmart config --default-provider anthropic\ngsmart config --provider anthropic --model claude-haiku-4-5-20251001\ngsmart config --show\n\n# One invocation; does not change the saved settings\ngsmart --provider openai --model gpt-5-codex --dry-run\n\n# Return to automatic provider selection or a built-in model\ngsmart config --clear-default-provider\ngsmart config --provider anthropic --clear-model\n```\n\nProvider and prompt settings can be updated together. Add `--show` to inspect the saved result:\n\n```bash\ngsmart config --default-provider anthropic --add-custom-prompt \"Use Spanish\" --show\n```\n\nIn the **Set preferred model** menu, the current model is displayed for reference. Submit blank input to clear it, or press Esc to keep it.\n\nSelection precedence is:\n\n| Setting  | First choice          | Second choice                         | Fallback                                                                                                   |\n| -------- | --------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------- |\n| Provider | Explicit `--provider` | Saved default provider                | One configured provider automatically; a chooser if several exist; first configured provider under `--yes` |\n| Model    | Explicit `--model`    | Saved model for the selected provider | [Built-in model](#which-models-does-gsmart-use), with a separate ChatGPT OAuth fallback                    |\n\nAn explicit or saved provider must be configured; GSmart reports setup instructions rather than silently choosing another provider. A `custom` endpoint is configured when it has a valid base URL and a saved model (or a `--model` override). It does not need a hosted-provider login. Custom endpoints have no built-in model because model IDs depend on the server.\n\nModel IDs are trimmed and must be nonempty. Availability is checked by the provider during generation, so new or private models do not need to be added to GSmart's source code. `--model` does not change the API operation or authentication mode. Provider and model selection remain the same during refinement and staged-change regeneration.\n\n### Local inference and custom endpoints\n\nThe `custom` provider uses **OpenAI-compatible Chat Completions** (`POST <base-url>/chat/completions`). Configure the base URL, including `/v1` when required, rather than the full operation URL. You can save one custom endpoint per configuration directory; use `GSMART_CONFIG_DIR` for separate profiles.\n\n#### Ollama\n\nInstall [Ollama](https://ollama.com/), start its server (`ollama serve`, or the desktop app), and download a model. With the server running:\n\n```bash\nollama pull llama3.2\ngsmart config --provider custom \\\n  --base-url http://localhost:11434/v1 \\\n  --model llama3.2 --clear-api-key\ngsmart config --default-provider custom\n\n# Run inside a Git repository with staged changes\ngsmart --dry-run\n```\n\nThe local Ollama server does not require a key. Use the exact installed model ID, including its tag. Ollama's native `/api/chat` endpoint is not the OpenAI-compatible URL. See [Ollama's compatibility documentation](https://docs.ollama.com/api/openai-compatibility).\n\n#### LM Studio\n\nDownload and load a text-generation model in [LM Studio](https://lmstudio.ai/), then start the server from its Developer tab. With the default port and authentication disabled:\n\n```bash\n# Find the model identifier returned by your server\ncurl http://localhost:1234/v1/models\n\n# Replace MODEL_ID with that identifier\ngsmart config --provider custom \\\n  --base-url http://localhost:1234/v1 \\\n  --model MODEL_ID --clear-api-key\ngsmart config --default-provider custom\ngsmart --dry-run\n```\n\nSee [LM Studio's OpenAI-compatible endpoints](https://lmstudio.ai/docs/developer/openai-compat). If server authentication is enabled, configure its token instead of `--clear-api-key`.\n\n#### Optional authentication and compatibility\n\n```bash\n# Set the custom server's bearer token; hosted keys are configured through login\ngsmart config --provider custom --api-key YOUR_ENDPOINT_KEY\n\n# Remove authentication; requests will contain no Authorization header\ngsmart config --provider custom --clear-api-key\n\n# Remove the URL, model, key, and default-provider selection if it points to custom\ngsmart config --clear-custom-endpoint\n```\n\nYou can also choose **Custom (OpenAI-compatible)** in `gsmart login`, or **Configure custom / local endpoint** in `gsmart config`, to enter the key through a password prompt. A blank key clears any previous custom key. Custom keys have no hosted-provider prefix or minimum-length requirement. Custom requests use only the custom key; they never inherit OpenAI API keys or ChatGPT tokens.\n\nThe server must accept text system/user messages and return a standard Chat Completions response. GSmart's custom integration does not use the Responses API, native Ollama/LM Studio APIs, legacy text completions, or automatic protocol detection. A Responses-only model needs a provider/API integration that supports it. Local models must be downloaded/loaded separately and have enough context for the diff and instructions. Model quality, context limits, and hardware determine results and latency; increase `GSMART_TIMEOUT` for slow inference.\n\n### Save your preferred commit style\n\nUse `gsmart config` for the interactive menu, or set instructions directly:\n\n```bash\ngsmart config --add-custom-prompt \"Use imperative mood, keep the subject concise, and use directory names as scopes.\"\n\n# Read your saved prompt\ngsmart config --show\n\n# Clear it and return to the built-in instructions\ngsmart config --clear-custom-prompt\n```\n\nCustom instructions are selected in this order:\n\n1. A nonempty `--prompt` for the current run.\n2. The repository's `instructions` setting, if present in `.gsmartrc.json`.\n3. Your saved default prompt.\n4. Built-in instructions alone.\n\nThe selected text is added to the resolved Conventional Commits instructions. These custom-instruction sources replace each other rather than concatenate. Repository `\"instructions\": \"\"` explicitly clears inherited personal instructions. `config --show` displays the saved personal prompt and provider/model preferences, with authentication status but no credential values.\n\n### Shared repository conventions\n\nCreate and commit `.gsmartrc.json` at your **Git root**. GSmart uses that same file from the root or any nested directory, including in Git worktrees. Nested `.gsmartrc.json` files do not override the root file.\n\n```json\n{\n  \"$schema\": \"https://raw.githubusercontent.com/ragnarok22/gsmart/main/schemas/gsmartrc.schema.json\",\n  \"types\": [\"feat\", \"fix\", \"docs\", \"refactor\", \"test\", \"chore\"],\n  \"scopes\": [\"cli\", \"utils\", \"deps\"],\n  \"scope\": \"optional\",\n  \"headerMaxLength\": 72,\n  \"subjectMaxLength\": 60,\n  \"language\": \"en\",\n  \"tickets\": {\n    \"prefixes\": [\"APP-\"],\n    \"required\": false,\n    \"placement\": \"footer\",\n    \"footerToken\": \"Refs\"\n  },\n  \"body\": {\n    \"presence\": \"optional\",\n    \"maxLineLength\": 100,\n    \"instructions\": \"Explain why the change is needed when it is not obvious.\"\n  },\n  \"breakingChanges\": {\n    \"requireFooter\": true,\n    \"instructions\": \"Describe the impact and any migration steps.\"\n  },\n  \"instructions\": \"Use imperative mood and describe observable changes.\",\n  \"commitlint\": true,\n  \"history\": { \"enabled\": false, \"limit\": 5 }\n}\n```\n\nThe [JSON Schema](schemas/gsmartrc.schema.json) is included in the npm package as `gsmart/schemas/gsmartrc.schema.json`. Use the `$schema` URL for editor support; runtime validation uses the bundled schema without a network request. All settings are optional. Unknown properties, malformed JSON, and invalid values stop generation with the config path and setting to correct, before file selection or auto-staging.\n\n| Setting               | Meaning and default                                                                                                                                                                                                                                                                                  |\n| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `types`               | Allowed types; defaults to `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert`. `null` allows any Conventional Commit type.                                                                                                                                 |\n| `scopes`              | Allowed scopes, or `null` for unrestricted scopes (default). For multiple scopes separated by `/`, `\\` or `,`, each component must be allowed.                                                                                                                                                       |\n| `scope`               | `optional` (default), `required`, or `forbidden`.                                                                                                                                                                                                                                                    |\n| `headerMaxLength`     | Maximum length of the entire first line, including type and scope. Positive integer or `null` (default: no limit).                                                                                                                                                                                   |\n| `subjectMaxLength`    | Maximum length of the description **after** `type(scope): `. Positive integer or `null` (default: no limit).                                                                                                                                                                                         |\n| `language`            | Output language tag, such as `en` (default), `es`, or `pt-BR`. Type tokens, scopes, ticket IDs and footer labels retain their configured spelling.                                                                                                                                                   |\n| `tickets`             | `prefixes` (default `null`, unrestricted), `required` (default `false`), `placement` (`subject`, `body`, or default `footer`), and `footerToken` (default `Refs`). Configured prefixes are followed by numeric IDs. Supply IDs in the branch, changes, or prompt; historical IDs must not be reused. |\n| `body`                | `presence` (`optional`, `required`, `forbidden`), `leadingBlank` (default `true`), `maxLineLength` (default `null`; URL-containing lines are exempt), and optional `instructions`.                                                                                                                   |\n| `footer.leadingBlank` | Separate footers from preceding content with a blank line (default `true`).                                                                                                                                                                                                                          |\n| `breakingChanges`     | `requireFooter` (default `false`) requires a `BREAKING CHANGE:` footer for breaking changes even with a `!` header; `instructions` supplies migration/impact guidance.                                                                                                                               |\n| `instructions`        | Additional generation instructions, up to 10,000 characters. Body and breaking-change instructions have the same limit.                                                                                                                                                                              |\n| `commitlint`          | Import compatible rules from a root commitlint configuration (default `true`). Set to `false` to skip discovery and loading.                                                                                                                                                                         |\n| `history`             | `enabled` (default `false`) and `limit` (1–20, default `5`).                                                                                                                                                                                                                                         |\n| `context`             | Request budgets, context exclusions, generated-file patterns, and opt-in AI summarization. See [Large diffs and AI context](#large-diffs-and-ai-context).                                                                                                                                            |\n\nConfiguration is merged **per setting**, from highest to lowest priority:\n\n1. Explicit CLI options (`--prompt`, `--language`, `--history-examples`, and context overrides).\n2. `.gsmartrc.json` settings.\n3. Compatible rules imported from the repository's commitlint configuration.\n4. User settings (currently the saved default prompt).\n5. Built-in defaults.\n\nNested objects merge by individual field; arrays replace rather than concatenate. Explicit `false`, `null` where allowed, and empty instruction strings override inherited values. CLI options override their corresponding settings, not the entire repository configuration. Structured conventions take precedence over conflicting free-text instructions or refinement feedback. The resolved settings are reused throughout generation, refinement, and staged-change regeneration.\n\nInspect the effective configuration, including source paths, imported rule severity, and compatibility diagnostics:\n\n```bash\ngsmart config --show-effective\ngsmart config --show-effective --language es --history-examples 0\n```\n\nRun `--show-effective` separately from flags that save or clear settings. Conflicting update options are rejected before any settings are saved.\n\nConventions guide AI generation and deterministic [message validation](#message-validation). Review the result for accuracy; Git hooks still run and can enforce additional project rules.\n\nRepository configuration accepts no API keys, OAuth tokens, or provider credentials. Login continues to use the active user-level store selected by `GSMART_CONFIG_DIR`; `gsmart reset` clears that store. Repository files are maintained through Git.\n\n#### Commitlint compatibility\n\nGSmart uses `@commitlint/load` to resolve presets and synchronous/asynchronous rule factories. Referenced presets and plugins must be installed in your repository. JavaScript and TypeScript configuration executes through the standard loader when integration is enabled.\n\nDiscovery is limited to the Git root, in this order: the `commitlint` field in `package.json`; `.commitlintrc`, `.commitlintrc.json`, `.commitlintrc.yaml`, `.commitlintrc.yml`; `.commitlintrc.{js,cjs,mjs}`; `commitlint.config.{js,cjs,mjs}`; `.commitlintrc.{ts,cts,mts}`; `commitlint.config.{ts,cts,mts}`. Parent/global and nested configurations are not searched. `package.yaml` manifests are not a discovery source.\n\n| Rule                   | Supported form                                                                    | GSmart setting                              |\n| ---------------------- | --------------------------------------------------------------------------------- | ------------------------------------------- |\n| `type-enum`            | `always` with a string array                                                      | `types`                                     |\n| `scope-enum`           | `always` with a string array, using commitlint's default `/`, `\\`, `,` delimiters | `scopes`                                    |\n| `scope-empty`          | `always` / `never`                                                                | `scope: \"forbidden\"` / `\"required\"`         |\n| `header-max-length`    | `always` with a positive integer or `Infinity`                                    | `headerMaxLength`                           |\n| `subject-max-length`   | `always` with a positive integer or `Infinity`                                    | `subjectMaxLength`                          |\n| `body-empty`           | `always` / `never`                                                                | `body.presence: \"forbidden\"` / `\"required\"` |\n| `body-leading-blank`   | `always` / `never`                                                                | `body.leadingBlank: true` / `false`         |\n| `body-max-line-length` | `always` with a positive integer or `Infinity`                                    | `body.maxLineLength`                        |\n| `footer-leading-blank` | `always` / `never`                                                                | `footer.leadingBlank: true` / `false`       |\n\nSeverity `0` disables import of that rule; severities `1` and `2` supply generation conventions and retain warning/error metadata for validation. Empty enum arrays map to `null` (unrestricted), and `Infinity` removes a length limit. Disabled rules contribute no override. Explicit `.gsmartrc.json` values replace mapped rules, including their severity metadata.\n\nImported values must also fit the schema's bounds (for example, up to 100 enum entries with 100 characters per name). Other rules, inverted enum/length rules, and object-form `scope-enum` values are not translated. Their active rule names appear in `config --show-effective` diagnostics and `--debug` logs. Custom parser formats, plugin behavior, and commitlint ignore predicates do not change GSmart's Conventional Commit format. Invalid config or missing presets produce an actionable load error.\n\n#### Output language and history examples\n\n```bash\n# Language override for a single run\ngsmart --language es\ngsmart --language pt-BR\n\n# Use five recent subjects as style examples\ngsmart --history-examples 5\n\n# Disable examples even when the repository enables them\ngsmart --history-examples 0\n```\n\nLanguage changes generated commit prose, while CLI help and documentation remain in their existing language.\n\nHistory is opt-in. When enabled, GSmart reads recent non-merge commit subjects reachable from `HEAD`, bounded to **20 subjects, 200 characters each, and 4,000 subject characters total**. It excludes bodies, labels the subjects as style examples, and sends them to the selected provider alongside the diff. Explicit conventions override historical style. A repository without commits contributes no examples, and disabling history skips the history read entirely.\n\n### Message validation\n\nGenerated, edited, refined, and restored candidates use the same offline validator before they can be committed. It checks:\n\n- Nonempty Conventional Commit headers, optional scopes, and `!` breaking markers.\n- Recognizable output wrappers at the start of the output (quotes, JSON, Markdown fences around the whole message, and common model preambles before the header) and control characters.\n- Effective allowed types/scopes, scope presence, header/description lengths, body presence and line lengths, and body/footer blank-line rules.\n- Configured ticket references and breaking-change footer requirements. Both `BREAKING CHANGE:` and `BREAKING-CHANGE:` are supported, including multiline values and adjacent trailers.\n\nSchema-valid punctuation in an explicitly configured type (for example, `[bot]`, `<release>`, or `**meta`) is accepted when the parsed header type matches exactly. This exception does not apply to `types: null` or to wrappers around a configured header; all other validation rules still apply.\n\nMultiline bodies and Markdown code examples inside bodies are supported. After a valid header, body and footer prose such as “The commit message uses the configured format.” or “Let me know if…” is treated as message content, not rejected as a wrapper; it still must satisfy the configured body/footer rules. CRLF/CR line endings become LF and terminal newlines are removed consistently; meaningful whitespace and content are retained. GSmart passes `--cleanup=verbatim` to Git so cleanup settings cannot strip a validated body or Markdown hard breaks; Git hooks still run. Length limits count JavaScript UTF-16 units, matching commitlint.\n\nFooter parsing recognizes unindented `Token: value` or `Token #reference` lines outside fenced code at section boundaries. Generic colon-prefixed prose within a body paragraph stays in the body. Recognizable reference, breaking-change, and sign-off/review trailers are checked even when their required blank separator is missing. With `footer.leadingBlank: false`, trailers may follow body text directly. Subsequent lines continue a footer until another trailer starts. Trailer values must contain non-whitespace content, which can begin on a continuation line. A footer does not satisfy a required body, and breaking markers require the colon-space separator. Bare `BREAKING CHANGE`/`BREAKING-CHANGE` tokens and incorrectly spaced colons are invalid markers. Ordinary prose such as `BREAKING CHANGE handling is documented below.` remains body text or a footer continuation: it does not satisfy a required breaking footer and remains subject to the rules for its section.\n\nTicket recognition covers configured **literal prefixes followed by digits** (for example, `\"APP-\"` recognizes `APP-42`) and common `#42` references. Bare uppercase `PROJ-42` shapes are recognized in reference footers, or in an explicitly required subject/body ticket section when prefixes are unrestricted. This avoids treating ordinary prose such as `UTF-8` or `SHA-256` as tickets by default. Recognized tickets must use an allowed prefix when configured, the configured placement, and the configured footer label. Ticket IDs inside backtick- or tilde-fenced examples, including fence info strings and footer continuations, are ignored: they neither satisfy required tickets nor trigger ticket-rule errors. References after a closing fence are checked normally; an unclosed fence keeps the remaining lines excluded from ticket checks. Fenced body examples still count toward body presence and line-length rules. For other ticket formats, configure their literal prefix. Validation cannot prove an ID was supplied by the diff or branch, detect an unmarked breaking change, or determine semantic accuracy, language quality, or arbitrary free-text instructions. Review those against the diff; the [evaluation guide](test-support/evaluations/README.md) provides a repeatable rubric. Syntactically valid prose is not proof of a faithful message.\n\nRule precedence matches generation. Imported commitlint severity `1` produces a visible warning; severity `2`, built-in syntax failures, and explicit repository rules block committing. An explicit setting replaces the imported rule's severity. Unsupported commitlint rules remain covered by the [compatibility contract](#commitlint-compatibility), rather than being silently treated as enforced.\n\nIn interactive review, invalid drafts stay available for **Edit message**, **Regenerate with feedback**, and candidate history. **Commit** is disabled until the candidate passes. For example:\n\n```text\nCandidate #1 (generated):\nAdded accounts\nInvalid commit message:\nerror [header] line 1: Use <type>[optional scope][!]: <description>, for example: feat(api): add pagination.\nEdit the message or regenerate with feedback before committing. ...\n? What would you like to do? › Edit message\n\nCandidate #2 (edited):\nfeat(accounts): add account creation\n? What would you like to do? › Commit\n✔ Changes committed successfully\n```\n\nAutomation never silently accepts invalid output: `--yes` exits `1` without committing; `--dry-run` labels the invalid preview and exits `1`; machine message output leaves stdout empty, while JSON output returns `ok: false` with `error.code: \"VALIDATION\"`. Invalid candidates in a non-TTY session exit without a recovery prompt. Correct the message interactively or adjust the instructions/conventions and rerun. Validation does not undo files already staged by an explicitly requested staging operation.\n\n### Large diffs and AI context\n\nGSmart budgets the **complete request**: system instructions, branch, changes, custom instructions, history examples, refinement feedback, an output reserve, and request overhead. Small diffs that fit keep their full content and use one generation request.\n\nOversized diffs are reduced locally by default. Each included file keeps its path, change type, line counts, rename origin, and relevant mode/binary metadata. Small patches stay intact where possible; larger patches receive representative excerpts. Lockfiles and generated files receive at most 1 KiB of excerpts so they cannot dominate source changes. Excerpts are incomplete evidence, and the prompt tells the model not to infer unseen details. Lockfile-only, binary, rename-only, and deletion changes remain usable context.\n\n**AI summarization is opt-in.** `--summarize` allows extra requests for oversized source files. Each chunk request is independently budgeted and uses the selected model, authentication, timeout, cancellation, and retry policy. Summaries are composed within the final budget. The default limit is eight summary attempts **including retries**, in addition to final-generation attempts. If a file requires more chunks than its share of the limit, chunks are sampled across the file and its report marks the summary as partial. Large combined summaries can also be shortened for the final request. Lockfiles and generated files continue to use local compaction.\n\n```bash\n# Generate and inspect per-file context treatment without committing\ngsmart --dry-run --show-context\n\n# Set a total request budget and exclude paths from AI context\ngsmart --dry-run --context-budget 16384 --context-exclude 'vendor/**' '*.map'\n\n# Allow additional AI calls for this run\ngsmart --dry-run --summarize --show-context\n\n# Override repository opt-in; only local reduction is used\ngsmart --dry-run --no-summarize\n\n# Inspect configuration overrides and their sources\ngsmart config --show-effective --context-budget 16384 --no-summarize\n```\n\n`--show-context` prints a JSON report with the resolved budget and its source, input estimate, output/overhead reserves, summary-attempt count, and each file's treatment (`full`, `condensed`, `summarized`, or `excluded`), reason, byte sizes, and partial-coverage flag. A brief notice appears whenever files are reduced or excluded. This report describes the final context; it does not print source contents. `--dry-run` still makes the final AI request and any opted-in summary requests.\n\nAdd a `context` section to the root `.gsmartrc.json` to share settings:\n\n```json\n{\n  \"context\": {\n    \"budgetTokens\": 16384,\n    \"outputTokens\": 1024,\n    \"summarize\": false,\n    \"maxSummaryRequests\": 8,\n    \"exclude\": [\"vendor/**\"],\n    \"generated\": [\n      \"**/*.min.js\",\n      \"**/*.min.css\",\n      \"**/*.map\",\n      \"**/*.generated.*\",\n      \"**/generated/**\",\n      \"**/dist/**\"\n    ]\n  }\n}\n```\n\n| Setting              | Default and behavior                                                                                                                                                                                                   |\n| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `budgetTokens`       | `null`: resolve from the selected provider/model. An explicit integer from 1,024 to 1,048,576 overrides it; it must leave room for instructions and exceed output plus overhead. Known model windows are upper bounds. |\n| `outputTokens`       | `1024`: reserved output tokens, also passed to the provider as its output limit; configurable from 256 to 32,768. Increase it if a model exhausts its output/reasoning allowance.                                      |\n| `summarize`          | `false`: use local reduction only. `true` permits additional AI calls when needed.                                                                                                                                     |\n| `maxSummaryRequests` | `8`: maximum summary attempts per generation/refinement, including retries; range 1–64.                                                                                                                                |\n| `exclude`            | `[]`: omit matching files entirely from AI context, including summary requests. For renames/copies, both original and destination paths are checked.                                                                   |\n| `generated`          | The six patterns shown above. Recognized generated-code markers also trigger compaction. Setting `[]` disables pattern matching, but retains marker and lockfile detection.                                            |\n\nPatterns match complete repository-relative paths using `/` separators: `*` matches within a component, `**` crosses directories, `**/` also matches the root, and `?` matches one non-separator character. Other characters are literal; negation, brace expansion, and character classes are not supported. Quote CLI patterns to prevent shell expansion. Arrays replace inherited values. CLI context settings override their corresponding repository fields; `config` accepts these flags with `--show-effective` for inspection.\n\n#### Model budgets and conservative accounting\n\nKnown exact provider/model pairs use a default total budget of **32,768**, below their advertised windows:\n\n| Provider  | Model                                | Known window |\n| --------- | ------------------------------------ | ------------ |\n| OpenAI    | `gpt-4o`, `gpt-4o-mini`              | 128,000      |\n| OpenAI    | `gpt-5-codex`                        | 400,000      |\n| Anthropic | `claude-haiku-4-5-20251001`          | 200,000      |\n| Google    | `gemini-2.5-flash`, `gemini-2.5-pro` | 1,048,576    |\n\nAll other IDs, including unlisted built-in defaults and **every custom endpoint**, use an **8,192** total fallback unless overridden. A local server may configure a smaller window than the model supports; set `--context-budget` to that effective limit.\n\nWith an automatic budget, an output reserve plus framing overhead that reaches or exceeds the 32,768-token automatic cap is rejected while loading configuration, before file selection or auto-staging. Larger output reserves require an explicit larger `budgetTokens`. Model-specific limits are checked after model selection; valid model-dependent settings retain `budgetTokens: null` in the effective configuration.\n\nGSmart conservatively counts **one token per UTF-8 byte** of request text, plus **512 tokens** for request framing, then reserves `outputTokens`. This intentionally overestimates typical token usage instead of assuming four characters per token. The report is an accounting estimate, not provider billing. Custom tokenizers or server-added templates can differ; account for their overhead with a smaller configured budget.\n\n**Context exclusions and reduction never unstage files or change working-tree contents.** All selected changes still belong to the commit; only their AI representation changes. Existing staging and dry-run selection rules still apply. Git capture supports complete diffs up to 64 MiB and returns an explicit error above that limit or on read failure.\n\nIf even the file metadata cannot fit, GSmart shows the current budget and the minimum total needed, including instructions/history, output reserve, and request overhead. In an interactive terminal, it offers to increase the budget for the current session and retry the captured changes. Accepting keeps that budget for subsequent candidates without saving it to configuration. With `--yes` or noninteractive input/output, GSmart exits with a concrete `--context-budget <number>` recommendation to use with the same command.\n\nRecommendations respect known model windows and GSmart's maximum budget. If the minimum exceeds those limits, reduce context instead: use `--history-examples 0`, shorten instructions/feedback, add `--context-exclude 'path/to/exclude/**'`, or stage fewer files. For unknown models and custom endpoints, check the model/server's actual capacity before accepting an increase. The minimum budget fits metadata; additional room allows more diff excerpts. `--summarize` cannot fix metadata overflow.\n\nIf all usable context is excluded, instructions cannot fit, or an attempted summary is empty, fails, or exhausts retries, generation stops with a clear error. Increase the relevant limit, shorten instructions/history/feedback, adjust exclusions, or use `--no-summarize` to retry with local reduction. GSmart does not silently continue after a failed summary.\n\n### Environment variables\n\n| Variable            | Purpose                                        | Default                                   |\n| ------------------- | ---------------------------------------------- | ----------------------------------------- |\n| `GSMART_TIMEOUT`    | Timeout per AI generation attempt, in ms       | `30000` (30 seconds)                      |\n| `GSMART_CONFIG_DIR` | Directory for GSmart's local configuration     | Your OS's user configuration location     |\n| `VISUAL`            | Preferred editor command for message editing   | Unset                                     |\n| `EDITOR`            | Editor command when `VISUAL` is unset or blank | `vi` on macOS/Linux; `notepad` on Windows |\n\nFor example, allow up to 60 seconds per generation attempt in Bash or Zsh:\n\n```bash\nGSMART_TIMEOUT=60000 gsmart\n```\n\nInvalid or nonpositive timeout values fall back to 30 seconds. GSmart retries transient failures, including network errors, rate limits, and server errors, so a complete run can take longer than one timeout period.\n\nChatGPT streaming responses must complete successfully before becoming commit candidates. Timeouts and interrupted connections discard partial text before retrying. Explicit cancellation stops retries; responses cut short by output limits or content filtering return an error.\n\n<details>\n<summary><strong>Where settings live, separate configurations, and resetting</strong></summary>\n\nGSmart stores API keys, ChatGPT login tokens, provider/model preferences, the custom endpoint, and your default prompt in a local, user-level configuration file managed by `conf`. These settings are shared across repositories when you use the same configuration directory. Provider preferences and endpoint credentials are not read from `.gsmartrc.json`.\n\nTo keep a separate configuration, set `GSMART_CONFIG_DIR` consistently for login and generation. For example, in Bash or Zsh:\n\n```bash\nexport GSMART_CONFIG_DIR=\"$HOME/.config/gsmart-work\"\ngsmart login\ngsmart\n```\n\nTo clear the active configuration:\n\n```bash\ngsmart reset\n```\n\nThis asks for confirmation, then clears all settings in that configuration store, including provider credentials, ChatGPT login tokens, provider/model defaults, the custom endpoint, and the saved prompt. `gsmart reset --force` skips the confirmation. Resetting clears local settings; credential revocation is managed through your provider.\n\n</details>\n\n## Providers\n\nRun `gsmart login` to configure any of these providers:\n\n| Provider       | `--provider` value | Authentication                                                                          |\n| -------------- | ------------------ | --------------------------------------------------------------------------------------- |\n| OpenAI         | `openai`           | ChatGPT subscription login or [API key](https://platform.openai.com/api-keys)           |\n| Anthropic      | `anthropic`        | [API key](https://console.anthropic.com/settings/keys)                                  |\n| Google Gemini  | `google`           | [API key](https://aistudio.google.com/apikey)                                           |\n| Mistral        | `mistral`          | [API key](https://console.mistral.ai/api-keys/)                                         |\n| Fireworks AI   | `fireworks`        | [API key](https://fireworks.ai/api-keys)                                                |\n| PlataformIA    | `plataformia`      | [API key](https://console.plataformia.com/api-keys)                                     |\n| Custom / local | `custom`           | Optional bearer token; [configure URL and model](#local-inference-and-custom-endpoints) |\n\nAn explicit `--provider` takes precedence over your saved default. Without either, GSmart selects a single configured provider automatically or offers a chooser when several exist. `--yes` uses the first configured entry in the order above when no explicit or saved choice exists.\n\n**Using ChatGPT?** Choose **OpenAI → ChatGPT subscription** during login. GSmart prints an authorization URL and attempts to open it in your browser. Complete authorization on the machine running the CLI so the local callback can finish. Tokens refresh automatically; if the login expires, run `gsmart login` again.\n\nChatGPT login uses the Codex Responses endpoint with streaming and storage disabled. Its model access differs from the public OpenAI API. Saved OpenAI models and `--model` overrides must be supported by the active authentication mode; use API-key login for API-only models. Fireworks and PlataformIA use Chat Completions, while OpenAI API-key requests use Responses.\n\n<details>\n<summary id=\"which-models-does-gsmart-use\"><strong>Which models does GSmart use?</strong></summary>\n\nWhen neither `--model` nor a saved model is set, the built-in fallbacks are:\n\n| Provider             | Model ID                                                |\n| -------------------- | ------------------------------------------------------- |\n| OpenAI API key       | `gpt-5.6-luna`                                          |\n| OpenAI ChatGPT OAuth | `gpt-5-codex`                                           |\n| Anthropic            | `claude-haiku-4-5-20251001`                             |\n| Google               | `gemini-3.5-flash-lite`                                 |\n| Mistral              | `mistral-large-latest`                                  |\n| Fireworks AI         | `accounts/fireworks/models/deepseek-v4-flash`           |\n| PlataformIA          | `radiance`                                              |\n| Custom / local       | No fallback; configure a model available on your server |\n\nUse `gsmart config --provider <provider> --model <model>` to save another model, or `--model <model>` for one run. `gsmart config --show` identifies saved and built-in models. Availability depends on the provider account, authentication mode, and API operation. Consult your provider's model catalog; an unsupported model produces guidance for selecting another model.\n\n</details>\n\n## Command reference\n\nRun `gsmart` to generate a commit message. `gsmart --help` shows generation options and the available subcommands.\n\n| Command                      | Purpose                                                       |\n| ---------------------------- | ------------------------------------------------------------- |\n| `gsmart`                     | Generate a message and choose what to do with it              |\n| `gsmart plan --staged`       | Suggest coherent commits for the existing staged diff         |\n| `gsmart login`               | Configure a provider's authentication                         |\n| `gsmart config`              | Manage prompts, provider/model defaults, and custom endpoints |\n| `gsmart reset`               | Clear the active local configuration after confirmation       |\n| `gsmart completions <shell>` | Print a completion script for `bash`, `zsh`, or `fish`        |\n| `gsmart help [command]`      | Show help for a command                                       |\n\n**Generation options** — use directly with `gsmart`:\n\n| Option                            | Short | Purpose                                                               |\n| --------------------------------- | ----- | --------------------------------------------------------------------- |\n| `--provider <provider>`           | `-P`  | Choose an already-configured provider                                 |\n| `--model <model>`                 |       | Override the selected provider's saved or built-in model for this run |\n| `--prompt <prompt>`               | `-p`  | Supply cust","readmeFilename":"README.md"}