Repository navigation
Tags: ITlusions/ITL.Github
Tags
feat: switch claude-plugin tag format from {name}--v{version} to {nam…
…e}/v{version} (#6)
claude plugin tag enforces its own double-dash format with no override,
so this replaces it with an explicit 'claude plugin validate --strict'
(replicating the same plugin.json/marketplace agreement check) followed
by a manual 'git tag -a name/vX.Y.Z'. Release titles are unaffected
(still 'name vX.Y.Z' from the previous fix); only the underlying git tag
format changes.
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
feat: add release-name input to _reusable-release-gh.yml, use it for … …claude plugins (#5) Release titles for claude plugins previously reused the raw tag string verbatim (e.g. 'nexustrade-plugin--v1.0.3', which reads oddly with the double-dash from claude plugin tag's own {name}--v{version} convention). _reusable-release-gh.yml now accepts an optional release-name input (defaults to the tag, unchanged for existing callers); _reusable-claude-plugin-release.yml passes '{name} v{version}' for a cleaner title, e.g. 'nexustrade-plugin v1.0.3'. The tag itself is unchanged — only the release's display title. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
fix: don't attempt a git commit on a plugin's first-ever release (#4) On a first release (no prior tag), the script wrote the plugin's CURRENT version back into plugin.json unchanged, producing zero diff — 'git commit' then failed with 'nothing to commit, working tree clean', exit 1. Caught by live testing: hello-plugin's first publish run failed here. Now only the node-write/commit/push happens on an actual bump; the first-release path just tags HEAD directly. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
fix: pass fresh ref from version-tag to release, avoiding stale check… …out (#3) The release job in _reusable-claude-plugins-publish.yml runs in a fresh checkout and did not see the commit version-tag just pushed, so it resolved the plugin's PREVIOUS version from plugin.json and found that version's release already existed — silently skipping the real new release. _reusable-claude-plugin-release.yml now accepts a 'ref' input; the publish template passes version-tag's 'tag' output through so release checks out the exact commit that was just tagged. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
refactor: rename claude-plugin templates to match ci/publish job nami… …ng (#2) _reusable-claude-plugin-validate.yml -> _reusable-claude-plugins-ci.yml _reusable-claude-plugin-publish.yml -> _reusable-claude-plugins-publish.yml Matches the ci/publish job-naming convention used elsewhere (e.g. ITL.Braincell.SDK's pipeline.yml calling _reusable-python-ci.yml / _reusable-python-publish.yml). The underlying version-tag and release building blocks keep their singular claude-plugin- naming since they're internal implementation details, not directly referenced from caller pipelines. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
feat: add reusable templates for Claude Code plugin marketplace repos (… …#1) * feat: add reusable templates for Claude Code plugin marketplace repos Three new workflow_call templates for repos hosting one or more Claude Code plugins (validate/version/release), extracted from ITlusions/ITL.Claude.PluginMarketplace's local pipeline: - _reusable-claude-plugin-validate.yml: claude plugin validate --strict on a given path (plugin dir or marketplace root) - _reusable-claude-plugin-version-tag.yml: subdirectory-scoped semver bump from conventional commits + claude plugin tag, for one plugin in a possibly multi-plugin repo (unlike _reusable-auto-tag.yml, which is repo-wide patch-only) - _reusable-claude-plugin-release.yml: idempotent GitHub Release publishing for one plugin, nested-calls _reusable-release-gh.yml Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * feat: add _reusable-claude-plugin-publish.yml combining version-tag + release Lets a caller pipeline use a single 'publish' job (matching the ci/publish shape used elsewhere, e.g. ITL.Braincell.SDK's pipeline.yml) instead of two separate jobs for version-tag and release. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(docs): correct relative paths in python-publish.md related-docs links Pre-existing broken links unrelated to the claude-plugin templates in this PR — docs/actions/python-publish.md pointed at ./reusable-python-*.md, but those files live in docs/workflows/, not docs/actions/. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
feat: switch claude-plugin tag format from {name}--v{version} to {nam…
…e}/v{version} (#6)
claude plugin tag enforces its own double-dash format with no override,
so this replaces it with an explicit 'claude plugin validate --strict'
(replicating the same plugin.json/marketplace agreement check) followed
by a manual 'git tag -a name/vX.Y.Z'. Release titles are unaffected
(still 'name vX.Y.Z' from the previous fix); only the underlying git tag
format changes.
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
PreviousNext