Release Guide¶
This guide describes the release workflow for CodeXomics. Historical release notes remain in this directory by version.
Version Sources¶
Keep these files synchronized for release work:
package.jsonpackage-lock.jsonafter runningnpm installor version toolingsrc/version.jsCHANGELOG.mddocs/release-notes/RELEASE_NOTES_<version>.mdmkdocs.ymlversion metadata when publishing documentation for a new release lineREADME.md,Agents.md,Memory.md, anddocs/index.mddocs/user-guides/GETTING_STARTED.md
Use the existing version scripts where possible:
Pre-Release Checklist¶
- Confirm the working tree contains only intended changes.
- Run the relevant automated checks.
- Validate version consistency.
- Build the target platform packages.
- Smoke-test the packaged app.
- Update release notes.
- Commit with a conventional commit message.
- Tag the release.
- Publish GitHub release assets.
- Rebuild and publish GitHub Pages if public docs changed.
Checks¶
npm test
npm run lint
npm run version-validate
npm run tool-registry:validate
npm run test:coverage
npm run docs:validate
Run focused tests when the release touches a specific subsystem, for example MCP, plugin, benchmark, tool registry, or renderer modules.
Build Commands¶
The macOS build path uses the DMG background generation scripts before packaging.
Release Notes¶
Create release notes under docs/release-notes/ with a filename that includes the version, for example:
Recommended sections:
- Summary
- Highlights
- New features
- Fixes
- Developer notes
- Known issues
- Download links
Git Tag¶
Use the display tag style used by the project, for example:
GitHub Release¶
Upload generated assets from dist/ and paste the release notes. Mark prerelease builds as prereleases in GitHub.
GitHub Pages¶
The Pages source is docs/ and mkdocs.yml. Do not edit generated site/ output directly.
Before publishing, validate the canonical documents and strict site build:
Publish through the Pages workflow on main or directly from the current checkout:
Do not edit site/ or generated gh-pages content manually.