@bobmatnyc/ai-code-review
Version:
A TypeScript-based tool for automated code reviews using AI models from Google Gemini, Anthropic Claude, and OpenRouter
175 lines • 6.43 kB
JSON
{
"name": "@bobmatnyc/ai-code-review",
"version": "4.6.7",
"description": "A TypeScript-based tool for automated code reviews using AI models from Google Gemini, Anthropic Claude, and OpenRouter",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"bin": "./dist/index.js",
"exports": {
".": {
"import": "./dist/index.js",
"require": "./dist/index.js",
"types": "./dist/index.d.ts"
}
},
"keywords": [
"code-review",
"gemini",
"openrouter",
"claude",
"ai",
"typescript",
"static-analysis",
"code-quality",
"developer-tools"
],
"author": "Robert (Masa) Matsuoka",
"license": "MIT",
"files": [
"dist",
"prompts",
"promptText",
"dist/tests",
"LICENSE",
"README.md",
"CHANGELOG.md",
"INSTALL.md",
".env.example"
],
"repository": {
"type": "git",
"url": "git+https://github.com/bobmatnyc/ai-code-review.git"
},
"engines": {
"node": ">=20.0.0",
"pnpm": ">=8.0.0"
},
"packageManager": "pnpm@8.15.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.80",
"@modelcontextprotocol/sdk": "^1.25.2",
"@types/node-fetch": "^2.6.12",
"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",
"handlebars": "^4.7.8",
"i18next": "^24.2.3",
"i18next-fs-backend": "^2.6.0",
"i18next-icu": "^2.3.0",
"intl-messageformat": "^10.7.16",
"jsdom": "^26.0.0",
"mem0ai": "^2.2.1",
"node-fetch": "^3.3.2",
"sqlite3": "^5.1.7",
"tree-sitter": "^0.21.1",
"tree-sitter-php": "^0.22.8",
"tree-sitter-python": "^0.21.0",
"tree-sitter-ruby": "^0.21.0",
"tree-sitter-typescript": "^0.21.2",
"yaml": "^2.8.0",
"yargs": "^17.7.2",
"zod": "^3.24.2"
},
"peerDependencies": {
"react": "*"
},
"devDependencies": {
"@biomejs/biome": "^2.0.6",
"@types/dompurify": "^3.0.5",
"@types/handlebars": "^4.1.0",
"@types/jsdom": "^21.1.7",
"@types/node": "^20.17.32",
"@types/yargs": "^17.0.33",
"@typescript-eslint/eslint-plugin": "^6.15.0",
"@typescript-eslint/parser": "^6.15.0",
"@vitest/coverage-v8": "^4.0.16",
"@vitest/ui": "^4.0.16",
"esbuild": "^0.25.3",
"eslint": "^8.56.0",
"js-yaml": "^4.1.0",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.8.3",
"vitest": "^4.0.16"
},
"overrides": {
"esbuild": "^0.25.3",
"form-data": "^4.0.4",
"axios": "^1.13.2",
"glob": "^10.5.0",
"undici": "^6.23.0",
"vite": "^7.0.7",
"qs": "^6.14.1"
},
"resolutions": {
"esbuild": "^0.25.3",
"jsdom": "^26.0.0",
"form-data": "^4.0.4",
"axios": "^1.13.2",
"glob": "^10.5.0",
"undici": "^6.23.0",
"vite": "^7.0.7",
"qs": "^6.14.1"
},
"scripts": {
"prebuild": "rm -rf dist && node scripts/increment-build-number.js",
"build": "pnpm run test && pnpm run build:types && node scripts/build.js && node scripts/fix-openai-test.js && node scripts/sync-model-maps.js",
"build:types": "pnpm run generate-version && NODE_OPTIONS='--max-old-space-size=8192' tsc --project tsconfig.build.json",
"ci:local": "./scripts/ci-local.sh",
"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": "pnpm run generate-version && biome check src/ --diagnostic-level=error",
"lint:fix": "pnpm run generate-version && biome check src/ --write",
"format": "biome format src/ --write",
"format:check": "biome format src/",
"test": "pnpm run generate-version && pnpm run validate:prompts && vitest run --config vitest.config.mjs",
"test:e2e": "node scripts/e2e-test.js",
"test:watch": "vitest --config vitest.config.mjs",
"test:coverage": "vitest run --coverage --config vitest.config.mjs",
"test:model": "ts-node src/index.ts model-test",
"test:extract-patterns": "node scripts/tests/extract-patterns/run-phase2-tests.js",
"test:extract-patterns:real-api": "node scripts/tests/extract-patterns/test-real-api.js",
"test:extract-patterns:quality": "node scripts/tests/extract-patterns/validate-output-quality.js",
"test:extract-patterns:external": "node scripts/tests/extract-patterns/test-external-projects.js",
"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",
"validate:models": "node scripts/validate-models.js",
"models:sync": "node scripts/sync-model-maps.js",
"prepare-package": "./scripts/prepare-package.sh",
"local-review": "./scripts/runners/local-ai-review.sh",
"built-review": "./scripts/runners/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",
"train-patterns": "tsx src/prompts/training/trainExtractPatterns.ts",
"demo-training": "node scripts/test-pattern-training.js",
"simple-training": "tsx src/prompts/training/simpleTraining.ts",
"quick-build": "node scripts/increment-build-number.js && NODE_OPTIONS='--max-old-space-size=8192' pnpm run build:types && node scripts/build.js && node scripts/fix-openai-test.js",
"consolidate": "ts-node scripts/consolidate-review.ts",
"generate-version": "node scripts/generate-version.js",
"build:info": "node scripts/manage-build-number.js",
"build:reset": "node scripts/manage-build-number.js --reset",
"setup:pre-commit": "./scripts/setup-pre-commit.sh",
"setup:pnpm": "./scripts/migrate-to-pnpm.sh",
"release": "node scripts/release.js",
"release:patch": "node scripts/release.js patch",
"release:minor": "node scripts/release.js minor",
"release:major": "node scripts/release.js major",
"release:dry-run": "node scripts/release.js --dry-run patch",
"pre-release": "node scripts/pre-release-check.js",
"publish:npm": "pnpm publish --access public"
}
}