UNPKG

@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
{ "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" } }