From python-dev-framework
Guide for versioning and releasing Claude Code plugins. Covers semantic versioning, CHANGELOG maintenance, and the automated release workflow.
npx claudepluginhub worldcentralkitchen/python-dev-frameworkThis skill uses the workspace's default tool permissions.
After completing your release steps (CHANGELOG, plugin.json, PR), **always inform the user of their required next steps**:
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
After completing your release steps (CHANGELOG, plugin.json, PR), always inform the user of their required next steps:
git checkout main && git pull
git tag vX.Y.Z
git push origin vX.Y.Z
Do not assume the user knows the tag triggers the release workflow.
| Change Type | Version Bump | Example |
|---|---|---|
| Breaking: hook behavior, removed features | MAJOR | 1.0.0 → 2.0.0 |
| New: skill, command, agent, feature | MINOR | 1.0.0 → 1.1.0 |
| Fix: bug fix, typo, docs | PATCH | 1.0.0 → 1.0.1 |
Update CHANGELOG.md
[Unreleased] to new version sectionUpdate plugin.json version
{
"version": "1.1.0"
}
Create release branch and PR
git checkout -b chore/release-v1.1.0
git add CHANGELOG.md .claude-plugin/plugin.json
git commit -m "chore: release v1.1.0"
git push -u origin chore/release-v1.1.0
gh pr create --title "chore: release v1.1.0" --body "Release v1.1.0"
Human merges PR, then tag
# After PR is merged by human:
git checkout main && git pull
git tag v1.1.0
git push origin v1.1.0
Automated steps (GitHub Action handles these)
plugins/python-dev-framework/)marketplace.jsonFollow Keep a Changelog:
## [Unreleased]
## [1.1.0] - 2025-01-15
### Added
- New plugin-versioning skill
### Changed
- Updated hook timeout from 10s to 15s
### Fixed
- Fixed edge case in branch name validation
| File | Field |
|---|---|
.claude-plugin/plugin.json | "version": "X.Y.Z" |
CHANGELOG.md | ## [X.Y.Z] - YYYY-MM-DD |
| Git tag | vX.Y.Z |
For beta or release candidate versions:
git tag v1.1.0-beta.1
git tag v1.1.0-rc.1
Pre-release tags follow semver format and can be used for testing before stable release.
On release, the GitHub Action syncs plugin files to the marketplace repo:
| Source | Destination |
|---|---|
.claude-plugin/ | plugins/python-dev-framework/.claude-plugin/ |
hooks/ | plugins/python-dev-framework/hooks/ |
skills/ | plugins/python-dev-framework/skills/ |
CLAUDE.md | plugins/python-dev-framework/CLAUDE.md |
.lsp.json | plugins/python-dev-framework/.lsp.json |
Note: The plugins/ directory in the marketplace repo is auto-generated. Do not edit directly.
Users install from the marketplace (bundled copy), not from this repo:
claude plugin install python-dev-framework@WorldCentralKitchen