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