{
  "name": "amicus",
  "version": "1.8.1",
  "description": "Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.",
  "keywords": [
    "claude",
    "claude-code",
    "sidecar",
    "multi-model",
    "opencode",
    "openrouter",
    "parallel",
    "llm",
    "gemini",
    "cowork",
    "council",
    "second-opinion",
    "fanout"
  ],
  "author": "Christian Wagner",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/BourbonDog/amicus.git"
  },
  "bugs": "https://github.com/BourbonDog/amicus/issues",
  "homepage": "https://bourbondog.github.io/amicus/",
  "bin": {
    "amicus": "./bin/amicus.js",
    "am": "./bin/amicus.js",
    "sidecar": "./bin/amicus.js",
    "claude-sidecar": "./bin/amicus.js"
  },
  "main": "src/index.js",
  "exports": {
    "./opencode-client": "./src/opencode-client.mjs"
  },
  "files": [
    "bin/",
    "src/",
    "electron/",
    "skills/",
    ".claude-plugin/",
    "CHANGELOG.md",
    "scripts/postinstall.js",
    "scripts/setup-hooks.js"
  ],
  "scripts": {
    "start": "node --experimental-top-level-await --experimental-vm-modules bin/amicus.js",
    "test": "jest",
    "test:integration": "jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'",
    "test:all": "jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js",
    "test:e2e:mcp": "jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit",
    "posttest": "node scripts/mark-test-passed.js",
    "lint": "eslint src/",
    "postinstall": "node scripts/postinstall.js",
    "test:thinking": "node scripts/benchmark-thinking.js",
    "test:thinking:quick": "MODELS=gemini node scripts/benchmark-thinking.js",
    "refresh-models": "node bin/amicus.js models --refresh",
    "models:info": "node bin/amicus.js models",
    "models:check": "node bin/amicus.js models --check",
    "generate-icon": "node scripts/generate-icon.js",
    "generate-docs": "node scripts/generate-docs.js",
    "generate-docs:check": "node scripts/generate-docs.js --check",
    "validate-docs": "node scripts/validate-docs.js --full",
    "setup-hooks": "node scripts/setup-hooks.js",
    "check:secrets": "node scripts/check-secrets.js --all",
    "check:sizes": "node scripts/check-file-sizes.js --all",
    "check:tarball": "node scripts/check-tarball-lifecycle.js"
  },
  "dependencies": {
    "@modelcontextprotocol/sdk": "^1.27.0",
    "@opencode-ai/sdk": "^1.1.36",
    "dotenv": "^17.2.3",
    "opencode-ai": "^1.2.20",
    "tiktoken": "^1.0.0",
    "update-notifier": "^7.3.1",
    "zod": "^3.0.0"
  },
  "optionalDependencies": {
    "electron": "^28.0.0"
  },
  "devDependencies": {
    "chrome-remote-interface": "^0.33.3",
    "eslint": "^8.0.0",
    "husky": "^9.1.7",
    "jest": "^29.0.0",
    "lint-staged": "^16.3.2",
    "puppeteer": "^24.36.0",
    "sharp": "^0.33.5",
    "ws": "^8.19.0"
  },
  "engines": {
    "node": ">=18.0.0"
  },
  "lint-staged": {
    "src/**/*.js": [
      "eslint --fix"
    ]
  }
}
