Tag and ship a new nSelf release. Runs the full release cascade: tag creation, CI trigger, pre-flight gate, artifact publishing, and homebrew tap update.
# Run release-check first (always)
nself release-check
# Ship a new patch release
nself release v1.1.1
# Ship a new minor release
nself release v1.2.0nself release <VERSION> [FLAGS]nself release is the single command that kicks off the nSelf release cascade. Pass the target version as a positional argument (e.g. v1.1.0) and the CLI will validate your environment, create the git tag, push it, and coordinate downstream publishing steps.
This command is for maintainers only. It requires the ANTHROPIC_RELEASE_KEY environment variable to be set — a scoped API key that authorizes release operations against ping.nself.org. Without it the command exits immediately with exit code 3.
The release cascade touches five surfaces in order:
nself-org/clinself release-check gate is re-run remotely to confirm pre-conditionshomebrew-nself tap is updated with the new formula SHA and versionThe command streams progress in real time. If any step fails, the cascade halts and prints a remediation hint. Use nself release-status to inspect partial state, and nself release-rollback <version> to undo a bad release.
| Argument | Required | Description |
|---|---|---|
VERSION | Yes | Semver string including the v prefix, e.g. v1.1.0 |
| Flag | Type | Default | Description |
|---|---|---|---|
--dry-run | bool | false | Validate and print every step without executing any of them |
--skip-check | bool | false | Skip the release-check pre-flight gate (not recommended) |
--no-homebrew | bool | false | Skip the homebrew tap update step |
--json | bool | false | Emit machine-readable JSON progress events instead of the default log stream |
ANTHROPIC_RELEASE_KEY — Required. Scoped release authorization key. Without this the command exits with code 3.GITHUB_TOKEN — Used to push the tag and update the homebrew tap. Falls back to the token stored in ~/.nself/auth.json.NSELF_RELEASE_SKIP_CONFIRM — Set to 1 to suppress the interactive confirmation prompt (useful in CI).# 1. Verify everything is ready
nself release-check
# 2. Tag and ship
nself release v1.1.1
# 3. Confirm state after CI completes
nself release-statusnself release v1.1.0 --dry-run
# Prints each step with [DRY-RUN] prefix — nothing is created or pushedexport ANTHROPIC_RELEASE_KEY="$SECRET_RELEASE_KEY"
export NSELF_RELEASE_SKIP_CONFIRM=1
nself release v1.1.0 --json | tee release-log.json0 — release cascade completed successfully1 — cascade failed mid-way (see output for which step)2 — invalid version argument3 — ANTHROPIC_RELEASE_KEY not set or invalid4 — pre-flight gate failed (run nself release-check for details)