{"_id":"oh-my-review-experts","_rev":"45-62488aac22494a8e3e1c052da5101598","name":"oh-my-review-experts","dist-tags":{"latest":"0.4.3"},"versions":{"0.0.14":{"name":"oh-my-review-experts","version":"0.0.14","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.0.14","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"b0b87acd850c5beb7d957a1649b0fe51951afb29","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.0.14.tgz","fileCount":12,"integrity":"sha512-9dEZE402eO4lJAxeeEj0308w1JyrOT3MoWAiW2txI0xIkpmjQTdxIPg8lMqJykC/74v0AtcQ4UznsKcID6pa6A==","signatures":[{"sig":"MEYCIQCOhr8gOqycslWL29BxysDqra47Gon1DFCpbYXVbLcOdgIhAN/v8oECgg5jdCDHOjZqnuXWv8P5x+o0BiTiSR+ViHLV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":186663},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f2d5ff590e69728c9225e14f937ddf220e65b144","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","publish:both":"node scripts/publish-dual.js","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.11.0","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.2","commander":"^13.1.0","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"^1.14.40","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.0.14_1778315470939_0.6685511206770851","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"oh-my-review-experts","version":"0.0.16","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.0.16","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"2a0f75ce47b8082da33cac9302bf0cea9c0c555f","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.0.16.tgz","fileCount":12,"integrity":"sha512-BQ81LBQ4BIibWFpY87eqLREdNvqM7u2umEkosNviEMPnX0p755JrPs1jW8WPwpGz4z+YMWeQE7aLEN6W7FtfuQ==","signatures":[{"sig":"MEUCIEkvUMqYD6m9IuctgVzMK/WMuBVo3f212pxjZCHI364UAiEA925GMGi7xp+1hkeItUkK1TBnITF4NfSANVAU1T8i+Pc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":234544},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"60c6a6e9c2ba22dccf7e5fd4349176a146f5062d","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","publish:both":"node scripts/publish-dual.js","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.11.0","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.2","commander":"^13.1.0","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"^1.14.40","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.0.16_1778492288196_0.17421828453522337","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"oh-my-review-experts","version":"0.0.17","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.0.17","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"03401826fdb53a0e6ac53639c9332fa59298857c","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.0.17.tgz","fileCount":12,"integrity":"sha512-tHOvlm6Hg5RUM+OpMiG2o46es0EQz1d4dDpfk8SDOtuEWWYHwofoRofq6odd6bSYWBKwD05Ijo1iRoTE74TkkA==","signatures":[{"sig":"MEYCIQD4bT07rFegttyXeyNSEQceJq5U59TK/PdONBrIHFvPSQIhAO/1cRd9AbHlKSkwhR+1kX51S59iRNl8HDMr3aDwZ4m2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.0.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":251663},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1d5e7e67177c93f9dda26dcd404127724d68ce0e","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","publish:both":"node scripts/publish-dual.js","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.11.0","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.2","commander":"^13.1.0","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"^1.14.40","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.0.17_1778595989602_0.31770001604373976","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"oh-my-review-experts","version":"0.0.18","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.0.18","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"b9d0b41ae09b8f3379643fa7029b54684253ff75","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.0.18.tgz","fileCount":12,"integrity":"sha512-UEbgjAWNCjLFMt4KH3TW9VYYdgoivq6tvdgXWw2OHs2TMlRc7Jac4H4jg2rTdo5wlk+evvCxAU42Frl7J0Nfgw==","signatures":[{"sig":"MEUCIENBw6y/HoW6N8kA7EtSSZTvCWB5W8gwI2yQmKeodet4AiEAoOJgqKRCV1RNLVRSzMN5GsD9TE9dtP7zVBbMvfqxpu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.0.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6a42e4d4fbf0437ef39f308fc22a615f8982b2d9","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","publish:both":"node scripts/publish-dual.js","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.11.0","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"zod":"4.1.8","commander":"^13.1.0","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.0.18_1778766905461_0.5813986093206063","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"oh-my-review-experts","version":"0.0.20","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.0.20","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"6fd269efa898866e9ef6e8e768fc37930933b22c","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.0.20.tgz","fileCount":12,"integrity":"sha512-rq9USf5eahBrOFg8dV6zy/P3W9Y1ljhhw3ecXp8krbDp7xM4WJRaaUGVA/qbMkLVIIKk7H5guhDm754l8LO1vA==","signatures":[{"sig":"MEYCIQDi3Ys+sMyIfuU046ND7UqacDqI8dvK+14ziX57KvB1UgIhAJX2TXEALqSwbdESLPnJHLCvHz18IcLY2m+FosoE4Tr2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.0.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":307106},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d83195c6f7bc9a02b18c7a9dd0994b187d270f86","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","publish:both":"node scripts/publish-dual.js","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.12.1","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"zod":"4.1.8","commander":"^13.1.0","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.0.20_1778985784545_0.30471712498719183","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"oh-my-review-experts","version":"0.1.1","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.1.1","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"97d259e2fa541fbf6505c59c1e7bf4a11d4a0fea","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.1.1.tgz","fileCount":12,"integrity":"sha512-ZvHRDXg+29yhhrEkubGu1in7h9MDyh51EFhPY5O5yyQCIvzYRxEQOdAgEvyeXm7YD7DMkBP28lvQwZU/L53n1w==","signatures":[{"sig":"MEYCIQCoZfeXuoAFLQ3Ok8qGZw5Rd66jdZb9YhrTuBIe14FwrAIhALIDqhDbFggeyVQzR9fcbpDxZr3SZ+L0reyUrTHovYGC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":320993},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f2827dc1e22b15b0bd4069458d5e31824d087af5","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","publish:both":"node scripts/publish-dual.js","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.12.1","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"zod":"4.1.8","commander":"^13.1.0","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.1.1_1779009664430_0.2997495253580138","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"oh-my-review-experts","version":"0.1.9","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.1.9","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"6e73fd4100e8bb7d369113d0942341317a2aaeb3","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.1.9.tgz","fileCount":12,"integrity":"sha512-FET+H8h/eOkfnOs1bUfRh/Qtnb6ZHVQp9YsI7Hxspo5HXkJ5cacyQVPQU13H35pTg3T++4FlQyOHIKWsCvN78w==","signatures":[{"sig":"MEUCIQDp4vuNWbKlBn0W/UlXKbfLl3h9oNbFa5nrjeBEzRsgFAIgWxAtEJHUpiXYqeyfbJHunP3JdhyOCPuwue798QBkHrA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":363469},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"12040dd1845289507762c1c2b9a7762f25f5e208","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","publish:both":"node scripts/publish-dual.js","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.12.1","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"zod":"4.1.8","commander":"^13.1.0","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.1.9_1779170693247_0.1234133860450255","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"oh-my-review-experts","version":"0.1.10","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.1.10","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"bcf09138c290eecacbedff2b2674158ee903f4d8","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.1.10.tgz","fileCount":12,"integrity":"sha512-kzm2OxYqDAjyYZYmj463uD45DPRAoQZ3j/J1BTazU08ULsweUi19q8jFW8Mb6vCHZ8EsAnIYOgqWwWQq+zd2Ng==","signatures":[{"sig":"MEUCIEQa2OeJPxrjs1+QuhsPWmeln+yFWfrhEfV+MjLmvpLWAiEA9fDSfGUMrm7C1OK5bFlsL3VjTLCQObod66oaNtgW8v8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":421800},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b5a4b790be7bc88c203893fe622429a21616ba7e","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","publish:both":"node scripts/publish-dual.js","doctor:strict":"node dist/cli.js doctor --strict","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.12.1","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"zod":"4.1.8","commander":"^13.1.0","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.1.10_1779198170836_0.9532533562503946","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"oh-my-review-experts","version":"0.1.11","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.1.11","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"e49805e7c53837d3dfa65e5e73c6bec8ffd66068","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.1.11.tgz","fileCount":12,"integrity":"sha512-JC79mBxi4Iqa8DUGbbuihhQIqwTUcP62Hb/DlJdKDf0Cdi2p0educfht7S2E0UGHZcz3Xa/+HjaQTEgHm0VB/g==","signatures":[{"sig":"MEUCICPYp2aF0RoG6XFkw+xe+/+vAvXA4SIqvBQlnNvo+ocMAiEAwhcv6v/U52WDZyV7xMC8Luu3TezL8JzsTDvHjPOv9To=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":421346},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"62f735837f838e7eded6425d0f1504005c6a983c","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","publish:both":"node scripts/publish-dual.js","doctor:strict":"node dist/cli.js doctor --strict","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.12.1","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"zod":"4.1.8","commander":"^13.1.0","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.1.11_1779200870189_0.8240787968717107","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"oh-my-review-experts","version":"0.1.12","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.1.12","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"9fbb1487aa05451c8164249cf23d04f349d6f6d0","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.1.12.tgz","fileCount":12,"integrity":"sha512-8p9orjrD4C8OIMlnRJmHBX+AvS5L/b9eYLaCngOaS2r2F5Pj6LuU4Y5Cw79wHyI8kFgoQfOUFYpU6bQHPabTGw==","signatures":[{"sig":"MEUCIQDU356hUr9dh32rkqVd8yomVBIQdbS9KlvRaRZ+45aUBQIgfRlb/u7fVQlxGTJjMhO6a50W940ravfqo7f45LQpfVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":475191},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ab0893e7a4562e89dda604b9588fc32bd39dd4a8","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","publish:both":"node scripts/publish-dual.js","doctor:strict":"node dist/cli.js doctor --strict","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.12.1","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"zod":"4.1.8","commander":"^13.1.0","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.1.12_1779249374421_0.1746354093615341","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"oh-my-review-experts","version":"0.2.1","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.2.1","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"3a61bc94a9b6e0f21eb299ed5529b8ae83d54324","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.2.1.tgz","fileCount":12,"integrity":"sha512-LCcpQcqpuAYJHLxQI3I/511K+vD8DL/k4zSk8j9EBhbIuLEVq2f3wz9r1Hdb3W/1XRCs/kd4qrKKFnQlkHXbcQ==","signatures":[{"sig":"MEUCIA8bDAfU+p2wbw4xw64w63EHt9r7CRAseAzfHg7wUSKUAiEAnf/xszUBaVEYa3tOgrPxZ6DL+3fb35vWe7OuAYO45ZE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":502326},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d83f2550de540fa645b4542498e770d9ee15933e","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","publish:both":"node scripts/publish-dual.js","doctor:strict":"node dist/cli.js doctor --strict","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.12.1","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"zod":"4.1.8","commander":"^13.1.0","cli-table3":"0.6.5","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.2.1_1779415771904_0.5941568387383984","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"oh-my-review-experts","version":"0.3.1","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.3.1","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"06ac2c3cd233c10717eb0cf581417321c69caeab","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.3.1.tgz","fileCount":12,"integrity":"sha512-rseMJzniURqKu/kHUtUX1pBlicP+n6JP5duaQw6owUTC7ccQgtfs9WJuGiwlvekPJPZPKa9NAMaHXgL+njnIrg==","signatures":[{"sig":"MEQCIB2so0NvnDuDqKTqN1k1smmnWGsO8Fb3vDM9JTCdcyi4AiBnGpHCCfZNAHVOCBl/BE3SqoFX8d48oHga6mwoFPSSnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":493336},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"836a329dd78b57c88456af9aada8eafdb75328b2","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","publish:both":"node scripts/publish-dual.js","doctor:strict":"node dist/cli.js doctor --strict","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.12.1","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"zod":"4.1.8","commander":"^13.1.0","cli-table3":"0.6.5","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.3.1_1779589388590_0.23115770747325226","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"oh-my-review-experts","version":"0.3.2","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.3.2","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"4eb70e3047bac8072f749480561d3f412fe0f2ee","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.3.2.tgz","fileCount":12,"integrity":"sha512-GRy+pl0LyrLJ3mOBAPlSp4e5bRMj54eZU2imEOVWHZ9zaeeVqvjcM3mwc5Yx7fofPgiJGLid1LOFUd/w6aWG2A==","signatures":[{"sig":"MEUCIQDmU7D2ZmN/DWq3HMJsj3H+/6d09b31+w3ol8gr69Si2gIga0/j6Gy1692Csg4fU8eRMn7XAmvJajBn3FggE/IWZ6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":498722},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"38ef2196ce809944f36ffde0fe532696cd1e526f","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","check-schema":"tsx scripts/check-schema.ts","publish:both":"node scripts/publish-dual.js","doctor:strict":"node dist/cli.js doctor --strict","test:coverage":"vitest run --coverage","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.12.1","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"zod":"4.1.8","commander":"^13.1.0","cli-table3":"0.6.5","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","@vitest/coverage-v8":"3.2.4","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.3.2_1779785866166_0.5222844945998699","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"oh-my-review-experts","version":"0.4.0","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.4.0","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"01e8b16b0deb40536da21a3185d4b00ae43f937f","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.4.0.tgz","fileCount":12,"integrity":"sha512-m4YjnIZib1abuLVe4XJ0tove/ZqgGsRqDwiVZ3LXsBOsUNwjj3IkfRzI4C+erT7d4gnXARzJDMTNtSlk0iISKA==","signatures":[{"sig":"MEYCIQCJ2dq0pBg853Vh0T+TdNOWo3OVPjTBs5CqRtyYiKs8/QIhAK26H5tiME95PFS7nQ30u2u5CGL/ieCy27CGokdaiEda","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":978395},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5b1c41746ef1ae093b7c862d0f5349378013c9d8","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","eval:recall":"tsx scripts/eval-recall.ts","postversion":"git push && git push --tags","check-schema":"tsx scripts/check-schema.ts","publish:both":"node scripts/publish-dual.js","doctor:strict":"node dist/cli.js doctor --strict","test:coverage":"vitest run --coverage","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.13.0","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"zod":"4.1.8","commander":"^13.1.0","cli-table3":"0.6.5","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","@vitest/coverage-v8":"3.2.4","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.4.0_1782267687722_0.7215305377361432","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"oh-my-review-experts","version":"0.4.1","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.4.1","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"1e474fd885a59efe270d5f210ed7799a3840a880","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.4.1.tgz","fileCount":12,"integrity":"sha512-bxb2Uqdezkt5SQgF3+lZ36h3fT3n2J0wcgkqBanmaz7KH0oFC7gv8QflKEj19dtBBLwERSKpaYw471iypG1V6w==","signatures":[{"sig":"MEUCICuc6EnxhtSb1hx7ssrIRInGlKKlRePDl6fwR3jMY5/5AiEAvI/pC6I1wt4EyO2rpA5FHV8v7ID23vcUCRNW5cphj04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":978391},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"080b034a68f4c3a7eecd489c90b7adbd80c84408","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","eval:recall":"tsx scripts/eval-recall.ts","postversion":"git push && git push --tags","check-schema":"tsx scripts/check-schema.ts","publish:both":"node scripts/publish-dual.js","doctor:strict":"node dist/cli.js doctor --strict","test:coverage":"vitest run --coverage","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.13.0","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"zod":"4.1.8","commander":"^13.1.0","cli-table3":"0.6.5","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","@vitest/coverage-v8":"3.2.4","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.4.1_1782267879712_0.9589457685150671","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"oh-my-review-experts","version":"0.4.2","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"author":{"name":"zapsaang"},"license":"MIT","_id":"oh-my-review-experts@0.4.2","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"dist":{"shasum":"e27234b6a5a9a8448c7ad965aa1b508aa53c0040","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.4.2.tgz","fileCount":12,"integrity":"sha512-PS50pliRL8klXqrF6Uf+zttsgXexzu1Vtlw8K/u/V0XgeeiqAlLRnMHN6vnf+sjH6QzLevToamgvMGt3oZz4fw==","signatures":[{"sig":"MEQCIFV7XRxWY8D+yEpG0Ehd8EM9uJrz+IyylP8cbZ7SYJ/mAiB7cz1aJbsbooeip/N6OCW6RQ1MlVvIldG78cDkuCddfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":982573},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0a0c55ab2b92c5fac951ed6c8e248bb1f393c52b","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","typecheck":"tsc --noEmit","pack:local":"npm pack","preversion":"npm run typecheck && npm run test","eval:recall":"tsx scripts/eval-recall.ts","postversion":"git push && git push --tags","check-schema":"tsx scripts/check-schema.ts","publish:both":"node scripts/publish-dual.js","doctor:strict":"node dist/cli.js doctor --strict","test:coverage":"vitest run --coverage","generate-schema":"tsx scripts/generate-json-schema.ts","publish:dry-run":"node scripts/publish-dual.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"repository":{"url":"git+https://github.com/zapsaang/oh-my-review-experts.git","type":"git"},"_npmVersion":"11.13.0","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"zod":"4.1.8","commander":"^13.1.0","cli-table3":"0.6.5","picocolors":"^1.1.1","jsonc-parser":"^3.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","tsup":"^8.3.6","vitest":"^3.0.5","typescript":"^5.9.3","@types/node":"^22.13.5","@opencode-ai/plugin":"1.14.46","@vitest/coverage-v8":"3.2.4","typescript-language-server":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-review-experts_0.4.2_1782444534241_0.6929860873444733","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"oh-my-review-experts","version":"0.4.3","description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","type":"module","license":"MIT","author":{"name":"zapsaang"},"sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/zapsaang/oh-my-review-experts.git"},"keywords":["opencode","plugin","code-review","multi-agent","review-code"],"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"bin":{"omre":"dist/cli.js","oh-my-review-experts":"dist/cli.js"},"scripts":{"build":"tsup src/index.ts src/cli.ts --format esm --dts --clean --sourcemap --external @opencode-ai/plugin --external @opencode-ai/sdk","generate-schema":"tsx scripts/generate-json-schema.ts","prebuild":"npm run generate-schema","postbuild":"node scripts/verify-packaging.js","dev":"tsx src/cli.ts","typecheck":"tsc --noEmit","check-schema":"tsx scripts/check-schema.ts","eval:recall":"tsx scripts/eval-recall.ts","test":"vitest run","test:coverage":"vitest run --coverage","preversion":"npm run typecheck && npm run test","postversion":"git push && git push --tags","doctor:strict":"node dist/cli.js doctor --strict","publish:dry-run":"node scripts/publish-dual.js --dry-run","publish:both":"node scripts/publish-dual.js","pack:local":"npm pack"},"dependencies":{"cli-table3":"0.6.5","commander":"^13.1.0","jsonc-parser":"^3.3.1","picocolors":"^1.1.1","zod":"4.1.8"},"devDependencies":{"@opencode-ai/plugin":"1.14.46","@types/node":"^22.13.5","@vitest/coverage-v8":"3.2.4","tsup":"^8.3.6","tsx":"^4.19.3","typescript":"^5.9.3","typescript-language-server":"^5.1.3","vitest":"^3.0.5"},"engines":{"node":">=20"},"publishConfig":{"access":"public"},"gitHead":"a441ffe0007fee038613b406b028f112a9350f74","_id":"oh-my-review-experts@0.4.3","bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-T2waC1CYw9ozs9OEsQaIxuLzBJ7Md1cs4BpGDXcPwVXy8gViqReNtWI8desTZIT5Nj+vZSwyJxaBZXbEAGyL+g==","shasum":"95dd434b67830b5e15620526cc9502f0eb13c805","tarball":"https://registry.npmjs.org/oh-my-review-experts/-/oh-my-review-experts-0.4.3.tgz","fileCount":12,"unpackedSize":994272,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-review-experts@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGf0yizYlnkeB1yPbcYFQRNSAucSOzGwjR8eaDR9vtcAAiEAo2lMhJ3+jlHrLfVQQ2L4cziUOtIea1M99MfYqL0B7dc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11a3fa17-eeff-43b8-b8bc-6980e680b396"}},"directories":{},"maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oh-my-review-experts_0.4.3_1786706189300_0.26191459774232295"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-08T07:58:34.763Z","modified":"2026-08-14T11:16:29.895Z","0.0.1":"2026-05-08T07:58:35.019Z","0.0.2":"2026-05-08T09:04:55.373Z","0.0.3":"2026-05-08T09:24:37.318Z","0.0.4":"2026-05-08T09:44:50.628Z","0.0.5":"2026-05-08T11:56:54.426Z","0.0.6":"2026-05-08T13:02:04.770Z","0.0.7":"2026-05-08T13:16:04.884Z","0.0.8":"2026-05-08T14:01:33.335Z","0.0.9":"2026-05-08T14:27:40.259Z","0.0.10":"2026-05-09T01:51:19.129Z","0.0.11":"2026-05-09T03:06:21.849Z","0.0.12":"2026-05-09T07:02:51.417Z","0.0.14":"2026-05-09T08:31:11.142Z","0.0.15":"2026-05-11T09:14:45.738Z","0.0.16":"2026-05-11T09:38:08.336Z","0.0.17":"2026-05-12T14:26:29.740Z","0.0.19":"2026-05-14T13:55:03.938Z","0.0.18":"2026-05-14T13:55:05.649Z","0.0.20":"2026-05-17T02:43:04.685Z","0.1.1":"2026-05-17T09:21:04.564Z","0.1.9":"2026-05-19T06:04:53.424Z","0.1.10":"2026-05-19T13:42:50.970Z","0.1.11":"2026-05-19T14:27:50.340Z","0.1.12":"2026-05-20T03:56:14.607Z","0.2.1":"2026-05-22T02:09:32.080Z","0.3.1":"2026-05-24T02:23:08.730Z","0.3.2":"2026-05-26T08:57:46.324Z","0.4.0":"2026-06-24T02:21:27.920Z","0.4.1":"2026-06-24T02:24:39.937Z","0.4.2":"2026-06-26T03:28:54.383Z","0.4.3":"2026-08-14T11:16:29.446Z"},"bugs":{"url":"https://github.com/zapsaang/oh-my-review-experts/issues"},"author":{"name":"zapsaang"},"license":"MIT","homepage":"https://github.com/zapsaang/oh-my-review-experts#readme","keywords":["opencode","plugin","code-review","multi-agent","review-code"],"repository":{"type":"git","url":"git+https://github.com/zapsaang/oh-my-review-experts.git"},"description":"Runtime-first OpenCode review-code plugin with built-in expert agents, slicing, partial rerun, and report export.","maintainers":[{"name":"zapsaang","email":"admin@zapsaang.com"}],"readme":"<div align=\"center\">\n\n# Oh My Review Experts\n\n**A five-expert AI code review panel for [OpenCode](https://github.com/sst/opencode) — one slash command, zero agent folders in your repo.**\n\n[![npm](https://img.shields.io/npm/v/oh-my-review-experts.svg)](https://www.npmjs.com/package/oh-my-review-experts)\n[![OpenCode](https://img.shields.io/badge/OpenCode-1.14%2B-blue)](https://github.com/sst/opencode)\n[![Node](https://img.shields.io/badge/Node-20%2B-339933)](https://nodejs.org)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n\n</div>\n\nReviewing a real diff well is not one job — it's five. Spec compliance, code quality, security, performance, and concurrency each demand a different lens, and most AI review setups either squash them into one mushy prompt or make you hand-curate a folder of agent definitions you have to maintain forever.\n\n`omre` takes a third path. Install once, type `/review-code`, and get a structured report with findings, evidence, suggested fixes, and an audit trail on disk. The expert panel lives inside the plugin, so your repo stays clean — no agent markdown, no command files copied in, just one line in `opencode.json`.\n\n## Features\n\n- **Five focused reviewers, one command.** Spec, quality, security, performance, and concurrency each run with their own prompt contract and JSON output schema — no shared blind spots.\n- **Smart slicing.** Changed files are classified into eight categories, grouped by module, and routed only to the reviewers that matter. Docs-only changes skip review entirely; migrations get spec, performance, and concurrency.\n- **Cost guardrails.** Every run estimates its task count up front, shifts to compact mode past a soft limit, and halts to ask before it can run away with your budget.\n- **Partial rerun.** When one reviewer fails or returns malformed output, only that task re-runs. The rest of the pipeline keeps its results.\n- **Review Memory.** Findings are indexed after each run, so future reviews resurface relevant history and flag regressions — a previously fixed issue reappearing in a similar module gets caught.\n- **Reports that stick around.** Final output lands in `.omre/reports/` as human-readable Markdown and schema-validated JSON, with timestamped history snapshots.\n- **Security on by default.** Path-traversal guards, prompt-injection filtering, and secret redaction run on every boundary, with no toggle to turn them off.\n- **A clean install.** `omre install` writes a single plugin entry to `opencode.json`. Everything else resolves in memory at startup.\n\n## Getting started\n\n### Prerequisites\n\n- [OpenCode](https://github.com/sst/opencode) 1.14 or newer\n- [Node.js](https://nodejs.org) 20 or newer\n- A git repository (the plugin reads changed files via `git diff`)\n\n### Install\n\nInstall globally and enable it for every project:\n\n```bash\nnpm install -g oh-my-review-experts\nomre install --global\n```\n\nOr scope it to a single project:\n\n```bash\ncd your-project\nnpx oh-my-review-experts install --project\n```\n\n> [!NOTE]\n> `omre install` only writes the plugin entry to `opencode.json` plus an optional config file. It never copies agents or commands into your repo.\n\n### Run your first review\n\nIn OpenCode, review your working changes:\n\n```text\n/review-code\n```\n\nSteer the panel toward what you care about:\n\n```text\n/review-code focus on disk format compatibility and concurrency hazards\n```\n\nOr preview the assembled prompt without calling any model:\n\n```text\n/review-code --echo-prompt\n```\n\n## Usage\n\n### Choosing what to review\n\n`/review-code` accepts optional scope prefixes that control which changes get reviewed:\n\n| Input | Resolved scope | Equivalent git command |\n|---|---|---|\n| *(empty)* | working tree + staged + untracked | `git diff HEAD` + `git ls-files --others --exclude-standard` |\n| `staged` / `--staged` / `--cached` | staged only | `git diff --cached` |\n| `commit:<ref>` | one commit | `git show <ref>` |\n| `branch:<name>` | branch vs HEAD | `git diff <name>...HEAD` |\n| `range:<from>..<to>` | commit range | `git diff <from>...<to>` |\n| `path:<paths>` | filtered by path (comma-separated) | `git diff HEAD -- <paths>` |\n| bare `<sha>` | resolves to commit if it exists | same as `commit:` |\n| bare `<branch>` | resolves to branch if it exists | same as `branch:` |\n| bare `<path>` | resolves to path if it exists | same as `path:` |\n| anything else | guidance text (default scope still reviewed) | `git diff HEAD` |\n\nA bare input that is both a branch and a directory is ambiguous and needs an explicit prefix.\n\n### The reviewers\n\n| Reviewer | Looks for |\n|---|---|\n| `spec` | Contract drift, breaking changes, missing requirements |\n| `quality` | Readability, maintainability, duplication, dead paths |\n| `security` | Injection, authz gaps, unsafe crypto, leaked secrets |\n| `performance` | Hot-path allocations, N+1 queries, bad complexity |\n| `concurrency` | Races, deadlocks, ordering hazards, cancellation bugs |\n\n## How it works\n\n```\n1. /review-code runs in OpenCode\n   ↓\n2. command.execute.before hook intercepts\n   ↓\n3. Git diff captured, secrets redacted\n   ↓\n4. Slicing engine groups changed files\n   ↓\n5. Cost guardrail estimates task count\n   ↓\n6. Reviewers run in parallel, per slice\n   ↓\n7. Each reviewer writes a handoff file\n   ↓\n8. Slice arbiter merges per-slice findings\n   ↓\n9. Global arbiter merges across slices\n   ↓\n10. Report writer persists latest.md, latest.json, history/\n```\n\nSubagents write structured Markdown to `.omre/handoffs/{runId}/`, and the orchestrator builds the final report from those files — not from chat transcripts. Chat output is a receipt; the file is the source of truth. That keeps long reviews reproducible and debuggable.\n\nThe plugin registers the command and all 11 subagents at boot through OpenCode's `config` hook, so there are no command markdown files to maintain.\n\n## Configuration\n\nConfiguration is optional — if you never write one, sensible defaults apply. When you do, `omre` walks a hierarchy and deep-merges, with project config overriding global.\n\nLoad order (later wins):\n\n1. `~/.config/opencode/oh-my-review-experts.jsonc`\n2. `~/.config/opencode/oh-my-review-experts.json`\n3. `.opencode/oh-my-review-experts.jsonc`\n4. `.opencode/oh-my-review-experts.json`\n5. `.omre/config.jsonc`\n6. `.omre/config.json`\n\nScaffold a starting point with `omre init`. A representative config:\n\n```jsonc\n{\n  \"$schema\": \"https://raw.githubusercontent.com/zapsaang/oh-my-review-experts/main/schemas/oh-my-review-experts.schema.json\",\n  \"enabled\": true,\n  \"command\": {\n    \"enabled\": true,\n    \"name\": \"review-code\",\n    \"aliases\": [\"rc\"],\n    \"injection\": \"both\",\n    \"scopeResolution\": \"auto\"\n  },\n  \"agents\": {\n    // Per-agent overrides. Unlisted agents fall back to the default model.\n    // \"omre-reviewer-spec\": { \"model\": \"anthropic/claude-opus-4-7\", \"variant\": \"max\", \"temperature\": 0.7, \"top_p\": 0.9 }\n  },\n  \"slicing\": {\n    \"enabled\": true,\n    \"maxSlices\": 4,\n    \"skipDocsOnly\": true,\n    \"skipTestOnlyHeavyReview\": true,\n    \"forceWholeTargetAboveSlices\": 12\n  },\n  \"partialRerun\": { \"enabled\": true, \"maxRetriesPerTask\": 1 },\n  \"costGuardrail\": {\n    \"enabled\": true,\n    \"maxEstimatedTasks\": 24,\n    \"compactModeThreshold\": 20,\n    \"hardStopThreshold\": 60\n  },\n  \"arbitration\": { \"hierarchicalThreshold\": 3 },\n  \"report\": {\n    \"enabled\": true,\n    \"directory\": \".omre/reports\",\n    \"latestMarkdown\": \"latest.md\",\n    \"latestJson\": \"latest.json\",\n    \"timestamped\": true\n  },\n  \"handoff\": { \"enabled\": true, \"directory\": \".omre/handoffs\" },\n  \"reviewers\": {\n    \"default\": [\"spec\", \"quality\", \"security\", \"performance\", \"concurrency\"],\n    \"bySliceType\": {\n      \"api-contract\":      [\"spec\", \"security\", \"concurrency\"],\n      \"migration\":         [\"spec\", \"performance\", \"concurrency\"],\n      \"business-module\":   [\"spec\", \"security\", \"performance\", \"concurrency\"],\n      \"shared-library\":    [\"spec\", \"quality\", \"security\", \"concurrency\"],\n      \"dependency-change\": [\"security\", \"performance\"],\n      \"infra-change\":      [\"security\", \"performance\"],\n      \"test-only\":         [\"spec\", \"quality\"],\n      \"docs-only\":         []\n    }\n  }\n}\n```\n\n### Injection modes\n\n`command.injection` controls how `/review-code` is wired:\n\n- `\"both\"` (default): registered via the `config` hook and intercepted by `command.execute.before`. Recommended.\n- `\"hook\"`: same as `\"both\"`.\n- `\"disabled\"`: no registration or interception. Useful for muting the plugin temporarily.\n- `\"tool\"`: no slash command; plugin tools stay available via `hooks.tool`.\n\nSetting `scopeResolution: \"guidance-only\"` reproduces the pre-0.x behavior: args become opaque guidance text and the scope is always `git diff HEAD`.\n\n### Configurable agents\n\nAll 11 agents can be overridden by exact name under `agents`:\n\n| Agent | Role |\n|---|---|\n| `omre-reviewer-spec` | Contract drift, breaking changes, missing requirements |\n| `omre-reviewer-quality` | Readability, maintainability, duplication, dead paths |\n| `omre-reviewer-security` | Injection, authz gaps, unsafe crypto, leaked secrets |\n| `omre-reviewer-performance` | Hot-path allocations, N+1 queries, bad complexity |\n| `omre-reviewer-concurrency` | Races, deadlocks, ordering hazards, cancellation bugs |\n| `omre-slice-planner` | Classifies changed files into slices |\n| `omre-slice-plan-validator` | Validates slice plan output |\n| `omre-result-validator` | Validates reviewer handoff output |\n| `omre-slice-arbiter` | Merges findings within a slice |\n| `omre-global-arbiter` | Merges findings across slices |\n| `omre-report-writer` | Persists the final report |\n\n## CLI\n\n```bash\nomre init [--force]              # scaffold .opencode/oh-my-review-experts.jsonc\nomre install --global            # enable plugin in ~/.config/opencode/opencode.json\nomre install --project           # enable plugin in ./opencode.json\nomre doctor [--clean-reports] [--strict]\n                                 # validate config + wiring + contracts (used in CI)\n                                 # exit codes: 0 clean, 1 warning (with --strict), 2 contract failure\nomre dry-run                     # build the prompt locally, no model calls\n\nomre memory check                # diagnose memory health\nomre memory stats                # show aggregate counts\nomre memory search \"tenant isolation\"\nomre memory list --status open --reviewer security\nomre memory show mem_xxx\nomre memory mark mem_xxx --status fixed --reason \"fixed in abc123\"\nomre memory compact              # merge raw event segments\nomre memory gc                   # clean up old files\n```\n\n`omre doctor` reports config files, the command and its aliases, plugin registration, subagent permissions, agent runtime models (tier and source), the contract self-check, and report layout — making it a good CI gate. `omre dry-run` runs the pipeline up to the point a model would be invoked, then prints the assembled prompt and estimated plan.\n\n## Reports and handoffs\n\nReports land under `.omre/reports/`:\n\n```\n.omre/reports/\n├── latest.md                   # human-readable final report\n├── latest.json                 # machine-readable (schema-validated)\n└── history/\n    └── 20260507-183012-123.md  # timestamped snapshots\n```\n\nPer-run handoffs are written under `.omre/handoffs/`:\n\n```\n.omre/handoffs/20260507-183012-123/\n├── 20260507-183045-001-omre-reviewer-security-auth.md\n├── 20260507-183047-002-omre-reviewer-performance-queue.md\n└── ...\n```\n\nEach handoff carries the agent name, scope, files inspected, findings with evidence, risk level, suggested fixes, confidence, and open questions.\n\n> [!NOTE]\n> Durability is honest about its limits. File writes are atomic per file (temp + rename), so no single file is ever half-written — but there is no `fsync`, no cross-file transaction, and `.omre/memory/` is single-process with last-writer-wins semantics. Run `omre memory compact` after a crash.\n\nFor programmatic use, seven tools are exposed: `omre_build_review_code_prompt`, `omre_dry_run`, `omre_config`, `omre_write_handoff`, `omre_write_report`, `omre_validate_handoff`, and `omre_finalize_review`.\n\n## Security\n\nThese protections are always on and not togglable:\n\n- **Path-traversal guards** (`assertSafePath` / `assertSafeCwd`) on every write boundary, rejecting `..`, absolute paths, and non-UTF-8 byte sequences.\n- **Prompt-injection filtering** on user args via a regex blacklist, with args truncated at 4 KB and a visible warning.\n- **Scope-arg sanitization** rejecting shell metacharacters in path-shaped args, `..` segments, and leading `--`.\n- **Secret redaction** (`redactSecrets`) that scrubs API keys, tokens, private keys, and connection strings from diffs before they reach any model.\n- **Command-name validation** rejecting `__proto__`, `constructor`, and `prototype`.\n- **Diff bounds**: the unified diff is capped at 180 KB with a visible truncation marker.\n- **Permission hook**: a `permission.ask` hook auto-denies external write/edit access to `.omre/reports/` and `.omre/handoffs/`.\n\n> [!TIP]\n> Add `.omre/memory/` to your `.gitignore`. It can contain internal code paths and evidence from previous runs.\n\n## Under the hood\n\n- **Pure ESM, no CJS wrapper.** The package exposes only `exports.import` pointing at `dist/index.js`. OpenCode runs on Bun, and a CJS function module breaks its plugin loader with `\"Plugin export is not a function\"`. ESM only, always.\n- **Near-zero runtime footprint.** `@opencode-ai/plugin` is a devDependency imported via `import type`; the shipped bundle is roughly 1 KB of code plus prompt strings.\n- **Agent tiers.** Each subagent is tagged `critical`, `standard`, `coordination`, or `utility`, and `omre doctor` surfaces the tier, runtime model, and source (config override vs default) for every one.\n\n## Development\n\n```bash\nnpm install\nnpm run dev              # tsx src/cli.ts\nnpm run typecheck        # tsc --noEmit (strict, no `as any`)\nnpm run test             # vitest run\nnpm run generate-schema  # regenerate JSON schema from Zod types\nnpm run build            # prebuild -> tsup -> postbuild (ESM + .d.ts + sourcemaps)\nnpm run doctor:strict    # same as `doctor --strict`\n```\n\nCI (Node 22, Ubuntu) runs `npm ci && typecheck && test && build && doctor:strict`.\n","readmeFilename":"README.md"}