This guide covers the complete release process for the altimate-code monorepo.
The monorepo produces one publishable CLI package:
| Package | Registry | Trigger |
|---|---|---|
@altimateai/altimate-code |
npm | v* tag (e.g., v0.5.0) |
The Python engine (altimate-engine) has been eliminated. All 73 tool methods run natively in TypeScript via @altimateai/altimate-core (napi-rs) and @altimateai/drivers (workspace package).
The CLI version is determined automatically at build time:
- Explicit: Set
OPENCODE_VERSION=0.5.0environment variable - Auto-bump: Set
OPENCODE_BUMP=patch(orminor/major) — fetches current version from npm and increments - Preview: On non-main branches, generates
0.0.0-{branch}-{timestamp}
The version is injected into the binary via esbuild defines at compile time.
| Dependency | Location | Managed by |
|---|---|---|
@altimateai/altimate-core |
packages/opencode/package.json |
altimate-core-internal repo |
@altimateai/drivers |
packages/opencode/package.json |
workspace (this repo) |
@altimateai/dbt-integration |
packages/dbt-tools/package.json |
separate npm package |
Add a new section at the top of CHANGELOG.md:
## [0.5.0] - YYYY-MM-DD
### Added
- ...
### Fixed
- ...MANDATORY — this catches broken binaries before they reach users:
cd packages/opencode
bun run pre-releaseThis verifies:
- All required NAPI externals are in
package.jsondependencies - They're installed in
node_modules - A local build produces a binary that actually starts
Do NOT proceed if any check fails.
git add -A
git commit -m "release: v0.5.0"
git tag v0.5.0
git push origin main v0.5.0The v* tag triggers .github/workflows/release.yml which:
- Builds all platform binaries (linux/darwin/windows, x64/arm64)
- Publishes to npm — platform-specific binary packages + wrapper package
- Creates GitHub Release — with auto-generated release notes and binary attachments
- Updates AUR — pushes PKGBUILD update to
altimate-code-bin - Publishes Docker image — to
ghcr.io/altimateai/altimate-code
After the workflow completes:
# npm
npm info @altimateai/altimate-code version
# Docker
docker pull ghcr.io/altimateai/altimate-code:0.5.0- Python engine — eliminated. No PyPI publish, no pip install, no venv.
- Engine-only releases — the
engine-v*tag andpublish-engine.ymlworkflow are removed. - Engine version bumping —
bump-version.ts --engineis no longer needed.
Before your first release, set up:
- Create an npm access token with publish permissions
- Add it as
NPM_TOKENin GitHub repository secrets
GITHUB_TOKENis automatically provided by GitHub Actions- Enable GitHub Packages for Docker image publishing
- Register the
altimate-code-binpackage on AUR - Set up SSH key for AUR push access in CI