@bobmatnyc/ai-code-review
Version:
A TypeScript-based tool for automated code reviews using AI models from Google Gemini, Anthropic Claude, and OpenRouter
128 lines (127 loc) • 3.81 kB
JSON
{
"name": "@bobmatnyc/ai-code-review",
"version": "2.1.4",
"description": "A TypeScript-based tool for automated code reviews using AI models from Google Gemini, Anthropic Claude, and OpenRouter",
"main": "dist/index.js",
"bin": "dist/index.js",
"scripts": {
"build": "npm run test && npm run build:types && node scripts/build.js",
"build:types": "tsc --emitDeclarationOnly",
"postbuild": "./scripts/link-global.sh",
"start": "node dist/index.js",
"dev": "ts-node --transpile-only src/index.ts",
"local": "ts-node --transpile-only -r tsconfig-paths/register src/index.ts",
"lint": "eslint . --ext .ts",
"format": "prettier --write \"src/**/*.ts\"",
"test": "npm run validate:prompts && jest --no-cache",
"test:watch": "jest --watch",
"test:coverage": "jest --coverage --collectCoverageFrom='src/**/*.ts'",
"test:model": "ts-node src/index.ts model-test",
"test:build": "ts-node src/index.ts test-build --json",
"list:models": "ts-node src/list-models.ts",
"test:latest": "ts-node src/test-latest.ts",
"test:api": "ts-node src/test-api-connections.ts",
"prepare-package": "./scripts/prepare-package.sh",
"prepublishOnly": "npm run build",
"local-review": "./local-ai-review.sh",
"built-review": "./built-ai-review.sh",
"cleanup": "tsx scripts/cleanup-dead-code.ts",
"validate:prompts": "node scripts/validate-prompts.js",
"update:prompts": "node scripts/update-prompts-frontmatter.js"
},
"keywords": [
"code-review",
"gemini",
"openrouter",
"claude",
"ai",
"typescript",
"static-analysis",
"code-quality",
"developer-tools"
],
"author": "Robert (Masa) Matsuoka",
"license": "MIT",
"files": [
"dist",
"prompts",
"dist/tests",
"LICENSE",
"README.md",
"CHANGELOG.md",
"VERSION.md",
"INSTALL.md",
".env.example"
],
"repository": {
"type": "git",
"url": "git+https://github.com/bobmatnyc/ai-code-review.git"
},
"engines": {
"node": ">=18.0.0"
},
"publishConfig": {
"registry": "https://registry.npmjs.org/",
"access": "public"
},
"dependencies": {
"@anthropic-ai/tokenizer": "^0.0.4",
"@google/generative-ai": "^0.24.0",
"@langchain/core": "^0.3.44",
"chalk": "^4.1.2",
"commander": "^11.1.0",
"dompurify": "^3.2.5",
"dotenv": "^16.3.1",
"glob": "^10.3.10",
"gpt-tokenizer": "^2.9.0",
"i18next": "^24.2.3",
"i18next-fs-backend": "^2.6.0",
"i18next-icu": "^2.3.0",
"intl-messageformat": "^10.7.16",
"jsdom": "^26.0.0",
"langchain": "^0.3.21",
"markdown-it": "^13.0.2",
"yargs": "^17.7.2",
"zod": "^3.24.2"
},
"peerDependencies": {
"react": "*"
},
"devDependencies": {
"@babel/core": "^7.26.10",
"@babel/preset-env": "^7.26.9",
"@babel/preset-typescript": "^7.27.0",
"@types/babel__core": "^7",
"@types/babel__preset-env": "^7",
"@types/dompurify": "^3.0.5",
"@types/jest": "^29.5.14",
"@types/jsdom": "^21.1.7",
"@types/markdown-it": "^13.0.7",
"@types/node": "^20.10.5",
"@types/yargs": "^17.0.33",
"@typescript-eslint/eslint-plugin": "^6.15.0",
"@typescript-eslint/parser": "^6.15.0",
"babel-jest": "^29.7.0",
"dependency-cruiser": "^16.10.1",
"esbuild": "^0.25.3",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.0.1",
"jest": "^29.7.0",
"p-limit": "^6.2.0",
"prettier": "^3.1.1",
"ts-jest": "^29.3.1",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.3.3",
"vitest": "^1.0.4",
"js-yaml": "^4.1.0"
},
"overrides": {
"esbuild": "^0.25.3"
},
"resolutions": {
"esbuild": "^0.25.3"
},
"packageManager": "yarn@4.9.1"
}