{ "name": "amicus", "version": "4.14.3", "mcpName": "io.github.BourbonDog/amicus", "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" }, "main": "src/index.js", "exports": { "./opencode-client": "./src/opencode-client.mjs" }, "files": [ "bin/", "src/", "schemas/", "electron/", "skills/", "commands/", ".claude-plugin/", "CHANGELOG.md", "docs/*.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": "node scripts/run-integration-keyless.js", "test:integration:live": "jest --runInBand --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/ electron/ tests/helpers/", "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", "models:check:strict": "node bin/amicus.js models --check --strict", "check:ci-alias-pins": "node scripts/check-ci-alias-pins.js", "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", "graphify:index": "graphify extract . --backend claude-cli", "check:secrets": "node scripts/check-secrets.js --all", "check:sizes": "node scripts/check-file-sizes.js --all", "check:citations": "node scripts/check-citations.js --all", "check:tarball": "node scripts/check-tarball-lifecycle.js" }, "dependencies": { "@electron/get": "^5.0.0", "@modelcontextprotocol/sdk": "^1.27.0", "@opencode-ai/sdk": "1.18.15", "dotenv": "^17.2.3", "opencode-ai": "1.18.15", "update-notifier": "^7.3.1", "yauzl": "^2.10.0", "zod": "^3.0.0" }, "optionalDependencies": { "electron": "^43.1.1" }, "devDependencies": { "ajv": "^8.20.0", "chrome-remote-interface": "^0.33.3", "eslint": "^8.0.0", "espree": "^9.6.1", "jest": "^29.0.0", "js-yaml": "^4.3.0", "lint-staged": "^16.3.2", "puppeteer": "^24.36.0", "sharp": "^0.35.3", "ws": "^8.19.0", "yaml": "^2.9.0" }, "engines": { "node": ">=22.12.0" }, "lint-staged": { "src/**/*.js": [ "eslint --fix" ], "electron/**/*.js": [ "eslint --fix" ], "tests/helpers/**/*.js": [ "eslint --fix" ] } }