Phase 4: Claude Code Slash Commands Created 4 GitHub Integration Commands: 1. /github-init - CI/CD system initialization - Runs bootstrap workflow - Creates dev branch - Configures branch protection - Sets default branch to dev - Complete setup verification 2. /commit-smart - Smart commits with quality gates - Pre-commit validation (Python, Bash, secrets) - Conventional Commits format generation - Interactive commit message builder - Quality checks before committing 3. /create-pr - Pull request creation - Branch validation - Target branch detection (dev/main) - PR title generation (Conventional Commits) - PR template population - Workflow trigger explanation 4. /release - GitHub release creation - Version validation (semantic versioning) - CHANGELOG.md integration - Automated release notes - Post-release actions guide All commands provide: - Step-by-step guidance - Copy-paste ready commands - Validation checks - Error handling - Links to documentation Integration with workflows: - Commands trigger bootstrap, pr-into-dev, dev-to-main, release workflows - Enforces quality gates and conventions - Aligns with branching strategy Next: Test workflows with sample feature PR
4.6 KiB
title, description
| title | description |
|---|---|
| /release | Create GitHub release with automated notes |
Create GitHub Release
You are helping the user create a GitHub release for ClaudeForge.
Prerequisites Check
-
Verify on main branch
git branch --show-current- Should be
main - If not,
git checkout main && git pull
- Should be
-
Check for uncommitted changes
git status- Should be clean
-
Verify CHANGELOG.md updated
grep -A 10 "## \[" CHANGELOG.md | head -15- Should have entry for new version
Workflow
-
Determine Version
- Ask user for version number
- Validate semantic versioning format (X.Y.Z)
- Examples: 1.1.0, 1.0.1, 2.0.0-beta.1
-
Check Tag Doesn't Exist
git tag -l "v1.1.0"- Should return nothing
- If tag exists, ask user to choose different version
-
Verify CHANGELOG.md
- Check if version is documented
- Extract release notes for this version
- Show preview to user
-
Run Release Workflow
Option 1: Via GitHub CLI
gh workflow run release.yml \ -f version=1.1.0 \ -f prerelease=false \ -f draft=falseOption 2: Via GitHub UI
- Go to Actions → Create Release
- Click "Run workflow"
- Enter version: 1.1.0
- Select options (prerelease, draft)
- Click "Run workflow"
-
Monitor Workflow
gh run list --workflow=release.yml --limit 1 gh run watch -
Verify Release Created
gh release list gh release view v1.1.0
Release Types
Stable Release:
- Version: X.Y.Z (e.g., 1.1.0)
- Prerelease: false
- Draft: false
- Published immediately
Pre-Release:
- Version: X.Y.Z-beta.N (e.g., 1.2.0-beta.1)
- Prerelease: true
- Draft: false
- Marked as pre-release on GitHub
Draft Release:
- Version: X.Y.Z
- Draft: true
- Not published until manually approved
Release Notes Generation
The release workflow automatically:
- Extracts notes from CHANGELOG.md
- Adds installation instructions
- Lists commits since last release
- Includes full changelog link
Example output:
Release v1.1.0
[Content from CHANGELOG.md]
---
## 📦 Installation
### One-Line Install
```bash
curl -fsSL https://raw.githubusercontent.com/alirezarezvani/ClaudeForge/main/install.sh | bash
📝 Commits
- feat(skill): add Rust template (a1b2c3d)
- fix(installer): Windows path fix (e4f5g6h)
Full Changelog: https://github.com/alirezarezvani/ClaudeForge/blob/main/CHANGELOG.md
## Post-Release Actions
After release is created:
1. **Verify on GitHub**
- Go to Releases page
- Check release notes are correct
- Test one-line installation command
2. **Update References** (if needed)
- install.sh version reference
- install.ps1 version reference
- README.md version badge
3. **Announce Release**
- Create Discussion post
- Share on social media
- Update documentation site
4. **Sync Dev Branch** (recommended)
```bash
git checkout dev
git merge main
git push origin dev
Example: Creating v1.1.0 Release
# 1. Ensure on main and up to date
git checkout main
git pull origin main
# 2. Verify CHANGELOG.md
cat CHANGELOG.md | grep -A 20 "\[1.1.0\]"
# 3. Run release workflow
gh workflow run release.yml \
-f version=1.1.0 \
-f prerelease=false \
-f draft=false
# 4. Monitor workflow
gh run watch
# 5. Verify release
gh release view v1.1.0
# 6. Test installation
curl -fsSL https://raw.githubusercontent.com/alirezarezvani/ClaudeForge/v1.1.0/install.sh | bash
# 7. Sync dev
git checkout dev
git merge main
git push origin dev
Troubleshooting
"Tag already exists":
- Check existing tags:
git tag -l - Either delete old tag or use different version
"Version not in CHANGELOG":
- Edit CHANGELOG.md
- Add section for new version
- Commit and push to main
"Workflow failed":
- Check workflow logs:
gh run view - Common issues:
- Invalid version format
- Tag conflicts
- Missing CHANGELOG entry
Validation
Before creating release, ensure:
- ✅ On main branch, clean working tree
- ✅ CHANGELOG.md has entry for version
- ✅ All tests passing on main
- ✅ PR from dev to main was merged
- ✅ Version number follows semantic versioning
- ✅ Tag v doesn't already exist
Success Criteria
✅ GitHub release created with auto-generated notes ✅ Git tag created (v1.1.0) ✅ Release appears on Releases page ✅ Installation command works ✅ Dev branch synced with main
Guide user through the process with clear steps and commands they can copy-paste.