{"_id":"@2ndopinion/codex-plugin","_rev":"4-8d7bf20668938ec5ca486a2e7d4f9d54","name":"@2ndopinion/codex-plugin","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.0":{"name":"@2ndopinion/codex-plugin","version":"0.1.0","_id":"@2ndopinion/codex-plugin@0.1.0","maintainers":[{"name":"bmello11","email":"brianmello96@gmail.com"}],"bin":{"2ndopinion-codex":"dist/index.js"},"dist":{"shasum":"b0f6b5e3594088e0200e9aa564c82f296501dee2","tarball":"https://registry.npmjs.org/@2ndopinion/codex-plugin/-/codex-plugin-0.1.0.tgz","fileCount":22,"integrity":"sha512-+l8mEiK7jVh4r3TrukeP4SfBWomfnTF4MHrPUKYFNOT2vAvhCe0xmaJMO8J1J/sD75mTtAXoAk4jZVUp78Yu3A==","signatures":[{"sig":"MEYCIQCaU7BPTk0ud+69Oy/Q3Ts9HUKulPyVP2eyt44yp1PzmgIhAK5fnLmvKHxb6W1bdijHIgBfpAJnYlo0+lB4vmvkrNiP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170774},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"0ec660cb8ad5f270f464de28b2dfb2f0ad185ae9","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup"},"_npmUser":{"name":"bmello11","email":"brianmello96@gmail.com"},"_npmVersion":"11.11.0","description":"Codex CLI plugin for [2ndOpinion](https://get2ndopinion.dev) — AI-to-AI code review tools.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"conf":"^10.2.0","axios":"^1.7.0","simple-git":"^3.27.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.2.4","typescript":"^5.7.0","@types/node":"^20.17.0","@2ndopinion/shared":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/codex-plugin_0.1.0_1775062205381_0.9863853786658345","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@2ndopinion/codex-plugin","version":"0.2.0","keywords":["codex","codex-cli","plugin","code-review","ai","claude","gemini","mcp","second-opinion","consensus","security-audit","bug-detection","developer-tools"],"author":{"name":"2ndOpinion","email":"hello@get2ndopinion.dev"},"license":"MIT","_id":"@2ndopinion/codex-plugin@0.2.0","maintainers":[{"name":"bmello11","email":"brianmello96@gmail.com"}],"homepage":"https://get2ndopinion.dev","bugs":{"url":"https://github.com/brianmello8/2ndopinion/issues"},"dist":{"shasum":"4dbe5c3793de8f19c626bf62c00ee673a8944774","tarball":"https://registry.npmjs.org/@2ndopinion/codex-plugin/-/codex-plugin-0.2.0.tgz","fileCount":5,"integrity":"sha512-tFSyIXT/yLDcmKT9RnFsrcmJ7YXLcESm4N0HW1pTT66SkKJ/xZ5WzXkps0LYNlRH+e74dH9b0q//I0WRCiVGEQ==","signatures":[{"sig":"MEUCIBrwgRnqOMuXmp0HU3safFgNR0qz+az7UNC9LRMCAIo0AiEA+QN/uPw9gOyJLKePjj6tQ8rQf34rPj1NONL6IqlmDTI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125739},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"57c584df711893593e10e2d13bc9083e1d447d74","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup"},"_npmUser":{"name":"bmello11","email":"brianmello96@gmail.com"},"repository":{"url":"git+https://github.com/brianmello8/2ndopinion.git","type":"git","directory":"packages/codex-plugin"},"_npmVersion":"11.11.0","description":"Codex CLI plugin for 2ndOpinion — 10 AI code review tools with Claude, Codex, and Gemini","directories":{},"_nodeVersion":"24.14.1","dependencies":{"conf":"^10.2.0","axios":"^1.7.0","simple-git":"^3.27.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.2.4","typescript":"^5.7.0","@types/node":"^20.17.0","@2ndopinion/shared":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/codex-plugin_0.2.0_1775142089496_0.15046117319206398","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@2ndopinion/codex-plugin","version":"0.3.0","keywords":["codex","codex-cli","plugin","code-review","ai","claude","gemini","mcp","second-opinion","consensus","security-audit","bug-detection","developer-tools"],"author":{"name":"2ndOpinion","email":"hello@get2ndopinion.dev"},"license":"MIT","_id":"@2ndopinion/codex-plugin@0.3.0","maintainers":[{"name":"bmello11","email":"brianmello96@gmail.com"}],"homepage":"https://get2ndopinion.dev","bugs":{"url":"https://github.com/brianmello8/2ndopinion/issues"},"dist":{"shasum":"f68a2675a89e5f6b27d8171d1d13bf956086cd25","tarball":"https://registry.npmjs.org/@2ndopinion/codex-plugin/-/codex-plugin-0.3.0.tgz","fileCount":5,"integrity":"sha512-icoLYs5t1IqGcc1ZTBCP1U4/NDtJE/BpJP6G6o6Nn/RJq03M79A+21uajVX41llYzMhhvFv59xi8qXviB1/gGQ==","signatures":[{"sig":"MEQCIDeUp7WWRa5zCzRAV97I+o42AUw4IKlGRNJIscG+m9P+AiAuHsc8YU7E4grSiIUq4/znqePoNVphD7dcvoyLkqKmfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126145},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"d1fb9eb18a5f2e1b5efb8e0d5f2d799b06b6093b","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup"},"_npmUser":{"name":"bmello11","email":"brianmello96@gmail.com"},"repository":{"url":"git+https://github.com/brianmello8/2ndopinion.git","type":"git","directory":"packages/codex-plugin"},"_npmVersion":"11.11.0","description":"Codex CLI plugin for 2ndOpinion — 10 AI code review tools with Claude, Codex, and Gemini","directories":{},"_nodeVersion":"24.14.1","dependencies":{"conf":"^10.2.0","axios":"^1.7.0","simple-git":"^3.27.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.2.4","typescript":"^5.7.0","@types/node":"^20.17.0","@2ndopinion/shared":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/codex-plugin_0.3.0_1775244042575_0.7042964328261616","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@2ndopinion/codex-plugin","version":"0.3.1","description":"Codex CLI plugin for 2ndOpinion — 10 AI code review tools with Claude, Codex, and Gemini","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run"},"keywords":["codex","codex-cli","plugin","code-review","ai","claude","gemini","mcp","second-opinion","consensus","security-audit","bug-detection","developer-tools"],"homepage":"https://get2ndopinion.dev","author":{"name":"2ndOpinion","email":"hello@get2ndopinion.dev"},"license":"UNLICENSED","dependencies":{"axios":"^1.7.0","conf":"^10.2.0","simple-git":"^3.32.3"},"devDependencies":{"@2ndopinion/shared":"workspace:*","@types/node":"^20.17.0","tsup":"^8.0.0","typescript":"^5.7.0","vitest":"^3.2.4"},"_id":"@2ndopinion/codex-plugin@0.3.1","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-sXpAFvps/zcpImM3De3Uqf/a1UREnCtoEa19MjKvR60m5mRAenmkJQYcO61smV55mXYFxZ7xfNDLGM+5GPB2yg==","shasum":"1d67879ac7e5dd8a5e858e4fcce70954481594a2","tarball":"https://registry.npmjs.org/@2ndopinion/codex-plugin/-/codex-plugin-0.3.1.tgz","fileCount":5,"unpackedSize":125951,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH7O14L+Y6A75pEKJLdmVL41iUjE3GHA0jc5lGzrnZMJAiEA+rhOBr13O57kLCON0RMIQ6lxoECbVI2th07N6u0xzOE="}]},"_npmUser":{"name":"bmello11","email":"brianmello96@gmail.com"},"directories":{},"maintainers":[{"name":"bmello11","email":"brianmello96@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codex-plugin_0.3.1_1775777849611_0.17522209611177497"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-01T16:50:05.272Z","modified":"2026-04-09T23:37:29.908Z","0.1.0":"2026-04-01T16:50:05.527Z","0.2.0":"2026-04-02T15:01:29.711Z","0.3.0":"2026-04-03T19:20:42.735Z","0.3.1":"2026-04-09T23:37:29.761Z"},"author":{"name":"2ndOpinion","email":"hello@get2ndopinion.dev"},"license":"UNLICENSED","homepage":"https://get2ndopinion.dev","keywords":["codex","codex-cli","plugin","code-review","ai","claude","gemini","mcp","second-opinion","consensus","security-audit","bug-detection","developer-tools"],"description":"Codex CLI plugin for 2ndOpinion — 10 AI code review tools with Claude, Codex, and Gemini","maintainers":[{"name":"bmello11","email":"brianmello96@gmail.com"}],"readme":"# @2ndopinion/codex-plugin\n\nCodex CLI plugin for [2ndOpinion](https://get2ndopinion.dev) — AI-to-AI code review where Claude, Codex, and Gemini review your code together. 10 tools including consensus reviews, bug hunting, security audits, and AI debates.\n\n## Installation\n\n```bash\nnpm install @2ndopinion/codex-plugin\n```\n\n## Configuration\n\nSet your API key as an environment variable:\n\n```bash\nexport SECONDOPINION_API_KEY=sk_2op_your_key_here\n```\n\nOr authenticate via the CLI first:\n\n```bash\nnpx 2ndopinion login\n```\n\nGet an API key at [get2ndopinion.dev/dashboard/keys](https://get2ndopinion.dev/dashboard/keys). The plugin reads credentials from `~/.config/2ndopinion/config.json` (shared with the CLI and MCP server).\n\n## Available Tools\n\n| Tool | Description | Plan Required |\n|------|-------------|---------------|\n| `second_opinion` | Single-model diff analysis with risk assessment | Free |\n| `ask_other_model` | Ask a different AI model a code question | Free |\n| `explain_changes` | Explain git changes for technical/non-technical/manager audience | Free |\n| `get_usage` | Check credit usage and plan limits | Free |\n| `review_pr` | Review a GitHub PR with AI analysis | Free |\n| `generate_tests` | Generate runnable tests for your changes | Pro+ |\n| `consensus_review` | All 3 models analyze + consensus algorithm | Power+ |\n| `bug_hunt` | 3-model bug detection with deduplication | Power+ |\n| `security_audit` | OWASP-focused security audit (single or multi-model) | Power+ |\n| `ai_debate` | Multi-round debate between 2-3 AI models | Agent |\n\n## Usage\n\n```typescript\nimport plugin from '@2ndopinion/codex-plugin';\n\n// List all tools\nfor (const tool of plugin.tools) {\n  console.log(`${tool.toolName}: ${tool.description}`);\n}\n\n// Run a tool\nconst result = await plugin.tools[0].handler({\n  llm: 'claude',\n});\nconsole.log(result);\n```\n\n### Individual Tool Imports\n\n```typescript\nimport { secondOpinion, askModel, consensus } from '@2ndopinion/codex-plugin';\n\n// Get a second opinion on current git changes\nconst review = await secondOpinion.handler({ llm: 'claude' });\n\n// Ask a question\nconst answer = await askModel.handler({\n  question: 'What is the best way to handle errors in this function?',\n  llm: 'gemini',\n});\n```\n\n## CI/CD Integration\n\nFor automated pipelines, use the 2ndOpinion CLI with `--ci` for structured JSON output:\n\n```bash\n# JSON output with exit codes (0=accept, 1=review, 2=reject)\nnpx 2ndopinion analyze --ci --llm codex > review.json\n\n# Use in GitHub Actions\nnpx 2ndopinion analyze --ci | jq '.verdict'\n```\n\nSee the [CLI README](https://www.npmjs.com/package/2ndopinion-cli) for full CI/CD documentation.\n\n## Development\n\n```bash\n# Watch mode\npnpm --filter @2ndopinion/codex-plugin dev\n\n# Build\npnpm --filter @2ndopinion/codex-plugin build\n\n# Test\npnpm --filter @2ndopinion/codex-plugin test\n```\n","readmeFilename":"README.md"}