Release CLI
Quick Release
./scripts/release-cli.sh v0.2.0
This script:
- Validates you're on
mainand it's clean - Runs
goreleaser checkto validate config - Optionally does a
--snapshotdry-run build - Creates and pushes the git tag
- Monitors the GitHub Actions release workflow
- Verifies binaries are downloadable from blob storage
Manual Release Steps
If the script doesn't fit:
- Ensure all CLI changes are merged to
main - Validate GoReleaser config:
goreleaser check - Local dry run (optional):
goreleaser build --snapshot --clean - Tag:
git tag v0.2.0 - Push tag:
git push origin v0.2.0 - Monitor:
gh run watch(the Release CLI workflow triggers onv*tags) - Verify:
curl -sSf https://seed.unionstreet.ai/cli/install | sh
What the Pipeline Does
git tag v0.2.0 → push → GitHub Actions triggers:
1. GoReleaser cross-compiles 5 targets
2. Archives: tar.gz (linux/mac) + zip (windows)
3. @vercel/blob SDK uploads to:
- cli/v0.2.0/seed_linux_amd64.tar.gz (versioned)
- cli/latest/seed_linux_amd64.tar.gz (latest)
Build Targets
| OS | Arch | Archive |
|---|---|---|
| linux | amd64 | tar.gz |
| linux | arm64 | tar.gz |
| darwin | amd64 | tar.gz |
| darwin | arm64 | tar.gz |
| windows | amd64 | zip |
Blob Storage
Binaries live in Vercel Blob at BLOB_BASE_URL/cli/latest/. The app serves them through:
/cli— browser install page/cli/install—curl | shscript (auto-detects OS/arch)/cli/download/[filename]— 302 redirect to blob
Version Conventions
v0.x.y— pre-1.0, breaking changes allowed between minor versions- Semantic versioning:
vMAJOR.MINOR.PATCH - Tags must match
v*pattern to trigger the workflow
Forking for a New Product
When forking the seed for a new product:
- Update
project_namein.goreleaser.yml - Update
cliNameinlib/brand.ts - Verify
BLOB_READ_WRITE_TOKENis available (inherited from org secret) - First release:
git tag v0.1.0 && git push origin v0.1.0
If You're Lost
- GoReleaser documentation
- GoReleaser GitHub Action
- Vercel Blob SDK
- @vercel/blob npm package
- See docs/cli.md for CLI architecture
- See cli/AGENTS.md for CLI development patterns