The GitHub org Molecule-AI was suspended on 2026-05-06; canonical SCM is now Gitea at https://git.moleculesai.app/molecule-ai/. Stale github.com/Molecule-AI/... URLs return 404 and break tooling that clones / pip-installs / curls them. This bundles all non-Go-module URL fixes for this repo into a single PR. Go module path references (in *.go, go.mod, go.sum) are out of scope here -- tracked separately under Task #140. Token-auth clone URLs also flip ${GITHUB_TOKEN} -> ${GITEA_TOKEN} since the GitHub token does not auth against Gitea. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Release Procedure
This runbook describes the steps to release a new version of plugin-ecc.
Overview
Releases are version-tagged GitHub releases. The plugin follows semver (MAJOR.MINOR.PATCH). The CI workflow validates the plugin structure on every push.
Pre-Release Steps
1. Review Changed Files
git fetch origin main
git log origin/main..HEAD --oneline
Identify what changed: new rules, new skills, breaking changes, or just a version bump.
2. Run Full Validation
# Markdown lint
npx markdownlint '**/*.md' --ignore node_modules
# YAML structure
python3 -c "
import yaml, os
with open('plugin.yaml') as f:
data = yaml.safe_load(f)
for key in ['rules', 'skills']:
for ref in data.get(key, []):
path = ref if ref.endswith('.md') else ref + '.md'
if not os.path.exists(path):
print(f'MISSING: {path}')
print('All refs OK')
"
3. Bump Version
Edit plugin.yaml:
version: X.Y.Z # ← update this
If agents list changed, update the version in AGENTS.md:
**Version:** X.Y.Z
Also update CLAUDE.md:
**Version:** X.Y.Z
4. Commit Version Bump
git add plugin.yaml AGENTS.md CLAUDE.md
git commit -m "chore: bump version to X.Y.Z"
Release Tagging
Lightweight Tag (patch/minor)
git tag vX.Y.Z
git push origin main
git push origin --tags
Annotated Tag (recommended for releases)
git tag -a vX.Y.Z -m "Release vX.Y.Z — <summary of changes>"
git push origin main
git push origin --tags
Create GitHub Release
gh release create vX.Y.Z \
--title "plugin-ecc vX.Y.Z" \
--notes "$(cat <<'EOF'
## Changelog
- <describe change 1>
- <describe change 2>
### Migration Notes
<any breaking changes or config changes>
EOF
)"
Or via the GitHub web UI:
- Go to https://git.moleculesai.app/molecule-ai/molecule-ai-plugin-ecc/releases/new
- Select the tag
vX.Y.Z - Paste the changelog into the release body
- Publish release
Post-Release Verification
- CI green: Confirm the
validate-plugin.ymlworkflow passed on the release commit. - Tag visible:
git fetch --tags && git tag -lshows the new tag. - Release page: The GitHub Release is published with changelog.
- Plugin registry: If molecule-core pulls from the registry, confirm the new version is indexed.
Rollback
If a release is bad:
# Remove the remote tag
git push origin :refs/tags/vX.Y.Z
# Revert the version commit
git revert HEAD --no-edit
git push origin main
Then cut a new release with the fix.
Release Types
| Type | When to use |
|---|---|
patch |
Bug fixes, doc corrections, non-breaking additions |
minor |
New rules/skills, backward-compatible changes |
major |
Breaking changes to plugin.yaml schema, removed rules/skills |
Automation Opportunities
- Auto-bump on PR merge: A GitHub Action can detect
feat:commits and auto-PR a version bump. - Auto-changelog:
generate-release-notesaction can draft changelog from conventional commits. - Currently these are manual; implement if release frequency increases.