Vikusha releases are automated with Release Please.
Release Please watches conventional commits on main, opens or updates a release PR, maintains CHANGELOG.md, and creates a GitHub Release when the release PR is merged.
Install the latest release binary:
curl -sSL https://raw.githubusercontent.com/snowztech/vikusha/main/install.sh | bash
vikusha versionThe install script downloads the latest GitHub Release binary for your OS and architecture.
Install the latest released CLI with Go:
go install github.com/snowztech/vikusha/cmd/vikusha@latest
vikusha versionInstall a specific version:
go install github.com/snowztech/vikusha/cmd/vikusha@v0.0.2
vikusha versiongo install builds from source. The installed binary prints dev because Go does not pass the Git tag into -ldflags during go install.
Tagged releases build precompiled binaries for:
- Linux amd64/arm64
- macOS amd64/arm64
- Windows amd64
Download the matching binary from GitHub Releases, then verify it with checksums.txt.
Binary names are stable so install.sh can fetch them:
vikusha-linux-amd64vikusha-linux-arm64vikusha-darwin-amd64vikusha-darwin-arm64vikusha-windows-amd64.exe
Release binaries are built with:
-ldflags "-s -w -X main.version=${VERSION}"So vikusha version prints the release tag.
Use conventional commit messages:
feat(agent): inject memory into prompts
fix(cli): handle missing character path
docs: clarify install instructionsVersion bumps follow Release Please's conventional-commit rules:
fix:creates a patch release, for examplev0.0.3->v0.0.4.feat:creates a minor release once the project isv1.0.0or later.- Before
v1.0.0,feat:is configured to create a patch release so early versions stay conservative. - Breaking changes create a major release after
v1.0.0. - Before
v1.0.0, breaking changes create a minor release.
Breaking changes can be written as:
feat!: change character config schemaor with a commit footer:
BREAKING CHANGE: character config schema changed
After commits land on main, .github/workflows/release-please.yml opens or updates a release PR. Merging that PR:
- Updates
CHANGELOG.md. - Creates the release tag.
- Creates the GitHub Release.
- Checks out the release tag and builds release binaries.
- Uploads binaries and
checksums.txtto the release.
Manual tags are not the normal release path. Use the Release Please PR so the changelog, manifest, tag, GitHub Release, and binary assets stay in sync.