{"_id":"codecritique","_rev":"34-2e0e7276c59b158cbe1013f8770e1220","name":"codecritique","dist-tags":{"latest":"2.3.5"},"versions":{"1.0.0":{"name":"codecritique","version":"1.0.0","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@1.0.0","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"41a97e2aa86aec47348d305f2188ee43b49cd079","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-1.0.0.tgz","fileCount":40,"integrity":"sha512-3IFtw0D72qXr8ZG4y7B+qrD8H4qBzpz3Qn6Wqz+6b5WgjBDhBoGQM9AsrkoTZkoYaeKjEemgzufk31OJOlv6ng==","signatures":[{"sig":"MEUCICBt8RHCjGVPS1J53UNrWTL+rF1KyT2BQHKRJ24DuNgUAiEA2m1CMWTSY13CMcoYi2WivatV3cOWb3XYQHysgZyzMjQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":649999},"main":"src/index.js","type":"module","volta":{"npm":"10.9.2","node":"22.12.0"},"engines":{"npm":"10.x","node":"22.x"},"gitHead":"1e73668a95cf05c25b27f3d5c9b01772e4c0a83d","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"cosmocoder","email":"cosmocoder@gmail.com"},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"10.9.2","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"22.12.0","dependencies":{"glob":"13.0.0","chalk":"5.6.2","dotenv":"17.2.3","commander":"14.0.1","fastembed":"2.0.0","lru-cache":"11.2.2","minimatch":"10.1.1","cli-spinner":"0.2.10","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.22.3","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.1.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.0.16","globals":"16.5.0","prettier":"3.7.1","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.9.1","@vitest/coverage-v8":"4.0.16","eslint-plugin-import":"2.32.0","@vitest/eslint-plugin":"1.3.23"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_1.0.0_1769959908499_0.6425653981626649","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"codecritique","version":"1.1.0","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@1.1.0","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"490a6db07b26a6b64004fe026aaab5a24c54d82c","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-1.1.0.tgz","fileCount":21,"integrity":"sha512-BXKGoGYiQQHVOCfiPUCWr6ZoiZgJBNAvDnTU8D+ZiFiYNzv2C5R9gPbh1vPv//fiElpBMlY0/PIl482kQcXOQg==","signatures":[{"sig":"MEUCIGBy4imOYhQRhHBYvx97w37u3+WRhRESRZVIEM9WsrmxAiEA991hZzLu6cUDhAXzThIaOzrBdx42tXGYv9RWNBUhZ00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":523017},"main":"src/index.js","type":"module","volta":{"npm":"10.9.2","node":"22.14.0"},"engines":{"npm":"10.x","node":">=22.14.0"},"gitHead":"ddfa3e35ed5d9f5976242c9cd3b9ff92a0e0fb4f","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"22.14.0","dependencies":{"glob":"13.0.0","chalk":"5.6.2","dotenv":"17.2.3","commander":"14.0.1","fastembed":"2.0.0","lru-cache":"11.2.2","minimatch":"10.1.1","cli-spinner":"0.2.10","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.22.3","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.1.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.0.16","globals":"16.5.0","prettier":"3.7.1","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.9.1","@vitest/coverage-v8":"4.0.16","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.3","@vitest/eslint-plugin":"1.3.23","@semantic-release/github":"12.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_1.1.0_1770033836106_0.7636040479048571","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"codecritique","version":"1.1.1","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@1.1.1","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"764b749d7f8f401269c73edba69cd7bf292f7513","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-1.1.1.tgz","fileCount":21,"integrity":"sha512-QA7bFPFqbU1V4O7iwF1PIe6qBp/GKKwfkBtcvCrY5jrLDK2EM8GC99ORXwJvncW0dkjP03C5heUDdUUjhbX5AA==","signatures":[{"sig":"MEQCIBRd6Ydi9f4SxJh5Tjbgmc93WeUp3qWSkc72G7sqsrVKAiBLbwrH14fII2BzhvPlwBaxxLy38+uteKc4sRmoG5FIJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":524982},"main":"src/index.js","type":"module","volta":{"npm":"10.9.2","node":"22.14.0"},"engines":{"npm":"10.x","node":">=22.14.0"},"gitHead":"b65da556dafec30a4097c675c6d16488483d209d","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"22.14.0","dependencies":{"glob":"13.0.0","chalk":"5.6.2","dotenv":"17.2.3","commander":"14.0.1","fastembed":"2.0.0","lru-cache":"11.2.2","minimatch":"10.1.1","cli-spinner":"0.2.10","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.22.3","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.1.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.0.16","globals":"16.5.0","prettier":"3.7.1","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.9.1","@vitest/coverage-v8":"4.0.16","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.3","@vitest/eslint-plugin":"1.3.23","@semantic-release/github":"12.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_1.1.1_1770111264645_0.3166905732499601","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"codecritique","version":"1.2.0","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@1.2.0","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"8eed5dcb3caa40a81453693f064683f37276ee4a","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-1.2.0.tgz","fileCount":22,"integrity":"sha512-TSLdNf3YRftofZ/ISiXysK0yVxUZFC2AqKTYZlrYUJBStBpwXcOhdv+V0bhFFCfq6uF23kKvL/eyhu6ul4W+fA==","signatures":[{"sig":"MEYCIQCIZiTWy76OE/BH/p+uoQoLaByK1W9M6Cqw4EktedEHIgIhANyQwS+Q/wc7SldsRQUZRkJhnQBobmzJzQAf9qW4RCsp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":518851},"main":"src/index.js","type":"module","volta":{"npm":"10.9.2","node":"22.14.0"},"engines":{"npm":"10.x","node":">=22.14.0"},"gitHead":"bd3ba31b678a939035181dbba1618d3e44489f6a","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"22.14.0","dependencies":{"glob":"13.0.0","chalk":"5.6.2","dotenv":"17.2.3","commander":"14.0.1","fastembed":"2.0.0","lru-cache":"11.2.2","minimatch":"10.1.1","cli-spinner":"0.2.10","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.22.3","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.1.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.0.16","globals":"16.5.0","prettier":"3.7.1","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.9.1","@vitest/coverage-v8":"4.0.16","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.3","@vitest/eslint-plugin":"1.3.23","@semantic-release/github":"12.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_1.2.0_1770484676815_0.45739246035337655","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"codecritique","version":"1.2.1","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@1.2.1","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"e685cb5f1b84a082edad10264ba36f353f3395fa","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-1.2.1.tgz","fileCount":22,"integrity":"sha512-nuWzHTM0/sjtYu0FWFbGHEztWbe7zvWLUaXjyZrWQOVXWcJ94IISQtwTuh3rAvC6/SH+IUVu/fsQLvummn3MNw==","signatures":[{"sig":"MEUCIQC9usDQ77ocdzOEmZjEnkeoesYYrSS6LJBQgMZC2u6iLwIgZXp7K9dQELMzEXBzlXiR5DvkfHhNtb+ZXFM9g5XnTGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":518804},"main":"src/index.js","type":"module","volta":{"npm":"10.9.2","node":"22.14.0"},"engines":{"npm":"10.x","node":">=22.14.0"},"gitHead":"88ede2dbb85e063a189198cd3a61473be470038c","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"22.14.0","dependencies":{"glob":"13.0.0","chalk":"5.6.2","dotenv":"17.2.3","commander":"14.0.1","fastembed":"2.0.0","lru-cache":"11.2.2","minimatch":"10.1.1","cli-spinner":"0.2.10","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.22.3","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.1.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.0.16","globals":"16.5.0","prettier":"3.7.1","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.9.1","@vitest/coverage-v8":"4.0.16","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.3","@vitest/eslint-plugin":"1.3.23","@semantic-release/github":"12.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_1.2.1_1770817693267_0.3508224759136567","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"codecritique","version":"1.2.2","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@1.2.2","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"ee1b28746b84ac35d0596fec9d8f98372db4d9f6","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-1.2.2.tgz","fileCount":22,"integrity":"sha512-8EFMkzZHtbhC8l2j6s/on2H4IJ4RdAvEeQjRowjW6vxkjVufSlLbV3kX/w2r84DnJY9EI+R0Hb75HymaHyDqXg==","signatures":[{"sig":"MEQCIHiKcK9llEofZTyAOWV56mp5PGOF6VaXpL+uWc7HMa3IAiAWxRV6E32gErW1BXwCIqLTS1Xe1SdAAULvhmqORK6ShA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":519924},"main":"src/index.js","type":"module","volta":{"npm":"10.9.2","node":"22.14.0"},"engines":{"npm":"10.x","node":">=22.14.0"},"gitHead":"aaf8cd31525766a1afc47d7bc6779dbd526e8518","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"22.14.0","dependencies":{"glob":"13.0.0","chalk":"5.6.2","dotenv":"17.2.3","commander":"14.0.1","fastembed":"2.0.0","lru-cache":"11.2.2","minimatch":"10.1.1","cli-spinner":"0.2.10","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.22.3","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.1.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.0.16","globals":"16.5.0","prettier":"3.7.1","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.9.1","@vitest/coverage-v8":"4.0.16","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.3","@vitest/eslint-plugin":"1.3.23","@semantic-release/github":"12.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_1.2.2_1772655303998_0.6633327089298424","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"codecritique","version":"1.2.3","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@1.2.3","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"2b953b8c04f111441016f12f4c4cf6099d4459a8","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-1.2.3.tgz","fileCount":22,"integrity":"sha512-O7bSRx2yDT0rUfCiTfPH8c1yvmMVGYNa4Mv4xWbxyC6o6pWO7Z66QwTEEauvrVCm7XVLB4VGMcY+E8T0mGWkTQ==","signatures":[{"sig":"MEUCIQCB9DXh+MOLO3FoR9gG1bxGxOUFpKO4t9C6bb2q22r5JAIgR//ZuKw9rR7Aft6gN6d4D8xKS/myjEQRnvDE6K/rKbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":529108},"main":"src/index.js","type":"module","volta":{"npm":"10.9.2","node":"22.14.0"},"engines":{"npm":"10.x","node":">=22.14.0"},"gitHead":"58787c0ece03c3b4edf376446e21b004b8983a17","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"22.14.0","dependencies":{"glob":"13.0.0","chalk":"5.6.2","dotenv":"17.2.3","commander":"14.0.1","fastembed":"2.0.0","lru-cache":"11.2.2","minimatch":"10.1.1","cli-spinner":"0.2.10","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.22.3","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.1.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.0.16","globals":"16.5.0","prettier":"3.7.1","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.9.1","@vitest/coverage-v8":"4.0.16","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.3","@vitest/eslint-plugin":"1.3.23","@semantic-release/github":"12.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_1.2.3_1772997168124_0.9189064748424001","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"codecritique","version":"1.2.4","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@1.2.4","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"9b352f6ed94c8d5b33cdcbd17ab806d9920a5e47","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-1.2.4.tgz","fileCount":22,"integrity":"sha512-QJQ0Mf+xgxbKLFDaegr46Fvi1pEwImTAQ/lzIBNFKoaUu8KcOv2BNJMUSshmmLlWMH2crU0fWQRzevnzO0vzIA==","signatures":[{"sig":"MEUCIQC7f2XLfFcVxj3Az2HMzy3+9Z+C7WPj1ba++g28HbAWkAIgPhMKDmdRn/d+ASnF5oSEIuai/m0/u8jXouYgN5wS3Lc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@1.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":529839},"main":"src/index.js","type":"module","volta":{"npm":"10.9.2","node":"22.14.0"},"engines":{"npm":"10.x","node":">=22.14.0"},"gitHead":"a883bf4a832e9683309625a329f2ed3e2e10c5ac","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"22.14.0","dependencies":{"glob":"13.0.0","chalk":"5.6.2","dotenv":"17.2.3","commander":"14.0.1","fastembed":"2.0.0","lru-cache":"11.2.2","minimatch":"10.1.1","cli-spinner":"0.2.10","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.22.3","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.1.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.0.16","globals":"16.5.0","prettier":"3.7.1","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.9.1","@vitest/coverage-v8":"4.0.16","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.3","@vitest/eslint-plugin":"1.3.23","@semantic-release/github":"12.0.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_1.2.4_1773001341747_0.8527786623143827","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"codecritique","version":"2.0.0","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.0.0","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"98717523ca5ac076623f60fb3b9bee8c17e56a53","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.0.0.tgz","fileCount":22,"integrity":"sha512-YsMy7TfUf0KWGwwbBR2B7FESkgGoEBlrgWqLXCqAjUh53mz7fid5Xg20wuoNRd9pxdy3PGI+Gt+7EUNv97tNXQ==","signatures":[{"sig":"MEUCIBagkyhQi96n9aKMJRP/u8WxEzJC/NYgY9PoL9fNn2KwAiEAoty2FDRSEEUXP/jk0CT2AtRIT/m33ejmy11kE7YROtQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":530779},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11.12.1 <12","node":">=24.15.0"},"gitHead":"6a4f833a1c4b6781b4f09d097d704ec6e87e678c","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.0.0_1780764904258_0.6004727721383272","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"codecritique","version":"2.0.1","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.0.1","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"33bd35ec1da04378e46eae8bddbbea8351466199","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.0.1.tgz","fileCount":22,"integrity":"sha512-oNmVqNpbXDJfrZYvMR8Mk0DPFznhDcmggvrZRjqv5We4OU5S2/3NvvRsQSYscfZLNJ8UAkXjcfluesGT9Y6GGg==","signatures":[{"sig":"MEYCIQDLhcztzwjMlR6aDD+qqbL9bg9ZUf44cpU9ZeMNYO6u2QIhAJmF2VsBzHwhjc3Ikkh0du1EWk1hywVWE517yqIxYbke","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":531117},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11.12.1 <12","node":">=24.15.0"},"gitHead":"3bb072c7321c195891fe7183aa762e8daa23dc17","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.0.1_1780772540188_0.6143139542375582","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"codecritique","version":"2.0.2","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.0.2","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"4cfd92d705435ca5fc4fc3f2a8062900601e80c1","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.0.2.tgz","fileCount":22,"integrity":"sha512-B6Fncl7EiWSpwD8kp1qWwRYJv/4Xq3pHib9BrQFZygM7TF7tJd2LSb0QoJyBQdlp+Yn56tqN/L2ykG278+BC6g==","signatures":[{"sig":"MEYCIQCA53Hi6MyQ7CiPLbumeZBhIIeThA1YANcKQHiIBrMYsgIhAKGmuzDWWbQkPvW9OY3v/2E/qR8883LPAaZovwBX736L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":532351},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11.12.1 <12","node":">=24.15.0"},"gitHead":"10146e1400fd4ebb0d6e3bd4df3a62b97df52e75","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.0.2_1780830928896_0.06917287883660506","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"codecritique","version":"2.0.3","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.0.3","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"889c1ea408a6cd8b02f3dbb03bcbe167650ee5b3","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.0.3.tgz","fileCount":22,"integrity":"sha512-8sOqGbQuHeeBAbgcnahaHa5tCXDXHqsz8RQssYlOXi4kPiuwC2jUvTQT3mQo9B4NsVOYI0pH07yVziSzS1aY4g==","signatures":[{"sig":"MEUCIQCSzIXsNx9QMohbI1reaAJxMu84zoTroFFUZsnRA+GE6AIgbE9rxy53GdK5hgtwyTq7syc/uVufR7nTwiqxfxIX09g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":532319},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"0d96f0ade54d68f73b6ad9ca0dfdcd50027a3014","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.0.3_1780840666166_0.517397169716731","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"codecritique","version":"2.0.4","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.0.4","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"330ea73871c142503d3f33d622d50fe26ba18eeb","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.0.4.tgz","fileCount":22,"integrity":"sha512-Nt3De2WBD/jNFRQidzaF8bWXbgDAPZTZshAJFGKPyHVkHP7ntnZbV6dXdF7AmGolWiWsI3xN2pROEeRvW4QiQQ==","signatures":[{"sig":"MEUCIQDitzU9WbxBDRowj/QbOtqNO7JPD6VKjO3cHtaVth6ywQIgIFYsLTJW5kFGByq60nzjiy7cyo4CFaVtK2oJA+DgHdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":535267},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"f8bb6f8b39b5d919e534e3cd6bcf332bdcd9f258","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.0.4_1780844376014_0.9793433834479763","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"codecritique","version":"2.0.5","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.0.5","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"ba2a6d3022198e806a0157db7a67fe7f42263d77","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.0.5.tgz","fileCount":22,"integrity":"sha512-u9g/Lri4xRTWbLSqN/yH7iDwri6rpLXHTYT96pmfOGc5k9MxVZYu6RGLFz/Dl1vwj1LalQaAXJ3wmz0cFf8hJw==","signatures":[{"sig":"MEUCIQCgO5xjkzE4ZjesOY8vSlCA+jYBh34Y/CfdbmgZmbwflwIgNh3K6Cfa1aE8M6a7VhBZPYlXUlK2e91UHOB9i271uGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":537451},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"1574b9dd2981c09d5e30248118f35308fec09040","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.0.5_1780858964229_0.6184336772883889","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"codecritique","version":"2.0.6","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.0.6","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"9e7e00f4abbb5f547fc4d6216cc4f98ac222f90f","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.0.6.tgz","fileCount":22,"integrity":"sha512-tnUc6YS7RZJElRwvE+GFh2rk9yAzbw1Ejcn66fvkXaYGCKQlqDWUmaV0sPwarDjrSV3jK805GCOUOICLu0u+3g==","signatures":[{"sig":"MEYCIQDY8Jh7MI7WKjBNYYWVFpasm5kUPtm+gNLcLE1vuZHAUwIhAO3kAj79Xq4xBhXg5rs9r06gat5oMgsV4Bqk4y9KBK8O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":541852},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"4c4233ea5324bba40368ccc46a7b049902d4c7e5","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.0.6_1780918362228_0.4654983767019516","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"codecritique","version":"2.0.7","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.0.7","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"8770a2fc8abaf1161267f4ec5b62ca7477648eb9","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.0.7.tgz","fileCount":22,"integrity":"sha512-xKryWM5OdZQKlq9/1GdNRfG8DuGYDZZ/CtoB6WuQSazpqee4a+qRcTM6GGfpDfEA6iFQ6cNC7u+5oWpHsQ6qOA==","signatures":[{"sig":"MEUCIC3bKWnMZJk10DuFR5B1YADUv92PvayyMH2yC7eo1FgmAiEAr+16m1ZUJ4MJyWdmgHW9S6Qx5SH7aGyu50ywiKHmZ0c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":550176},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"673104351c93fad55bfce23784970ecc8ef90286","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.0.7_1782034412503_0.05436411204547209","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"codecritique","version":"2.0.8","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.0.8","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"573eb62edce33c7f37a64a7dd9caa4bb379636b7","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.0.8.tgz","fileCount":22,"integrity":"sha512-ly2iYi5izsqcvdC3m1bf/Zi/KjKvlPJXPmaVSMHEfF5jD6yVWjs8IeDtETrYkL1lItka2Cz03/y54UXj8xCVsw==","signatures":[{"sig":"MEQCIC3/0yBl+kSVoXy2THdPqIffmPy0Ic/oyKKa1v6s6MiKAiB0zxa9u1cwzq1dGyhZBJfRBaD88W1agai8ZSmQfr5VeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":552101},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"2e9506385c29bf0a49114cec5d5a7d5a3d7bea1f","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.0.8_1782067079476_0.1916100557686049","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"codecritique","version":"2.1.0","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.1.0","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"aeff936b1b1fc8eb818cab8ae88e090ef407585e","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.1.0.tgz","fileCount":22,"integrity":"sha512-Tmy9jRO6QQZ108p+QDg/jnKdJCkmNJRpEi7KBEJkDBxGwqIyBQpnJ+NcZWJfPVdrvQaWgWC8wzjQRihPxlvC0Q==","signatures":[{"sig":"MEUCIGwLaNeheYyJctZJodjzREejV6pZdkI1xDZgowjUgyAZAiEA1ZbVIURIS4rKK8yFnY3EsA/Bw3899U3NoFBgfB8Z8rY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":555820},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"3fc0f1f7e1813b8714f6d847d4cb42e031ec74a1","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.1.0_1782067655164_0.7822411084349545","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"codecritique","version":"2.1.1","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.1.1","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"2abbe2029cc6c17abe42763a3b843b15a1fac1da","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.1.1.tgz","fileCount":23,"integrity":"sha512-QMjiRR8b43dl9I266sfGLfX5w0Aw9P0WSFifOlxn1CJkwli9ltolPKU/gysmMQ9lVr+Cka2YcFdX5HN6jnElqw==","signatures":[{"sig":"MEYCIQC3ukJrnTJBXNxKPARbFEt54zyBY7SGmRz1f0VsXPm/wQIhAPVnog2Bz/EHMsm4Kkq1K7M0Ar0iSuZGDA85MZ0Ts0Tl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":563762},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"57d584c63e652013cb9423cb9c6d716412ad7c0e","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.1.1_1784464807659_0.13809227259156187","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"codecritique","version":"2.1.2","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.1.2","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"d17dfc68edb8d0a292499833ec22e437ca95a56d","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.1.2.tgz","fileCount":23,"integrity":"sha512-yAdmcnaY+yt2Emcn1HiuaeVITIhuxiKLZ0FSC8fRcSOD9UNBijGmGYJ6CyLQ91bTbU2pIcCnexiGK6/4vV45gg==","signatures":[{"sig":"MEQCICDPo6WZqmvFuv+AptYlujPzvcxXSu5bv5FXnZ70VZJpAiBS3c6XB6CC4sraQk1tUNIL+/pkwci/OcsXzytLy1m9eA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":564126},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"66062d6bf7eb9921df494ff183e748aba578aa38","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.1.2_1784468103508_0.5653954003885597","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"codecritique","version":"2.1.3","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.1.3","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"c28f8eb934d6198929ba7fbf635ccac7cd2567d5","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.1.3.tgz","fileCount":24,"integrity":"sha512-jBD8/ZPQxQMv8cVTYS3KJ+WQluXqqbEhBekWUHgj5WRPSsHINzfVXRmSOV9l99FMuJ70vXqHRs1TKcIO5u5p+A==","signatures":[{"sig":"MEYCIQDytPRLJWDeihaax1F0wbMJNipfOGy2PW4HRSSl/PoeSQIhAPnrJop8lJmIKAB+Nl60BRHVAO/hcHLUK0B8jwOBl3eY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":567307},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"11f4cdc0c4170c1ea4631ee8f7f852cd2e36e2a6","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.1.3_1784471502697_0.18853838963591718","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"codecritique","version":"2.2.0","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.2.0","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"8607f02ac9763e58f07816521e207c2f24c0791e","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.2.0.tgz","fileCount":24,"integrity":"sha512-+j69NqXAEwB007LZl5FGl+HInMBQ1ebWhY3vHy4xXVs0z/kPhGxLwT87+JwkUcKVQlW5I0s8iGbmQCOqrA6Eow==","signatures":[{"sig":"MEUCIBAyuKtP93f8IIY126KYzv0G/d8OedsY8Zhod7AalgL6AiEA1rcJOR2jjUadbU9VLeGeXLshaEy0aP9Ofu8u5zFa3f0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":578863},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"a1c43000ec04008f4c15b3c59f65e9987d319904","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.30.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.2.0_1784482380666_0.30581493818993977","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"codecritique","version":"2.2.1","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.2.1","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"bdd899f8148745bd4747f5afcaa1c4c7cf142c21","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.2.1.tgz","fileCount":24,"integrity":"sha512-6KT6u+R1fBMoZ3E7tezPdJVHWGyviQyLRyW2y+FWnA/tglyT9XzWWq/KgNNwb7hSP1LaaSDpQDd2C/47zagRsQ==","signatures":[{"sig":"MEUCIQC0Eaea2dOciWrZbOMnpl3vhgfWRRuF5rxgXb0AkN8aigIgHhPOY5uGmL+UjY3OYjctBgr4r9ID0oH1oVYSv5DjVVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":578863},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"087736eea1d1e232659e770ba9a5d3ca53786b96","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.33.0","@anthropic-ai/sdk":"0.71.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.8","globals":"16.5.0","prettier":"3.8.3","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.8","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.19","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.1","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.2.1_1786813935583_0.6757552474578465","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"codecritique","version":"2.2.2","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.2.2","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"c42e4052c81ebe9b0e0ba2cc9451862bc94282a2","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.2.2.tgz","fileCount":24,"integrity":"sha512-iED71nHISnTcyFGX1e5N853RrZPJiCJOxrOWLptyfiH592BdCpzKs6PyCycWZ157FgxU3pvGF5W8JyiX0g6s4A==","signatures":[{"sig":"MEYCIQDJRiOt6MjZc4RhHjcTMi3H705LvOZTumn1J3IG1ClObgIhAL/4tfMSJveFydd5osUdSUWA+zW0gB4VI/nlYH+eBsgh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":578984},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"667752a184fa6d58e8d348eb8bef6a02087b666d","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"overrides":{"@lancedb/lancedb":{"@huggingface/transformers":"$@huggingface/transformers"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.37.1","@anthropic-ai/sdk":"0.117.1","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.10","globals":"16.5.0","prettier":"3.9.6","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.10","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.27","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.2.2_1786937990290_0.799800599756064","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"codecritique","version":"2.2.3","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.2.3","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"dfdb5b6522ab631bb5c69371a8b11456fe298d0c","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.2.3.tgz","fileCount":24,"integrity":"sha512-QLAVFmbsmDbANr2u7OZ0ioQh09LscUCg4jMJFZWKRMIPa8zS/uGQF/nTVNC3IwJRrg9S0SbGfXgBKxODJ8MUbw==","signatures":[{"sig":"MEUCIQDmJTlWB/lOpTC85GwQ4qudipeQv/w/o+y/aTZWRxCFXAIgbdKNOVSk6o8DsxVcb2NYNZ0pdpBFKSkpMGQo5WYBXOA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":578984},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"22b4fbd511d3917df0d3cab8000482c68d2b263d","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"overrides":{"@lancedb/lancedb":{"@huggingface/transformers":"$@huggingface/transformers"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.37.1","@anthropic-ai/sdk":"0.120.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.11","globals":"16.5.0","prettier":"3.9.6","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.11","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.27","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.2.3_1787542716973_0.990454326023096","host":"s3://npm-registry-packages-npm-production"}},"2.2.4":{"name":"codecritique","version":"2.2.4","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.2.4","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"f1994da5ff045f3cbc5a76cd702bc38422e88229","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.2.4.tgz","fileCount":24,"integrity":"sha512-YOTfb9Diu8WN2ciWuFggr4XeBOPCD95sBgzzjUKjwKqjM9OhEhy/nHXxCuUCVaZfcLovnL9nYxKl8S4EgiodSw==","signatures":[{"sig":"MEUCIQCnSOKrSxb2ZHjfCtIQiHMd8qVRl01H1wWYVHQ9JSN79gIgH7Y58Yvh4cvkDxbzcrIHHQ9EHQWG5ojicZ3gZPM426o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":578984},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"8161fd0f4f3516dd206d48703889544ecb4cd88c","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"overrides":{"@lancedb/lancedb":{"@huggingface/transformers":"$@huggingface/transformers"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.37.1","@anthropic-ai/sdk":"0.122.0","linguist-languages":"9.3.2","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.11","globals":"16.5.0","prettier":"3.9.6","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.11","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.27","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.2.4_1788147572725_0.041178214518702294","host":"s3://npm-registry-packages-npm-production"}},"2.2.5":{"name":"codecritique","version":"2.2.5","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.2.5","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"22cce77f0972f99abd1a42508c3f7ddd30f40819","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.2.5.tgz","fileCount":24,"integrity":"sha512-VfPmc0SDPKFZpN72Kno4ttjSxiYIF2Tsf/5/4S3j7Lf0oGMEUwGlMzAQ6hSn+uHeu9gq9WrzwVlAPcdPul5sDg==","signatures":[{"sig":"MEUCIQCIjbUkonc0YP/iRaR84FqJS2v21jNHrgAutNJ/RoR/mwIgHtVl+mswezzz9me6eCsqF/yMaEdIvq9H9thJywKZDlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDTvd6wPHT9SgJLtG1ap260wORsdqWtbVFz1VDTgjSkEAiEAz4k9HULRNF/qHpFoxv3n6BipyN8zS91t5MPlnxsoQgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":578984},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"bcec10739b418e92cf7167abc45105a25bf21662","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"overrides":{"@lancedb/lancedb":{"@huggingface/transformers":"$@huggingface/transformers"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.38.0","@anthropic-ai/sdk":"0.123.0","linguist-languages":"9.5.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.11","globals":"16.5.0","prettier":"3.9.6","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.11","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.27","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.2.5_1788752490846_0.30109109512708043","host":"s3://npm-registry-packages-npm-production"}},"2.2.6":{"name":"codecritique","version":"2.2.6","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.2.6","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"b13a44af3f8fbc8d024204b1cb55408d7564e267","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.2.6.tgz","fileCount":24,"integrity":"sha512-OkilxOI3p/901VQvXJduHMDhQVGN3dW2oSOlXytVeamdYaPGUfIPxLgmr3hesDcVx3J5XMFhwfGB7dKxAU+Q8g==","signatures":[{"sig":"MEQCIHBxRDrGnf/KoqeVMokG3dSEE/G3gZfUrD09X3Ezg2kRAiBawSM9ckbYboUNQ18MopJ8jNhJxJ5ZQCLwt5pj1CtoKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCHwXWkuAAqdYN0cfdHVw4Yr6dX5Il40655KdfWY7nFOECIQDm8PoRqPZk9Dwk1Wb1xTIC/ASY+XRv7HKgb0Yotnhu+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":578984},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"7af6ecc63f5cd7de9e27d58ac4e27246b3d9fbba","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"overrides":{"@lancedb/lancedb":{"@huggingface/transformers":"$@huggingface/transformers"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.38.0","@anthropic-ai/sdk":"0.125.0","linguist-languages":"9.5.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.11","globals":"16.5.0","prettier":"3.9.6","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.11","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.27","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.2.6_1789357392804_0.8130084240790667","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"codecritique","version":"2.3.0","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.3.0","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"066d63e3d6d338580d88e7803f0b94d4571acb82","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.3.0.tgz","fileCount":25,"integrity":"sha512-ausbcONDtsMk0wo2TKFMCYKafsdjJsSVCxTjp+Op0RePoZeTmehTeygUy9PWEoxO7taOadFL7fFRWTaHfoWO/Q==","signatures":[{"sig":"MEUCIQCxjOdczeWQvQyy28F25oHOOOp2fRtSlnRqHmrZDzHpkAIgaV04Gt7KKI6CnGsaAI66zpKTqeDUTESU9QVTdt8GqXA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGzEQfyKVOtq3HsS6Vi+JZ+65QN2rsBRXcDFgT74hhXCAiB+tcZA4cQOGwn62+a191WpA6hlNJyaEVLtnae2jBllyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":587805},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"1117ec981f11d7616a5648f99d2950c29fe0a7be","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"overrides":{"@lancedb/lancedb":{"@huggingface/transformers":"$@huggingface/transformers"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.38.0","@anthropic-ai/sdk":"0.125.0","linguist-languages":"9.5.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.11","globals":"16.5.0","prettier":"3.9.6","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.11","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.27","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.3.0_1789487579838_0.2877511707591458","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"codecritique","version":"2.3.1","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.3.1","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"fc498bcc120b1e1317c7679baf871f33d74c07f3","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.3.1.tgz","fileCount":25,"integrity":"sha512-hoILTPyIgjy9WAQjudbOlIdFEy+6M/wwbGohRtYjWBsEcADdOHPgNYB17uojNu9/J3rJo50fLXY8xir3FmfN5w==","signatures":[{"sig":"MEUCIE47ZrQ/DySkPvqKbfHSk3DqmmFCIaFs+4FAmDWrmGzVAiEAv2monLRLa9xmG8x/4GZdY+J0n+jZ6y2WeLWiOntDUvE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDrvtuECdeAiGUfwDhFH9v9jhhksOkjEgw7eY4qTSu/HAIgLGeKdXWgzxbBbSYqMQEuBbreqNi3rGyBxhIynkmD7kk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":592747},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"034b8cd85f0586b2e1f64ff96e3452bb23d8a3b1","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"overrides":{"@lancedb/lancedb":{"@huggingface/transformers":"$@huggingface/transformers"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.1","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.38.0","@anthropic-ai/sdk":"0.125.0","linguist-languages":"9.5.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"5.70.2","eslint":"9.39.1","vitest":"4.1.11","globals":"16.5.0","prettier":"3.9.6","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.11","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.27","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.3.1_1789565754308_0.13159377993890908","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"codecritique","version":"2.3.2","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.3.2","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"c5775a5f43a0fd829c7e4f8dbc5e39d92f586065","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.3.2.tgz","fileCount":25,"integrity":"sha512-4JkhTC4pWAiyZaEHteHBexOA0cot5K0BBIjfnyo8SSggAbWeGYs17FkjDJJ6p9+WM2dlKcK+kEjEJL78FAraRQ==","signatures":[{"sig":"MEUCIQDcd2/u0agYG5K5I9IRJXkZ8uiqTPNPiWBqJLZ9KLKXOgIgRHWKRUTXo50qRWzLT08s1T+EB2WRJjCINRlUGB1YngM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA3jYrSwAmHmXEGsjTTzkVb8gHKRzD3bi3mZLQCNizMmAiAT/eORx+Xd7zpGM3Pr6gxpX9ChfAhBnHU4rqavUZ0CTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":592748},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"27e7489d4e65e0c9ac55400b59f273933c45248d","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"overrides":{"@lancedb/lancedb":{"@huggingface/transformers":"$@huggingface/transformers"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.2","minimatch":"10.2.5","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.38.0","@anthropic-ai/sdk":"0.125.0","linguist-languages":"9.5.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"6.36.0","eslint":"9.39.1","vitest":"4.1.11","globals":"17.12.0","prettier":"3.9.6","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.11","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.27","@semantic-release/github":"12.0.8","prettier-plugin-brace-style":"0.10.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.3.2_1789912730642_0.14678429413544491","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"codecritique","version":"2.3.3","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.3.3","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"9114e2a3461fe67c062a17b04fb8f246d7a3c803","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.3.3.tgz","fileCount":25,"integrity":"sha512-1Lz2TNYze7k5BFXPJbZhtIqA9gfKrUOTL0r2EdkHvpzYrYI6s/Gc7hTE7wLOFJyDXCKspCAy5tsnYY/6Xm0zOg==","signatures":[{"sig":"MEUCIQCvBivaLCltF5u1yU6a9c1RIe3rq5MbAstKTaaBBQutIwIgTNOZ9f4WeXpZwIS15F+3MWfYcIlW0KICV+sZ1ocvj/4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBRGv8vtSIGqWGLbRgKcWdqxNTC4Vl+ivbd9middd8AIAiEAr03Z63VAviz7Ztrr3bC9fmhruiIeASvMyZdrRBbBl84=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":592748},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"76ef280716a5717145f08e71e44ebc4ab90d7976","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"overrides":{"@lancedb/lancedb":{"@huggingface/transformers":"$@huggingface/transformers"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.2","minimatch":"10.2.6","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.38.0","@anthropic-ai/sdk":"0.125.0","linguist-languages":"9.5.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"6.36.0","eslint":"9.39.1","vitest":"4.1.11","globals":"17.12.0","prettier":"3.9.6","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.11","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.27","@semantic-release/github":"12.0.9","prettier-plugin-brace-style":"0.10.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.3.3_1789912796447_0.406340756582815","host":"s3://npm-registry-packages-npm-production"}},"2.3.4":{"name":"codecritique","version":"2.3.4","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"author":{"name":"cosmocoder"},"license":"MIT","_id":"codecritique@2.3.4","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"homepage":"https://github.com/cosmocoder/CodeCritique#readme","bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"bin":{"codecritique":"src/index.js"},"dist":{"shasum":"dfb159fb699d953f7323e844d05af5173983c4ea","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.3.4.tgz","fileCount":25,"integrity":"sha512-lHhGCNeN/SwYyU8j82581b1B+9m0L+zfn6SGxbz73xY74KEwpT/ewNFEywuI9k22dy6Ml9S6kLvWTeoixWbucg==","signatures":[{"sig":"MEUCICUq4GLCdgpKRqCJBTDXFQgeAii0KN0KWzYbdUKThBjGAiEA5upgEIVgUZRJBkFmPpflc+yjmlZzp8k0B9yXwNSjLA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID4q6Q1MQX3GvKXu1ydoOSD1f0DF/kzCdAQJdJl+OO/vAiA9/CEhVrUzsDLuJdl4HwSJrbQOt/b5m1fuDoEJupbIhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":592748},"main":"src/index.js","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"engines":{"npm":">=11","node":">=24"},"gitHead":"684793c55c8c592960576d2133cc3ccf386cc240","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"overrides":{"@lancedb/lancedb":{"@huggingface/transformers":"$@huggingface/transformers"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.2","minimatch":"10.2.6","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.39.0","@anthropic-ai/sdk":"0.126.0","linguist-languages":"9.5.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"6.36.0","eslint":"9.39.1","vitest":"4.1.11","globals":"17.12.0","prettier":"3.9.8","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"4.1.11","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.1.5","@vitest/eslint-plugin":"1.6.27","@semantic-release/github":"12.0.9","prettier-plugin-brace-style":"0.10.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/codecritique_2.3.4_1789962089663_0.8720739602590564","host":"s3://npm-registry-packages-npm-production"}},"2.3.5":{"_id":"codecritique@2.3.5","bin":{"codecritique":"src/index.js"},"bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"dist":{"shasum":"9673bf4e0cdbe2daec284e747d685f02a658e4e7","tarball":"https://registry.npmjs.org/codecritique/-/codecritique-2.3.5.tgz","fileCount":25,"integrity":"sha512-YogAfMO6hnODedAb/aOlTvb9rCKNWokPW89Q/3JQJlno4NG6UI+DseEei65pYpKlDupDndj5yDYEN+X5hoadtQ==","signatures":[{"sig":"MEQCIQDB+d0cKL6lVu9johqj1jjndocvyb5nxOZcyi32J6gb3AIfdPXQTyY4AIu+TienHPJuy1W5jEAWYdo6DO6msrXc5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDfMDYqI8rXVX4jJfd2uiizfSHNEo4ZImk73kXxVuSr5AIhAPeJxvRcIUJoLn7NJq5ATyKbaKP+WwY1gK3VEdWysUyQ"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codecritique@2.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":592881},"main":"src/index.js","name":"codecritique","type":"module","volta":{"npm":"11.12.1","node":"24.15.0"},"author":{"name":"cosmocoder"},"engines":{"npm":">=11","node":">=24"},"gitHead":"cf719e09fae95e1711f72bd764ae1a28200548a4","license":"MIT","scripts":{"knip":"knip","lint":"eslint . --cache","test":"vitest run","start":"node src/index.js","lint:ci":"eslint . --cache --cache-strategy content","lint:fix":"eslint . --cache --fix","prettier":"prettier --write . --cache --cache-location ./.prettier-cache","test:types":"tsc --noEmit","test:watch":"vitest","prettier:ci":"prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content","test:coverage":"vitest run --coverage","create-release":"semantic-release","prepublishOnly":"chmod +x src/index.js"},"version":"2.3.5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:395d7f04-3444-44d3-bc62-698b243f732f"}},"homepage":"https://github.com/cosmocoder/CodeCritique#readme","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"overrides":{"@lancedb/lancedb":{"@huggingface/transformers":"$@huggingface/transformers"}},"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"_npmVersion":"11.8.0","description":"AI-powered code review tool for any programming language","directories":{},"maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"_nodeVersion":"24.15.0","dependencies":{"glob":"13.0.6","chalk":"5.6.2","dotenv":"17.4.2","commander":"14.0.1","fastembed":"2.1.0","lru-cache":"11.5.3","minimatch":"10.2.6","cli-spinner":"0.2.10","apache-arrow":"18.1.0","@octokit/rest":"22.0.1","stopwords-iso":"1.1.0","@lancedb/lancedb":"0.39.0","@anthropic-ai/sdk":"0.128.0","linguist-languages":"9.5.0","@huggingface/transformers":"3.8.0"},"engine-strict":true,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"knip":"6.38.0","eslint":"9.39.1","vitest":"5.0.1","globals":"17.12.0","prettier":"3.9.8","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"24.12.4","@vitest/coverage-v8":"5.0.1","eslint-plugin-import":"2.32.0","@semantic-release/npm":"13.2.0","@vitest/eslint-plugin":"1.6.27","@semantic-release/github":"12.0.9","prettier-plugin-brace-style":"0.10.3","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codecritique_2.3.5_1790566868591_0.13615371619606775"}}},"time":{"created":"2026-02-01T15:31:48.359Z","modified":"2026-09-28T03:41:09.050Z","1.0.0":"2026-02-01T15:31:48.698Z","1.1.0":"2026-02-02T12:03:56.259Z","1.1.1":"2026-02-03T09:34:24.813Z","1.2.0":"2026-02-07T17:17:56.969Z","1.2.1":"2026-02-11T13:48:13.419Z","1.2.2":"2026-03-04T20:15:04.320Z","1.2.3":"2026-03-08T19:12:48.313Z","1.2.4":"2026-03-08T20:22:21.953Z","2.0.0":"2026-06-06T16:55:04.411Z","2.0.1":"2026-06-06T19:02:20.355Z","2.0.2":"2026-06-07T11:15:29.044Z","2.0.3":"2026-06-07T13:57:46.343Z","2.0.4":"2026-06-07T14:59:36.157Z","2.0.5":"2026-06-07T19:02:44.349Z","2.0.6":"2026-06-08T11:32:42.368Z","2.0.7":"2026-06-21T09:33:32.647Z","2.0.8":"2026-06-21T18:37:59.715Z","2.1.0":"2026-06-21T18:47:35.292Z","2.1.1":"2026-07-19T12:40:07.828Z","2.1.2":"2026-07-19T13:35:03.653Z","2.1.3":"2026-07-19T14:31:42.950Z","2.2.0":"2026-07-19T17:33:00.808Z","2.2.1":"2026-08-15T17:12:15.717Z","2.2.2":"2026-08-17T03:39:50.435Z","2.2.3":"2026-08-24T03:38:37.118Z","2.2.4":"2026-08-31T03:39:32.903Z","2.2.5":"2026-09-07T03:41:30.942Z","2.2.6":"2026-09-14T03:43:12.887Z","2.3.0":"2026-09-15T15:52:59.935Z","2.3.1":"2026-09-16T13:35:54.406Z","2.3.2":"2026-09-20T13:58:50.723Z","2.3.3":"2026-09-20T13:59:56.528Z","2.3.4":"2026-09-21T03:41:29.749Z","2.3.5":"2026-09-28T03:41:08.693Z"},"bugs":{"url":"https://github.com/cosmocoder/CodeCritique/issues"},"author":{"name":"cosmocoder"},"license":"MIT","homepage":"https://github.com/cosmocoder/CodeCritique#readme","keywords":["code-review","static-analysis","ai","javascript","typescript","react","python","ruby","cli","code-quality","linter"],"repository":{"url":"git+https://github.com/cosmocoder/CodeCritique.git","type":"git"},"description":"AI-powered code review tool for any programming language","maintainers":[{"name":"cosmocoder","email":"cosmocoder@gmail.com"}],"readme":"# CodeCritique\n\n[![npm version](https://img.shields.io/npm/v/codecritique.svg)](https://www.npmjs.com/package/codecritique)\n[![npm downloads](https://img.shields.io/npm/dm/codecritique.svg)](https://www.npmjs.com/package/codecritique)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![Node.js](https://img.shields.io/badge/node-%3E%3D24-brightgreen.svg)](https://nodejs.org/)\n[![CI](https://github.com/cosmocoder/CodeCritique/actions/workflows/release.yml/badge.svg)](https://github.com/cosmocoder/CodeCritique/actions/workflows/release.yml)\n\n**AI-Powered Code Review. Context-Aware. Privacy-First.**\n\nA self-hosted code review tool using **RAG (Retrieval-Augmented Generation)** with local embeddings and Anthropic Claude for intelligent, context-aware code analysis. Works with any programming language.\n\n[Features](#key-features) • [Installation](#installation) • [Quick Start](#quick-start) • [GitHub Actions](#github-actions-integration) • [Commands](#commands-reference) • [Contributing](#contributing)\n\n---\n\n## ❌ The Problem\n\nTraditional code review tools fall short:\n\n- ❌ **Generic static analysis** doesn't understand your codebase's unique patterns\n- ❌ **No historical context** - ignores lessons from past code reviews\n- ❌ **One-size-fits-all** rules that don't adapt to your team's standards\n- ❌ **Limited language support** - often focused on specific tech stacks\n\n## ✅ The Solution\n\n**CodeCritique** uses RAG to deliver intelligent, context-aware code reviews:\n\n- ✅ **Learns your codebase** - embeddings capture your patterns and conventions\n- ✅ **Remembers PR history** - learns from past review comments and decisions\n- ✅ **Custom guidelines** - integrates your team's coding standards\n- ✅ **Any language** - works with JavaScript, Python, Go, Rust, and more\n\n---\n\n## 🚀 Quick Install\n\n```bash\nnpx codecritique analyze --file src/app.ts\n```\n\nOr install globally:\n\n```bash\nnpm install -g codecritique\n```\n\n---\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [GitHub Actions Integration](#github-actions-integration)\n- [Commands Reference](#commands-reference)\n- [Configuration](#configuration)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Overview\n\n### How RAG Powers Intelligent Code Review\n\nCodeCritique uses **Retrieval-Augmented Generation (RAG)** to provide context-aware code analysis by combining:\n\n- **Local embeddings** (via FastEmbed) for understanding your codebase patterns\n- **Vector similarity search** to find relevant code examples and documentation\n- **Historical PR analysis** to learn from past code review patterns\n- **Custom document integration** for project-specific guidelines\n- **LLM-powered analysis** (Anthropic Claude) with rich contextual information\n\nThis RAG-based approach provides more accurate, project-specific code reviews compared to generic static analysis tools.\n\n### Key Features\n\n- **🔍 Context-Aware Analysis**: Understands your codebase patterns and conventions\n- **🌐 Universal Language Support**: Works with any programming language\n- **⚡ Local Embeddings**: Uses FastEmbed for fast, privacy-respecting semantic search\n- **📚 Custom Guidelines**: Integrate your team's coding standards and documentation\n- **🔄 PR History Learning**: Learns from past code review patterns in your repository\n- **📊 Multiple Output Formats**: Text, JSON, and Markdown output for flexible integration\n- **🔧 Git Integration**: Analyze specific files, patterns, or branch differences\n- **🚀 Easy Setup**: Works via npx in any project type\n\n### Benefits\n\n- **Reduced Review Time**: Automate repetitive aspects of code review\n- **Consistent Standards**: Enforce coding standards uniformly across the codebase\n- **Learning from History**: Leverage patterns from previous code reviews\n- **Project-Specific**: Understands your codebase's unique patterns and conventions\n- **Actionable Feedback**: Provides specific, constructive suggestions\n\n## Installation\n\n### Prerequisites\n\n- **Node.js** 24 or newer\n- **Git** (for diff-based analysis)\n- **Anthropic API key** (for LLM analysis)\n\n### API Key Setup\n\nSet up your Anthropic API key using one of these methods:\n\n#### Option 1: Environment Variable\n\n```bash\nexport ANTHROPIC_API_KEY=your_anthropic_api_key\n```\n\n#### Option 2: .env File\n\nCreate a `.env` file in your project directory:\n\n```env\nANTHROPIC_API_KEY=your_anthropic_api_key\n```\n\n#### Option 3: Inline with Command\n\n```bash\nANTHROPIC_API_KEY=your_key npx codecritique analyze --file app.py\n```\n\n### Installation Options\n\n#### Option 1: Using npx (Recommended)\n\nThe easiest way to use CodeCritique - no installation required:\n\n```bash\nnpx codecritique analyze --file path/to/file.py\n```\n\nView the package on npm: [https://www.npmjs.com/package/codecritique](https://www.npmjs.com/package/codecritique)\n\n#### Option 2: Global Installation\n\nFor frequent use, install globally:\n\n```bash\nnpm install -g codecritique\ncodecritique analyze --file path/to/file.py\n```\n\n#### Option 3: Run from Source\n\nFor development or contributing:\n\n1. **Clone the repository**:\n\n   ```bash\n   git clone https://github.com/cosmocoder/CodeCritique.git\n   cd CodeCritique\n   ```\n\n2. **Install dependencies**:\n\n   ```bash\n   npm install\n   ```\n\n3. **Run the tool**:\n\n   ```bash\n   # Analyze a single file\n   node src/index.js analyze --file path/to/file.py\n\n   # Or use npm script (if available)\n   npm start analyze --file path/to/file.py\n   ```\n\n   **Method B: Using Shell Script Wrapper (Recommended for non-JS projects)**\n\nFor easier integration with non-JavaScript projects, you can use the provided shell script wrapper:\n\n1. **Copy the wrapper script** to your project:\n\n   ```bash\n   # From the CodeCritique repository\n   cp src/codecritique.sh /path/to/your/project/codecritique.sh\n   chmod +x /path/to/your/project/codecritique.sh\n   ```\n\n2. **Use the wrapper** (automatically handles environment setup):\n\n   ```bash\n   # The script will automatically:\n   # - Check for Node.js installation\n   # - Load .env file if present\n   # - Verify ANTHROPIC_API_KEY\n   # - Try global installation first, then fall back to npx\n\n   ./codecritique.sh analyze --file path/to/file.py\n   ./codecritique.sh embeddings:generate --directory src\n   ```\n\n3. **Environment setup** (the script handles this automatically):\n   - Creates/uses `.env` file in your project directory\n   - Validates Node.js 24+ requirement\n   - Provides helpful error messages for missing dependencies\n\n   The wrapper forwards only `ANTHROPIC_API_KEY`, `ANTHROPIC_BASE_URL`, `ANTHROPIC_LOG`, `GITHUB_TOKEN`, `GH_TOKEN`, `DEBUG`, `VERBOSE`, `CI`, and `GITHUB_WORKSPACE_PATH` from `.env`; other entries, including process-control variables such as `NODE_OPTIONS` and `PATH`, are ignored. An unreadable `.env` stops the wrapper with an error. Run it only in trusted project directories: `ANTHROPIC_BASE_URL` controls where API requests are sent, while `CI` and `GITHUB_WORKSPACE_PATH` control where embedding data is stored.\n\n## Quick Start\n\nFollow this three-step workflow for optimal code review results:\n\n### Step 1: Generate Embeddings (Required)\n\n**Generate embeddings for your codebase first** - this is essential for context-aware analysis:\n\n```bash\n# Generate embeddings for current directory\nnpx codecritique embeddings:generate --directory src\n\n# Generate for specific files or patterns\nnpx codecritique embeddings:generate --files \"src/**/*.ts\" \"lib/*.js\"\n\n# Generate with exclusions (recommended for large codebases)\nnpx codecritique embeddings:generate --directory src --exclude \"**/*.test.js\" \"**/*.spec.js\"\n```\n\n### Step 2: Analyze PR History (Optional)\n\n**Enhance reviews with historical context** by analyzing past PR comments. This step requires a GitHub token:\n\n#### Prerequisites for PR History Analysis\n\nYou must set a `GITHUB_TOKEN` environment variable with repository access permissions:\n\n```bash\n# Set GitHub token (required for PR history analysis)\nexport GITHUB_TOKEN=your_github_token_here\n\n# Or add to .env file\necho \"GITHUB_TOKEN=your_github_token_here\" >> .env\n```\n\n#### Run PR History Analysis\n\n```bash\n# Analyze PR history for current project (auto-detects GitHub repo)\nnpx codecritique pr-history:analyze\n\n# Analyze specific repository\nnpx codecritique pr-history:analyze --repository owner/repo\n\n# Analyze with date range\nnpx codecritique pr-history:analyze --since 2024-01-01 --until 2024-12-31\n```\n\n### Step 3: Analyze Code (Final Step)\n\n**Now perform the actual code review** with rich context from embeddings and PR history:\n\n#### Basic Analysis\n\n```bash\n# Analyze a single file\nnpx codecritique analyze --file src/components/Button.tsx\n\n# Analyze files matching patterns\nnpx codecritique analyze --files \"src/**/*.ts\" \"lib/*.js\"\n\n# Review changes in a target branch against its auto-detected parent branch\nnpx codecritique analyze --diff-with feature-branch\n\n# Review against an explicit base branch (overrides auto-detection).\n# Useful for stacked PRs where you know the real base, or in CI where the PR\n# base ref is authoritative.\nnpx codecritique analyze --diff-with feature-B --base feature-A\n```\n\n#### Using with Custom Guidelines\n\n```bash\n# Include your team's coding standards\nnpx codecritique analyze \\\n  --file src/utils/validation.ts \\\n  --doc \"Engineering Guidelines:./docs/guidelines.md\" \\\n  --doc \"API Standards:./docs/api-standards.md\"\n```\n\n#### Non-JavaScript Projects\n\n```bash\n# Python project\ncd /path/to/python/project\nnpx codecritique analyze --file app.py\n\n# Ruby project\nnpx codecritique analyze --files \"**/*.rb\"\n\n# Any language with git diff\nnpx codecritique analyze --diff-with feature-branch\n```\n\n## GitHub Actions Integration\n\nThis project provides **two reusable GitHub Actions** that can be used in any repository for automated AI-powered code review:\n\n1. **🧠 Generate Embeddings Action** - Creates semantic embeddings for your codebase\n2. **🔍 PR Review Action** - Performs AI-powered code reviews on pull requests\n\nThese actions can be used independently or together for a complete AI code review workflow in your CI/CD pipeline.\n\n---\n\n### 🧠 Generate Embeddings Action\n\n**Action Path:** `cosmocoder/CodeCritique/.github/actions/generate-embeddings@main`\n\nThis action generates semantic embeddings for your codebase, enabling context-aware code analysis. The embeddings are stored as GitHub Actions artifacts and can be reused across workflow runs. It is recommended to generated embeddings for your project every time the `main` branch is updated.\n\n#### Basic Usage\n\n```yaml\nname: Generate Code Embeddings\n\non:\n  push:\n    branches:\n      - main\n\njobs:\n  generate-embeddings:\n    name: Generate Code Embeddings\n    runs-on: ubuntu-latest\n    permissions:\n      contents: read\n      actions: read # needed for downloading artifacts\n\n    steps:\n      - name: Checkout Target Repository\n        uses: actions/checkout@v4\n\n      - name: Generate Embeddings\n        uses: cosmocoder/CodeCritique/.github/actions/generate-embeddings@main\n        with:\n          anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}\n          verbose: true\n```\n\n#### Input Parameters\n\n| Parameter                   | Description                                             | Required | Default          |\n| --------------------------- | ------------------------------------------------------- | -------- | ---------------- |\n| `anthropic-api-key`         | Anthropic API key for Claude models                     | **Yes**  | -                |\n| `files`                     | Specific files or patterns to process (space-separated) | No       | `''` (all files) |\n| `concurrency`               | Number of concurrent embedding requests                 | No       | Auto-detected    |\n| `exclude`                   | Patterns to exclude (space-separated glob patterns)     | No       | `''`             |\n| `exclude-file`              | File containing patterns to exclude (one per line)      | No       | `''`             |\n| `verbose`                   | Show verbose output                                     | No       | `false`          |\n| `embeddings-retention-days` | Number of days to retain embedding artifacts            | No       | `30`             |\n\n> **See [GitHub Actions Advanced Configuration](docs/GITHUB_ACTIONS.md)** for processing specific files, high performance setup, and more examples.\n\n---\n\n### 🔍 PR Review Action\n\n**Action Path:** `cosmocoder/CodeCritique/.github/actions/pr-review@main`\n\nThis action performs AI-powered code reviews on pull requests using Anthropic Claude models. It automatically downloads any available embeddings to provide context-aware analysis and posts review comments directly to the PR.\n\nThe action includes intelligent feedback tracking that monitors user reactions and replies to review comments. When users dismiss suggestions (through reactions like 👎 or replies with keywords like \"disagree\", \"ignore\", or \"not relevant\"), the action automatically resolves those conversation threads and avoids reposting similar issues in subsequent runs on the same PR, creating a more streamlined review experience.\n\n#### Basic Usage\n\n```yaml\nname: AI PR Review\n\non:\n  pull_request:\n    types: [opened, synchronize, reopened]\n\njobs:\n  pr-review:\n    name: AI PR Review\n    runs-on: ubuntu-latest\n    permissions:\n      contents: write # needed for marking conversations as resolved\n      pull-requests: write # needed for posting comments\n      actions: read # needed for downloading artifacts\n\n    steps:\n      - name: ⬇️ Checkout repo\n        uses: actions/checkout@v4\n\n      - name: Code Review\n        uses: cosmocoder/CodeCritique/.github/actions/pr-review@main\n        with:\n          verbose: true\n          anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}\n```\n\n> No manual `git fetch` or `fetch-depth: 0` is needed. The action fetches the PR base\n> branch (the parent — which for a stacked PR is another feature branch) and deepens\n> the shallow checkout just enough to compute the diff, so parent auto-detection works\n> without the cost of a full-history clone.\n\n#### Required Setup\n\n1. **Anthropic API Key**: Store your Anthropic API key as a repository secret named `ANTHROPIC_API_KEY`\n2. **Permissions**: The workflow must have `contents: write`, `actions: read`, and `pull-requests: write` permissions\n3. **Git Setup**: None required — the action fetches the PR base/parent branch and deepens the checkout only as much as the diff needs (no `fetch-depth: 0`)\n\n#### Input Parameters\n\n| Parameter           | Description                                                                                              | Required | Default              |\n| ------------------- | -------------------------------------------------------------------------------------------------------- | -------- | -------------------- |\n| `anthropic-api-key` | Anthropic API key for Claude models                                                                      | **Yes**  | -                    |\n| `skip-label`        | Label name to skip AI review                                                                             | No       | `ai-review-disabled` |\n| `verbose`           | Show verbose output                                                                                      | No       | `false`              |\n| `model`             | LLM model to use (e.g., `claude-sonnet-5`)                                                               | No       | Auto-selected        |\n| `max-tokens`        | Maximum tokens for LLM response                                                                          | No       | Auto-calculated      |\n| `cache-ttl`         | Cache TTL for LLM prompts: \"5m\" (default, no extra cost) or \"1h\" (extended, extra cost for cache writes) | No       | `5m`                 |\n| `batch`             | Use Anthropic Message Batches for lower-cost, asynchronous reviews                                       | No       | `false`              |\n| `concurrency`       | Concurrency for processing multiple files                                                                | No       | `3`                  |\n| `custom-docs`       | Custom documents (format: `\"title:path,title:path\"`)                                                     | No       | `''`                 |\n\nBatch mode trades latency for Anthropic's Message Batches API discount. Processing may take up to 24 hours, and batch requests are not eligible for Zero Data Retention. GitHub-hosted jobs can run for at most six hours; the action polls in-process and cannot resume a batch after the job ends. If holistic analysis falls back to per-file reviews, each concurrency wave can incur a separate batch wait and further increase runtime.\n\n> **Note**: The action uses sensible defaults for all review parameters. It always:\n>\n> - Uses JSON output format for parsing results\n> - Posts both individual comments and summary comments to PRs\n> - Limits to 25 comments maximum\n> - Tracks feedback to improve future reviews\n> - Uses optimal temperature and similarity thresholds\n\n> **See [GitHub Actions Advanced Configuration](docs/GITHUB_ACTIONS.md)** for output values, skipping reviews with labels, custom model settings, and more.\n\n---\n\n## Commands Reference\n\nCodeCritique provides commands for code analysis, embedding management, and PR history analysis.\n\n### Core Commands\n\n| Command                | Description                                            |\n| ---------------------- | ------------------------------------------------------ |\n| `analyze`              | Analyze code using RAG with context retrieval          |\n| `embeddings:generate`  | Generate embeddings for your codebase                  |\n| `embeddings:stats`     | Show statistics about stored embeddings                |\n| `embeddings:clear`     | Clear embeddings for current project                   |\n| `embeddings:clear-all` | Clear ALL embeddings (all projects - use with caution) |\n| `pr-history:analyze`   | Analyze PR comment history                             |\n| `pr-history:status`    | Check PR analysis status                               |\n| `pr-history:clear`     | Clear PR analysis data                                 |\n\n### Quick Examples\n\n```bash\n# Analyze a single file\ncodecritique analyze --file src/components/Button.tsx\n\n# Analyze files matching patterns\ncodecritique analyze --files \"src/**/*.ts\" \"lib/*.js\"\n\n# Review target branch changes against its auto-detected parent branch\ncodecritique analyze --diff-with feature-branch\n\n# Generate embeddings\ncodecritique embeddings:generate --directory src\n\n# Analyze PR history\ncodecritique pr-history:analyze --repository owner/repo\n```\n\n> **See [Commands Reference](docs/COMMANDS.md)** for complete documentation of all commands, options, and examples.\n\n---\n\n## RAG Architecture\n\nCodeCritique uses **Retrieval-Augmented Generation (RAG)** to provide context-aware code analysis. Instead of generic static analysis, it retrieves relevant context from your codebase (similar code examples, documentation, PR history) and provides this to the LLM for more accurate, project-specific reviews.\n\nKey components include local embeddings via FastEmbed, vector storage with LanceDB, and LLM analysis with Anthropic Claude.\n\n> **See [Architecture Documentation](docs/ARCHITECTURE.md)** for detailed diagrams, component descriptions, and benefits.\n\n---\n\n## Configuration\n\n### Custom Documents\n\nIntegrate your team's guidelines and documentation:\n\n```bash\ncodecritique analyze --file src/component.tsx \\\n  --doc \"Engineering Guidelines:./docs/engineering.md\" \\\n  --doc \"React Standards:./docs/react-guide.md\" \\\n  --doc \"API Guidelines:./docs/api-standards.md\"\n```\n\nDocument format: `\"Title:./path/to/file.md\"`\n\n### Embedding Exclusions\n\n#### Using exclusion files\n\nCreate a file containing exclusion patterns (one per line) and reference it with `--exclude-file`:\n\n```\n# Example: exclusion-patterns.txt\n# Exclude test files\n**/*.test.js\n**/*.spec.js\n**/*.test.ts\n**/*.spec.ts\n\n# Exclude build outputs\ndist/\nbuild/\n*.min.js\n\n# Exclude dependencies\nnode_modules/\nvendor/\n```\n\n#### Using command-line exclusions\n\n```bash\ncodecritique embeddings:generate \\\n  --exclude \"**/*.test.js\" \"dist/**\" \"node_modules/**\"\n```\n\n### Environment Variables\n\n```env\n# Required\nANTHROPIC_API_KEY=your_anthropic_api_key\n\n# Optional for PR history analysis\nGITHUB_TOKEN=your_github_token\n\n# Optional debugging\nDEBUG=true\nVERBOSE=true\n```\n\nSet `CODECRITIQUE_SKIP_DOTENV=1` to disable `.env` loading, as the shell wrapper does after forwarding its supported variables.\n\n### Trust and Prompt Injection\n\nRepository files, diffs, custom documents, and PR comments are untrusted data included in LLM prompts. A malicious repository can attempt to influence generated review text despite prompt boundaries and truncation. Treat CodeCritique output as advisory, review findings before acting on them, and never grant generated suggestions automatic execution privileges.\n\n## Output Formats\n\nCodeCritique supports three output formats:\n\n- **Text** (default) - Human-readable colored output for terminal usage\n- **JSON** - Structured output for programmatic processing\n- **Markdown** - Documentation-friendly format\n\n```bash\ncodecritique analyze --file src/app.ts --output json\ncodecritique analyze --file src/app.ts --output markdown\n```\n\n> **See [Output Formats](docs/OUTPUT_FORMATS.md)** for detailed examples of each format.\n\n---\n\nIf you encounter issues, see the **[Troubleshooting Guide](docs/TROUBLESHOOTING.md)** for solutions to common problems including API key issues, memory errors, and performance optimization tips.\n\nFor quick debugging, use verbose mode:\n\n```bash\ncodecritique analyze --file app.py --verbose\n```\n\n---\n\n## Contributing\n\nWe welcome contributions! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) guide for:\n\n- Development setup instructions\n- Code style guidelines\n- Commit conventions (for semantic versioning)\n- Testing guidelines\n- Pull request process\n\n## Acknowledgements\n\nThis project is built with these amazing technologies:\n\n- **[FastEmbed](https://github.com/qdrant/fastembed)** - Fast, lightweight embedding generation\n- **[Hugging Face Transformers.js](https://github.com/huggingface/transformers.js)** - Machine learning for the web\n- **[LanceDB](https://lancedb.com/)** - High-performance vector database for embeddings\n- **[Commander.js](https://github.com/tj/commander.js)** - CLI framework for Node.js\n- **[Octokit](https://github.com/octokit/rest.js)** - GitHub API client for PR history analysis\n- **[Anthropic Claude](https://www.anthropic.com/)** - LLM powering intelligent code analysis\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n","readmeFilename":"README.md"}