czcode uses a semi-automated release process. Releases are tagged from main and published to GitHub Releases.
- Go to the
publishworkflow in GitHub Actions. - Click "Run workflow".
- Select the branch (typically
main). - Fill in the inputs:
bump(choice):patch,minor, ormajor.version(string, optional): Override the version explicitly.
The publish.yml workflow:
- Runs
script/version.tsto compute the next version. - Generates release notes from commit history since the last release.
- Creates a draft GitHub Release with the computed tag (e.g.
v7.x.y).
- Runs
packages/opencode/script/build.tsto compile the czcode CLI binary. - Builds native binaries for supported platforms:
- Linux: x64, arm64
- macOS: x64, arm64
- Windows: x64
- Creates platform archives and uploads them to the draft GitHub Release.
- Updates
versionin allpackage.jsonfiles. - Commits the version bump, tags the commit, and pushes to the repo.
- Promotes the draft GitHub Release to published.
Before releasing, check if there are new kilocode versions to merge:
~/.bun/bin/bun run script/upstream/list-versions.tsIf there are unmerged versions, consider merging them first:
~/.bun/bin/bun run script/upstream/merge.ts v7.x.y- Write access to
clickzetta/czcode. - Required secrets configured in the repository (see
.github/workflows/publish.yml).