feat(marketplace): command consolidation + 8 new plugins (v8.1.0 → v9.0.0) [BREAKING]

Phase 1b: Rename all ~94 commands across 12 plugins to /<noun> <action>
sub-command pattern. Git-flow consolidated from 8→5 commands (commit
variants absorbed into --push/--merge/--sync flags). Dispatch files,
name: frontmatter, and cross-reference updates for all plugins.

Phase 2: Design documents for 8 new plugins in docs/designs/.

Phase 3: Scaffold 8 new plugins — saas-api-platform, saas-db-migrate,
saas-react-platform, saas-test-pilot, data-seed, ops-release-manager,
ops-deploy-pipeline, debug-mcp. Each with plugin.json, commands, agents,
skills, README, and claude-md-integration. Marketplace grows from 12→20.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-06 14:52:11 -05:00
parent 5098422858
commit 2d51df7a42
321 changed files with 13582 additions and 1019 deletions

View File

@@ -0,0 +1,88 @@
---
name: release prepare
description: Prepare a release — bump versions across all files, update changelog, create release branch
---
# /release prepare
Prepare a new release by bumping version numbers, updating the changelog, and optionally creating a release branch.
## Visual Output
```
+----------------------------------------------------------------------+
| RELEASE-MANAGER - Prepare Release |
+----------------------------------------------------------------------+
```
## Usage
```
/release prepare <version|bump-type> [--branch] [--no-branch]
```
**Version:** Explicit version (e.g., `2.4.0`) or bump type (`major`, `minor`, `patch`)
**--branch:** Create a release/X.Y.Z branch (default for minor/major)
**--no-branch:** Skip branch creation
## Skills to Load
- skills/version-detection.md
- skills/semver-rules.md
- skills/changelog-conventions.md
## Process
1. **Determine Target Version**
- If explicit version: validate it follows SemVer
- If bump type: calculate from current version
- `patch`: 2.3.1 -> 2.3.2
- `minor`: 2.3.1 -> 2.4.0
- `major`: 2.3.1 -> 3.0.0
- If no argument: analyze commits since last tag, suggest bump type
2. **Pre-flight Checks**
- Working directory is clean (no uncommitted changes)
- On correct base branch (development or main)
- [Unreleased] section in CHANGELOG.md has content
- All tests passing (if CI status available)
3. **Update Version Files**
- Update all detected version locations (from setup)
- Show diff for each file before applying
- Maintain format consistency (quotes, spacing)
4. **Update Changelog**
- Replace `[Unreleased]` with `[X.Y.Z] - YYYY-MM-DD`
- Add new empty `[Unreleased]` section above
- Update comparison links at bottom if present
5. **Create Release Branch** (if applicable)
- Branch name: `release/X.Y.Z`
- Commit all version changes
- Commit message: `chore(release): prepare vX.Y.Z`
6. **Summary**
- List all files modified
- Show the new version
- Next steps: review, validate, then tag
## Output Format
```
## Release Preparation: v2.4.0
### Files Updated
- package.json: 2.3.1 -> 2.4.0
- README.md: v2.3.1 -> v2.4.0
- CHANGELOG.md: [Unreleased] -> [2.4.0] - 2026-02-06
### Branch
- Created: release/2.4.0
- Commit: chore(release): prepare v2.4.0
### Next Steps
1. Review changes: `git diff development`
2. Validate: `/release validate`
3. Tag: `/release tag`
```

View File

@@ -0,0 +1,79 @@
---
name: release rollback
description: Revert a release — remove git tag, revert version bump commit, restore previous state
---
# /release rollback
Revert a release by removing the git tag and reverting version bump changes.
## Visual Output
```
+----------------------------------------------------------------------+
| RELEASE-MANAGER - Rollback Release |
+----------------------------------------------------------------------+
```
## Usage
```
/release rollback [<version>] [--tag-only] [--force]
```
**Version:** Version to rollback (defaults to latest tag)
**--tag-only:** Only remove the tag, keep version changes
**--force:** Skip confirmation prompts
## Skills to Load
- skills/release-workflow.md
## Process
1. **Identify Release to Rollback**
- If version specified: find matching tag
- If not specified: use most recent tag
- Show the release details for confirmation
2. **Safety Checks**
- Warn if tag has been pushed to remote
- Warn if other branches have been based on this release
- Warn if CI pipeline has already deployed
- Require explicit confirmation (unless --force)
3. **Remove Git Tag**
- Delete local tag: `git tag -d vX.Y.Z`
- If tag was pushed: `git push origin :refs/tags/vX.Y.Z`
- Confirm tag removal
4. **Revert Version Changes** (unless --tag-only)
- Find the version bump commit
- Create a revert commit: `git revert <commit> --no-edit`
- This restores CHANGELOG.md, version files to previous state
5. **Cleanup**
- If release branch exists: offer to delete it
- Update any tracking references
- Show final state
## Output Format
```
## Rollback: v2.4.0
### Actions Taken
- [x] Deleted local tag v2.4.0
- [x] Deleted remote tag v2.4.0
- [x] Reverted commit abc1234 (chore(release): prepare v2.4.0)
- [x] Deleted branch release/2.4.0
### Current State
- Version: 2.3.1 (restored)
- Latest tag: v2.3.1
- CHANGELOG.md: [Unreleased] section restored
### Warnings
- If any deployments were triggered, manual rollback may be needed
- Notify team members of the release revert
```

View File

@@ -0,0 +1,71 @@
---
name: release setup
description: Detect version locations, release conventions, and configure release workflow
---
# /release setup
Setup wizard for release management. Detects existing version locations and release conventions.
## Visual Output
```
+----------------------------------------------------------------------+
| RELEASE-MANAGER - Setup |
+----------------------------------------------------------------------+
```
## Skills to Load
- skills/version-detection.md
## Process
1. **Detect Version Locations**
- Scan for version strings in standard files:
- `package.json` (Node.js)
- `pyproject.toml` (Python)
- `setup.cfg`, `setup.py` (Python legacy)
- `Cargo.toml` (Rust)
- `marketplace.json` (Claude plugins)
- `README.md` title line
- `CHANGELOG.md` header
- Record each location with current version value
2. **Check Version Consistency**
- Compare all detected versions
- Flag any mismatches between files
- Identify the "source of truth" file
3. **Detect Release Conventions**
- Git tags: check `git tag` for existing pattern (v1.0.0 vs 1.0.0)
- Branching: check for release/* branches
- Changelog format: detect Keep a Changelog vs other
- CI/CD: check for release workflows in .github/workflows or .gitlab-ci.yml
4. **Present Configuration**
- Show detected settings
- Ask user to confirm or override
- Store preferences for future commands
## Output Format
```
## Release Configuration
### Version Locations
| File | Current Version | Pattern |
|------|----------------|---------|
| package.json | 2.3.1 | "version": "X.Y.Z" |
| README.md | 2.3.1 | # Project - vX.Y.Z |
| CHANGELOG.md | 2.3.1 | ## [X.Y.Z] - YYYY-MM-DD |
### Conventions
- Tag format: vX.Y.Z
- Branch pattern: release/X.Y.Z
- Changelog: Keep a Changelog format
- Source of truth: package.json
### Status: Ready
All versions in sync. Release workflow configured.
```

View File

@@ -0,0 +1,86 @@
---
name: release status
description: Show current version, unreleased changes, and release readiness
---
# /release status
Display the current version, unreleased changes, and overall release readiness.
## Visual Output
```
+----------------------------------------------------------------------+
| RELEASE-MANAGER - Status |
+----------------------------------------------------------------------+
```
## Usage
```
/release status [--verbose]
```
**--verbose:** Include full unreleased changelog and commit list
## Skills to Load
- skills/version-detection.md
- skills/semver-rules.md
## Process
1. **Current Version**
- Read version from all known locations
- Show the latest git tag
- Flag any version mismatches
2. **Unreleased Changes**
- Read [Unreleased] section from CHANGELOG.md
- Count entries by category (Added, Changed, Fixed, etc.)
- If verbose: show full content
3. **Commit Analysis**
- List commits since last tag
- Parse conventional commit prefixes (feat, fix, chore, etc.)
- Suggest bump type based on commit types:
- Any `BREAKING CHANGE` or `!` → major
- Any `feat` → minor
- Only `fix`, `chore`, `docs` → patch
- If verbose: show commit list
4. **Readiness Assessment**
- Check if [Unreleased] has content
- Check if all versions are in sync
- Check git state (clean working directory)
- Summarize blockers if any
## Output Format
```
## Release Status
### Current Version: 2.3.1 (tag: v2.3.1)
All 3 version locations in sync.
### Unreleased Changes
| Category | Count |
|----------|-------|
| Added | 3 |
| Fixed | 2 |
| Changed | 1 |
### Commits Since v2.3.1: 14
- 5 feat (new features)
- 6 fix (bug fixes)
- 3 chore (maintenance)
### Suggested Bump: MINOR (2.3.1 -> 2.4.0)
Reason: 5 new features detected
### Readiness: READY
- [x] Unreleased changes documented
- [x] Versions in sync
- [x] Working directory clean
Run `/release prepare minor` to begin.
```

View File

@@ -0,0 +1,83 @@
---
name: release tag
description: Create annotated git tag with release notes extracted from changelog
---
# /release tag
Create and push an annotated git tag with release notes from the changelog.
## Visual Output
```
+----------------------------------------------------------------------+
| RELEASE-MANAGER - Tag Release |
+----------------------------------------------------------------------+
```
## Usage
```
/release tag [--push] [--draft]
```
**--push:** Push tag to remote immediately (default: ask)
**--draft:** Create tag locally without pushing
## Skills to Load
- skills/release-workflow.md
## Process
1. **Pre-flight**
- Verify `/release validate` passes (run automatically if not done)
- Confirm current version from version files
- Check that tag does not already exist
2. **Extract Release Notes**
- Read the current version's section from CHANGELOG.md
- Format as tag annotation body
- Include version number and date in tag message
3. **Create Tag**
- Tag name: `vX.Y.Z` (matching project convention)
- Annotated tag with release notes as message
- Command: `git tag -a vX.Y.Z -m "Release vX.Y.Z\n\n<release notes>"`
4. **Push Decision**
- If --push: push tag to origin
- If --draft: keep local only
- Otherwise: show tag details and ask user
5. **Post-Tag Actions**
- If release branch exists: remind to merge back and delete branch
- If CI release pipeline detected: note it will be triggered
- Show the complete release summary
## Output Format
```
## Release Tagged: v2.4.0
### Tag
- Name: v2.4.0
- Commit: abc1234 (HEAD)
- Date: 2026-02-06
### Release Notes
#### Added
- New feature X
- New feature Y
#### Fixed
- Bug fix Z
### Status: Tag created locally
Run `git push origin v2.4.0` to publish.
### Post-Release
- [ ] Merge release/2.4.0 back to development
- [ ] Delete release/2.4.0 branch
- [ ] Verify CI pipeline triggered
```

View File

@@ -0,0 +1,75 @@
---
name: release validate
description: Pre-release validation — verify version consistency, changelog, dependencies, and readiness
---
# /release validate
Run pre-release checks to verify the project is ready for release.
## Visual Output
```
+----------------------------------------------------------------------+
| RELEASE-MANAGER - Validate Release |
+----------------------------------------------------------------------+
```
## Skills to Load
- skills/version-detection.md
- skills/changelog-conventions.md
## Process
1. **Version Consistency**
- Read version from all known locations
- Verify all locations report the same version
- Check version is greater than the latest git tag
- Verify version follows SemVer format
2. **Changelog Validation**
- Verify [X.Y.Z] section exists with today's date (or recent date)
- Check all required categories are present if entries exist
- Verify no empty [Unreleased] content was left behind
- Check comparison links are updated
3. **Git State**
- Working directory is clean
- Branch is up to date with remote
- No merge conflicts pending
- All CI checks passing (if detectable)
4. **Dependency Check**
- Lock file is up to date (package-lock.json, poetry.lock, Cargo.lock)
- No known vulnerable dependencies (if audit tool available)
- No unpinned dependencies in production config
5. **Documentation**
- README references correct version
- Migration guide exists for major versions
- Breaking changes are documented
6. **Report**
- Show pass/fail for each check
- Block release if any critical check fails
- Warn on non-critical issues
## Output Format
```
## Release Validation: v2.4.0
### Checks
| Check | Status | Details |
|-------|--------|---------|
| Version consistency | PASS | 3/3 files match v2.4.0 |
| Changelog | PASS | [2.4.0] section with 5 entries |
| Git state | PASS | Clean, up to date |
| Lock file | PASS | package-lock.json current |
| Dependencies | WARN | 1 advisory (low severity) |
| Documentation | PASS | README updated |
### Result: READY FOR RELEASE
1 warning (non-blocking). Proceed with `/release tag`.
```

View File

@@ -0,0 +1,18 @@
---
description: Release management — version bumping, changelog updates, tag creation
---
# /release
Release management with semantic versioning, changelog generation, and tag management.
## Sub-commands
| Sub-command | Description |
|-------------|-------------|
| `/release setup` | Setup wizard — detect version locations and release conventions |
| `/release prepare` | Prepare release: bump versions, update changelog, create branch |
| `/release validate` | Pre-release checks — verify versions, changelog, dependencies |
| `/release tag` | Create and push git tag with release notes |
| `/release rollback` | Revert a release — remove tag, revert version bump |
| `/release status` | Show current version and unreleased changes |