release
Installation
SKILL.md
Contains Shell Commands
This skill contains shell command directives (!`command`) that may execute system commands. Review carefully before installing.
Plugin Release
Cuts a versioned release of the Elixir/Phoenix plugin. Drives the full
checklist from CLAUDE.md (Release + Versioning) so every release is
consistent. Contributor tooling — not shipped in the plugin.
Iron Laws — Never Violate These
- NEVER release on a red
make ci— the gate runs BEFORE committing. No green, no release. - NEVER
claude plugin tag— this is a marketplace layout (plugins/elixir-phoenix/.claude-plugin/plugin.json, not repo root). Tag manually:git tag vX.Y.Z. - THREE NUMBERS MUST MATCH —
plugin.jsonversion == CHANGELOG heading == git tag (vX.Y.Z). Verify before pushing. - CONFIRM BEFORE PUBLISHING — pushing the tag and
gh release createare outward-facing and hard to reverse. Stop and confirm with the user; show exactly what will be pushed/published first. - USERS ONLY UPDATE ON A
plugin.jsonBUMP — never ship CHANGELOG/code changes without bumping the version, or installed users get nothing (cache). - ALWAYS leave a fresh empty
## [Unreleased]— one[Unreleased]becomes one version heading; re-add an empty one on top. - NEVER force-push —
git push --forceis hook-blocked here. If history needs rewriting, the user runs it via!. - EVERY release body links the docs site — append the
https://phxagents.devfooter. Releases are this project's one measured promotion lever (v3.0.1: 51 → 120 cloners in a day). - UPGRADE-BREAKING RELEASES LEAD WITH THE WARNING — if users must do anything beyond
/plugin update, the release body opens with a> [!WARNING]block carrying the exact commands (see #135).