Skip to content

Latest commit

 

History

History
76 lines (54 loc) · 3.46 KB

File metadata and controls

76 lines (54 loc) · 3.46 KB

Release Process

Versioning Scheme

Type Pattern When to use Example
Patch vX.Y.Z Bugfixes, typos, small updates, dependency bumps v2.2.2
Minor v2.X.0 New features, new commands, significant changes v2.2.0
Major vX.0.0 Breaking changes, full rewrites v3.0.0

Quick Reference

# Stabilization release
./scripts/release.sh 2.2.2 --title "Autoresearch v2.2.2 stabilization"

Release Gates

The preparation script stops after the PR is opened. It does not merge, tag, or publish.

Gate Verified by
Identity and workspace clean tree, master, gh, uditgoenka Git author, uditgoenka GitHub login
Transform cleanliness bash scripts/transform.sh, then git diff --exit-code and git status --porcelain
Version alignment claude-plugin/.claude-plugin/plugin.json, .claude-plugin/marketplace.json, .claude/skills/autoresearch/SKILL.md, README.md, guide/README.md, and the generated SKILL.md mirrors
Release suites bash tests/test-hooks.sh, bash tests/test-orchestrator.sh, bash tests/test-regression.sh, bash tests/test-maintenance.sh
Clean-install smoke disposable installs for Claude, OpenCode, and Codex run bundled scripts/orchestrate.sh classify, scripts/score-regression.sh verdict, and scripts/score-regression.sh rubric from outside the source checkout
Publication boundary PR creation only; merge, tag creation, and GitHub release creation are separate explicit owner actions

Pre-Release Checklist

Before running the script, verify:

  • git config user.name is uditgoenka
  • gh api user --jq .login is uditgoenka
  • The working tree is clean and on master
  • scripts/orchestrate.sh and scripts/score-regression.sh are executable in every installed bundle
  • bash tests/test-hooks.sh
  • bash tests/test-orchestrator.sh
  • bash tests/test-regression.sh
  • bash tests/test-maintenance.sh

Release-Readiness Matrix

The GitHub Actions matrix runs on Ubuntu, macOS, and Windows/Git Bash. Every job is required; do not mark a release candidate ready while any job is not green at the exact head.

Release Flow

The release script prepares the branch, verifies the release gates, commits, pushes, and opens the PR. It stops there.

Distribution Sync

The claude-plugin/ directory is the distribution package — what Claude Code downloads when users install the plugin. The .claude/ versions are the development source of truth.

Before every release, scripts/transform.sh regenerates claude-plugin/ and the generated mirrors from .claude/.

Merge and Recovery

Merge, tag creation, and GitHub release creation are separate explicit owner actions after PR review.

If an exact-release smoke check fails after tagging, leave the existing tag immutable and cut a new patch version instead. Do not move v2.2.2.

Troubleshooting

Issue Fix
"Working tree is dirty" Commit or stash changes first
"Must be on master branch" git checkout master
"gh CLI not found" Install from https://cli.github.com
PR merge conflicts Resolve on the PR, then re-run merge step manually
Forgot to update docs Edit on the PR branch, push, then merge
"Tag already exists" Choose a different version number
ENAMETOOLONG on install Ensure marketplace.json has "source": "./claude-plugin" (not "./")