releasing-kata
Use this skill when releasing a new version of Kata, bumping versions, updating changelogs, creating release PRs, or publishing to NPM and the plugin marketplace. Triggers include "release", "bump ver
SKILL.md.claude/skills/releasing-kata/SKILL.md
GitHubReleasing Kata
Releases are manually dispatched (plus scheduled Symphony nightlies). Do not bump versions in a PR to trigger a release.
| Target | Package / artifact | Tag format | Workflow | Coupling |
|---|---|---|---|---|
| Symphony + Pi extension | symphony binary + @kata-sh/pi-symphony-extension |
symphony-vX.Y.Z and pi-symphony-vX.Y.Z (same X.Y.Z) |
symphony-release.yml |
Always released together |
| CLI | @kata-sh/cli |
cli-vX.Y.Z |
cli-release.yml |
Independent |
Root package.json version is 0.0.0 — never touch it as a release version. Nightly and stable version strings are applied by the workflow at publish time; stable finalize commits the version back to main.
Channels
| Target | Channel | How | Version |
|---|---|---|---|
| Symphony + Pi | stable | workflow_dispatch channel=stable |
Explicit version, or latest symphony-v*-nightly.* core |
| Symphony + Pi | nightly | Schedule every 3h on main (skips if HEAD unchanged) or channel=nightly |
{nextPatch}-nightly.YYYYMMDD.{run_number} from Cargo.toml patch+1 |
| CLI | single (manual) | workflow_dispatch only |
Explicit version, or auto-bump patch from apps/cli/package.json until cli-v* is free |
CLI has no nightly and no channel picker.
Version semantics
| Type | When | Example |
|---|---|---|
patch |
Bug fixes, small improvements | 2.3.0 → 2.3.1 |
minor |
New features, backward compatible | 2.3.0 → 2.4.0 |
major |
Breaking changes | 2.3.0 → 3.0.0 |
| prerelease | Validation / alpha / beta / rc | 0.18.0-alpha.0 → npm tag alpha |
| nightly | Continuous integration builds | 2.3.1-nightly.20260718.42 → npm tag nightly |
Workflow
- Identify the target (Symphony+Pi vs CLI).
- Read the matching reference:
references/symphony-release.mdreferences/cli-release.md
- Dispatch the workflow (optional
dry_run=truefirst). - Verify tags, GitHub Releases, and npm as documented.
Helpers
Release math lives under scripts/release/:
resolve-nightly-release.tsresolve-stable-version.tsresolve-previous-release-tag.tsupdate-symphony-versions.ts(Cargo.toml + pi-extension package.json)update-cli-version.ts
Troubleshooting
See release-troubleshooting.md.