Thanks for improving polycli. This repository is intentionally small and conservative: provider adapters stay flat, provider differences stay visible, and shared utilities only cover low-semantic-risk behavior.
Run the relevant focused check first, then the full release check before a release-facing change:
npm install
npm test
npm run release:checkFor narrower changes, use the focused commands from AGENTS.md, for example:
node --test packages/polycli-runtime/test/*.test.js
node --test plugins/polycli/scripts/tests/*.test.mjs
node --test scripts/tests/*.test.mjs- Keep provider-specific protocol parsing in
packages/polycli-runtime. - Do not move provider semantics into
packages/polycli-utils. - Do not introduce a shared provider base class, inheritance tree, or fake unified event schema.
- Preserve timing semantics:
measured,zero,missing, andunsupportedmean different things. - Update tests whenever behavior, exports, package metadata, release manifests, or public fixtures change.
Before release work, confirm:
npm run release:checkpasses.npm audit --audit-level=moderatereports no vulnerabilities.- Public package tarballs contain only the intended files.
- Fixtures and docs do not contain maintainer-local paths, auth metadata, reasoning signatures, or encrypted provider payloads.
Release-facing changes should update the relevant files together:
- package/plugin versions
CHANGELOG.mddocs/release.mddocs/release-notes-v*.md- package
exportsand export tests when public entry points change