This repository publishes in three different ways:
Claude/Codex/Copilotship from the GitHub repository marketplace files.OpenCodeand the standalone terminal CLI ship as npm packages (@bbingz/polycli-opencodeand@bbingz/polycli).- Library packages
@bbingz/polycli-utilsand@bbingz/polycli-timingship on their own v1.x cadence.
As of 2026-07-15, the current public release is v0.6.31:
- GitHub repo:
https://github.com/bbingz/polycli - GitHub release:
v0.6.31— https://github.com/bbingz/polycli/releases/tag/v0.6.31 (publishedAt2026-07-15T14:39:17Z; tag commita70eb093bc7892e2f6b653ed29ca8bba5d66489b) - Release notes: English · 简体中文 · 日本語
- Published npm packages:
@bbingz/polycli@0.6.31(latest, registry time2026-07-15T14:37:53.706Z, shasum57d0f77811767c4310623af03f27af82375abae8)@bbingz/polycli-utils@1.0.5(latest, registry time2026-07-15T14:37:22.557Z, shasum99df508a6bffe601e79569927bedf4016d3d471f)@bbingz/polycli-timing@1.0.2(latest, registry time2026-07-15T02:10:59.440Z, shasumbd305c872ecd50e0abef6b6bd4abefcc1240e15a)@bbingz/polycli-opencode@0.6.31(latest, registry time2026-07-15T14:38:07.324Z, shasum65c990f89df099bb0a1a95104a0a8400abb0f6ca)
@bbingz/polycli-runtimeremains an internal/private package.
Verified release paths:
Claude: marketplace add/install frombbingz/polycliCodex: marketplace add frombbingz/polycli, then installPolyclifrom TUI/pluginsCopilot: marketplace add/install frombbingz/polycliOpenCode:@bbingz/polycli-opencode- Terminal CLI:
npm install -g @bbingz/polycli - public utility packages:
@bbingz/polycli-utils,@bbingz/polycli-timing
Note:
- npm registry read-after-write may briefly lag immediately after publishing a new package version.
- GitHub social preview uses
docs/assets/social-preview.png; upload it from the repository settings UI when the preview needs refreshing.
Current runtime scope in-repo:
claudecopilotopencodepicmdgeminikimiqwenminimaxagygrok
Current host scope:
Claudemarketplace pluginCodexmarketplace pluginCopilotmarketplace pluginOpenCodenpm package- Terminal CLI npm package
Model selection behavior remains intentionally simple:
- every provider uses the underlying CLI default model unless
--modelis explicitly passed through runtime options
v0.6.0 absorbed the four legacy provider plugins into the unified polycli host surface:
- Kimi session continuation flags:
--resume-last,--resume <uuid>,--fresh - Gemini approval and reasoning flags:
--write,--effort low|medium|high - Claude Code lifecycle hooks and opt-in stop-time review gate
- 12 provider guidance skills under the
polycli:namespace - one generic
polycli:polycli-provider-agentsubagent - unified namespace UX:
/polycli:<command> --provider <provider>
The four legacy provider repos are no longer migration targets. They remain reference-only history and should not be edited from this repository.
Run the full release checks from the repository root:
npm run release:checkrelease:check includes:
npm run validate:bundles, a read-only source-derived freshness gate that runs before any in-place buildnpm test, which then rebuilds plugin bundles before running package, runtime, plugin, and release-script testsnpm run validate:fixturesnpm run check:fixture-freshness -- --strictnpm run validate:manifestsnpm run validate:host-mapnpm run validate:codex-adapternpm run check:review-drift(self-skips unavailable CLIs and blocks only detected installed-CLI review-flag drift)claude plugin validatefor the marketplace and Claude host plugin manifests- dry-run or pack checks for OpenCode, terminal CLI, utils, and timing npm packages
Run the review hard-constraint drift watcher directly when diagnosing a release-gate failure or inspecting local provider compatibility:
npm run check:review-driftBuild a distributable OpenCode tarball:
npm run pack:opencodeThe tarball is written to dist/.
Create or update the public repository:
gh repo create bbingz/polycli --public --source=. --remote=origin --pushFor the next release once external publishing is approved, replace <version> with the host plugin release version:
git push origin main
git tag v<version>
git push origin v<version>
gh release create v<version> --title "v<version>" --notes-file docs/release-notes-v<version>.mdConsumers install from the repository:
claude plugin marketplace add bbingz/polycli
claude plugin install polycli@polycli-hosts
codex plugin marketplace add bbingz/polycli
# then open Codex TUI /plugins and install Polycli from polycli-hosts
copilot plugin marketplace add bbingz/polycli
copilot plugin install polycli-copilot@polycli-hostsPublish the package directory directly:
npm publish ./plugins/polycli-opencode --access publicConsumers install with:
opencode plugin @bbingz/polycli-opencodeIf npm account policy requires interactive browser verification, complete the CLI auth challenge and then re-run the same npm publish command.
@bbingz/polycli is the PATH-callable wrapper around the bundled companion. It ships in lockstep with the host plugin version (validate:manifests enforces alignment).
Pre-publish sanity checks (already wired into release:check):
npm publish ./packages/polycli-terminal --dry-run --access publicreturns+ @bbingz/polycli@<version>with nonpm pkg fixwarning.npm pack ./packages/polycli-terminal --dry-run --jsonlistsLICENSE,README.md,package.json,bin/polycli.mjs, andbin/polycli-companion.bundle.mjs.
Publish with:
npm publish ./packages/polycli-terminal --access publicConsumers install with:
npm install -g @bbingz/polycli
polycli health --jsonThe terminal package re-uses the same polycli-companion.bundle.mjs that every host adapter ships. Before publishing, validate:bundles independently renders the expected outputs from source without writing them and compares all five bundle copies plus generated terminal metadata byte-for-byte; npm run build:plugins is the only in-place writer.