Use this whenever publishing a Howcode desktop release.
Critical rules
Do release prep on main, not dev.
Do not push a version-bump commit to dev just to prepare a release.
.github/workflows/release-artifacts.yml runs on:
push to dev = preview/dev artifacts only
push tag v* = actual release artifacts + GitHub release
Pushing release prep to dev first wastes CI. The release tag rebuilds artifacts anyway.
Always inspect .github/workflows/release-artifacts.yml before changing the release flow.
Do not globally disable Bun/GitHub dependency caches for release builds. If install cache corruption happens, use a targeted bun pm cache rm retry in the install step.
Correct order
Ensure working tree is clean.
Fetch origin and tags.
Check dev vs main with git log --oneline main..dev and git log --oneline dev..main.
Bring release changes onto main locally first.
On main, update root package.json, packages/howcode/package.json, and release notes/changelog.
Commit on main; let hooks run.
Push main.
Tag the exact main release commit as vX.Y.Z.
Push the tag.
Wait for tag-triggered release workflow.
Verify GitHub Release assets.
Tell Igor to manually publish npm from packages/howcode.
npm launcher
npm launcher package version must match root package version.
Publish npm only after GitHub release assets exist.
1---2name: release-publishing3description: Release publishing SOP4---56# Release publishing SOP78Use this whenever publishing a Howcode desktop release.910## Critical rules1112- **Do release prep on `main`, not `dev`.**13- Do **not** push a version-bump commit to `dev` just to prepare a release.14- `.github/workflows/release-artifacts.yml` runs on:15 - push to `dev` = preview/dev artifacts only16 - push tag `v*` = actual release artifacts + GitHub release17- Pushing release prep to `dev` first wastes CI. The release tag rebuilds artifacts anyway.18- Always inspect `.github/workflows/release-artifacts.yml` before changing the release flow.19- Do **not** globally disable Bun/GitHub dependency caches for release builds. If install cache corruption happens, use a targeted `bun pm cache rm` retry in the install step.2021## Correct order22231. Ensure working tree is clean.242. Fetch origin and tags.253. Check `dev` vs `main` with `git log --oneline main..dev` and `git log --oneline dev..main`.264. Bring release changes onto `main` locally first.275. On `main`, update root `package.json`, `packages/howcode/package.json`, and release notes/changelog.286. Commit on `main`; let hooks run.297. Push `main`.308. Tag the exact `main` release commit as `vX.Y.Z`.319. Push the tag.3210. Wait for tag-triggered release workflow.3311. Verify GitHub Release assets.3412. Tell Igor to manually publish npm from `packages/howcode`.3536## npm launcher3738- npm launcher package version must match root package version.39- Publish npm only after GitHub release assets exist.
Run npx skillmds@latest add igorwarzocha/release-publishing in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Release publishing SOP It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
igorwarzocha (@igorwarzocha) published this skill. Their other Agent Skills are listed on their SkillMD profile.