This repo publishes two SDK packages from one protocol-aligned codebase:
- npm:
@commandlayer/sdk - PyPI:
commandlayer
Current release line:
- SDK package version:
1.1.0 - Supported protocol line: Protocol-Commons v1.1.0
- ENS / Agent-Card alignment: v1.1.0 signer-discovery flow
Before cutting a release:
- confirm both SDK packages are on the same version,
- confirm docs reference the same protocol version and receipt model,
- confirm shared test vectors still represent the current signed receipt truth,
- decide whether the release is docs-only or publishable.
cd typescript-sdk
npm ci
npm run typecheck
npm testcd python-sdk
python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
ruff check .
mypy commandlayer
pytestcd typescript-sdk
npm pack --dry-runVerify that the tarball includes:
dist/index.cjsdist/index.mjsdist/index.d.tsdist/cli.cjsREADME.md
cd python-sdk
python -m build
python -m twine check dist/*cd typescript-sdk
npm publish --access publiccd python-sdk
python -m build
python -m twine upload dist/*Release steps:
- merge the release branch,
- create a git tag matching the SDK version, for example
sdk-v1.1.0, - publish npm,
- publish PyPI,
- create GitHub release notes summarizing protocol line, SDK changes, and any migration notes.
Release notes should call out:
- supported protocol version,
- receipt model changes,
- verification API changes,
- runtime compatibility notes,
- any explicit legacy compatibility retained.
If the public docs site references installation or verification examples, update it in the same release window so that:
- package versions match,
- receipt examples match the repo,
- verification examples use the same API shapes,
- CLI examples are reproducible.
CI should stay green for:
- TypeScript typecheck/build/tests,
- Python lint/typecheck/tests,
- cross-SDK runtime fixture checks.
Do not publish if any of those lanes are red.