- Write access to this repo (
fullstorydev/subtext-cli). - (First release only)
@subtextdevnpm scope access and a Trusted Publisher configured on npmjs.com (see below).
We use standard vX.Y.Z tags. The CLI version lives only in the git tag — there is no version file to update.
The npm package version must be bumped manually before tagging so that npm publish picks up the right version and install.js points at the correct release download URL. The release workflow will fail the validation step if the tag and package.json version disagree.
# In npm/package.json, bump "version" to match your tag (without the "v" prefix)
# e.g. if you're tagging v0.2.0, set "version": "0.2.0"Commit:
git add npm/package.json
git commit -m "bump npm version to 0.2.0"
git pushgit tag v0.2.0
git push origin v0.2.0This triggers the release-cli GitHub Actions workflow.
Go to Actions → Release CLI in the repo. It will:
- Run
go test ./...to confirm tests pass. - Run GoReleaser, which:
- Builds binaries for darwin/linux/windows × amd64/arm64.
- Creates tar.gz / zip archives and a
checksums.txt. - Creates a GitHub Release named
vX.Y.Z.
- Publishes the npm package to
@subtextdev/subtext-clivia OIDC (requires a Trusted Publisher configured on npmjs.com — noNPM_TOKENsecret needed).
# via npm
npx @subtextdev/subtext-cli@0.2.0 --version
# via go install
go install github.com/fullstorydev/subtext-cli/cmd/subtext@v0.2.0
subtext --versiongoreleaser release --snapshot --clean --skip=publish
./dist/subtext_darwin_arm64_v8.0/subtext versionNo tag or GitHub credentials needed. Binaries land in dist/.
- Confirm
@subtextdevnpm scope exists on npmjs.com. - Configure a Trusted Publisher on npmjs.com: GitHub Actions, org
fullstorydev, reposubtext-cli, workflowrelease-cli.yml, allownpm publish. - Test
npx @subtextdev/subtext-cli auth whoamiafter publish.