cyberneticlibrary

Prepare and release new software version

releasecommandsetup L12
rnabioco/squiggy-positron
What it does

Prepare new release with version bump, changelog, and quality checks

Best for

Releasing a Squiggy project with automated changelog generation and zero-trust approval gates

Inputs
  • · Version argument (explicit version, semver type, or none for user selection)
  • · Current version from package.json
  • · Commits since last release for changelog categorization
  • · Planning files (optional) at project root
Outputs
  • · CHANGELOG.md updated with new release section
  • · package.json version updated and synced to Python/TOML via sync script
  • · Planning files moved to docs/guides/ or deleted (optional)
  • · Quality check results (pixi run check output)
  • · Release ready for tagging (commands shown, not executed)
Requires
  • · Read (package.json, CHANGELOG.md, git log)
  • · Write (CHANGELOG.md, package.json)
  • · Bash (git log, date, npm run sync, pixi run check)
  • · AskUserQuestion (version selection, planning files handling)
Preconditions
  • · package.json with version field
  • · CHANGELOG.md file exists
  • · Git repository with commit history
  • · pixi installed for quality checks
Failure modes
  • · version argument unparseable (invalid semver)
  • · Quality checks fail (linting, tests, formatting)
  • · Planning files found but user rejects cleanup
  • · User cancels at any confirmation gate
Trust signals
  • · THREE explicit approval gates (version, quality checks, release commands)
  • · Detects and offers cleanup of planning files (PLANNING_NOTES.md, etc.)
  • · Preserves pre-release suffix when bumping (0.1.3-alpha + patch → 0.1.4-alpha)
  • · Categorizes commits (Features, Fixes, Improvements, Documentation, Internal)
  • · Runs pixi run check before allowing release (full quality gate)
  • · Shows exact git commands (commit, tag, push) before executing