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-06-26, the current public release is v0.6.28:
- GitHub repo:
https://github.com/bbingz/polycli - GitHub release:
v0.6.28— https://github.com/bbingz/polycli/releases/tag/v0.6.28 (publishedAt2026-06-26T15:21:35Z) - Published npm packages:
@bbingz/polycli-opencode@0.6.28(latest,time.modified2026-06-26T15:21:17.991Z, shasum0cb4db0ee36d9463122533bf1906ceea954222df)@bbingz/polycli@0.6.28(latest,time.modified2026-06-26T15:18:36.741Z, shasum6ab1bc8e4f8f241ac529058ef325c41f80983e6f)
- Utility packages remain unchanged:
@bbingz/polycli-utils@1.0.2and@bbingz/polycli-timing@1.0.1. @bbingz/polycli-timing@1.0.1unchanged (already on the registry; not republished).
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 test, which rebuilds plugin bundles before running package, runtime, plugin, and release-script testsnpm run validate:bundlesnpm run validate:fixturesnpm run validate:manifestsnpm run validate:host-mapnpm run validate:codex-adapterclaude 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 before release candidates that touch review flow:
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, so npm run build:plugins must succeed before publishing — validate:bundles confirms the five companion bundle copies are byte-identical.