Skip to content

feat(release): automate releases with release-please - #34

Draft
anthonyhaussman wants to merge 5 commits into
mainfrom
feat/release-please-automation
Draft

feat(release): automate releases with release-please#34
anthonyhaussman wants to merge 5 commits into
mainfrom
feat/release-please-automation

Conversation

@anthonyhaussman

@anthonyhaussman anthonyhaussman commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Summary

Adds automated release pipeline using release-please-action with an alpha prerelease track interleaved with manual stable promotions.

Deliverables

  • .release-please-config.json: single-package node config, prerelease: true alpha track, no v tag prefix, curated changelog types.
  • .release-please-manifest.json: state anchor seeded to 1.1.8 (matches current package.json).
  • .github/workflows/release-please.yml: runs on push to main. release-please job opens a pending release PR on Conventional Commits; publish job is gated on release_created, checks out the tag, builds, runs the smoke test, and publishes to npm with --tag alpha (prerelease) or no flag (stable).
  • docs/release-promotion.md: runbook for flipping the prerelease flag and cutting a stable release from the alpha track.

Design

  • Spec: docs/superpowers/specs/2026-07-27-release-please-design.md
  • Plan: docs/superpowers/plans/2026-07-30-release-please.md

Verification

  • npm run typecheck: pass
  • npm run build: pass
  • npm run smoke:node-import: pass
  • JSON syntax + structural assertions on config files: pass
  • yamllint on workflow YAML: pass

Out of scope (per spec)

  • commitlint CI guard rail
  • AGY_CLI_VERSION stays manually maintained
  • CHANGELOG.md written by release-please on first release
  • package.json owned by release-please after merge

Post-merge expectation

Merge push triggers release-please.yml. release-please may open a release PR for 1.1.9 or 1.2.0-alpha.1 (the fix: commit on this branch may count as a patch-level bump). If a release PR opens, review and squash-merge it; on that merge release-please cuts the tag, creates the GitHub Release, and the publish job pushes to the npm alpha dist-tag.

Assisted-by: GLM 5.2

prerelease: true alpha track; tag-separator empty; no v prefix.

Assisted-by: GLM 5.2
Anchors release-please state to current package version.

Assisted-by: GLM 5.2
release-please job creates tag+release; publish job checks out tag and publishes to npm with alpha or latest dist-tag.

Assisted-by: GLM 5.2
Runbook for flipping prerelease flag and cutting stable from the alpha track.

Assisted-by: GLM 5.2
Anchor must match current package.json version (1.1.8), not 1.1.7. release-please uses the manifest as the last-released version baseline.

Assisted-by: GLM 5.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant