Setup Automated Releases

Setup automated release workflows with semantic versioning, conventional commits, and comprehensive automation

CommanddeploymentMIT1 source files

Before you use this component

This is a third-party source bundle, not an installation into your account. UI Discovery has checked the available redistribution license evidence; runtime behavior has not been tested. Review all files, use a disposable project first, and do not enable scripts or hooks until you understand their permissions.

Some integrations require separately installed software, API keys or paid services. Credentials and subscriptions are not included. These are Claude Code resources; other clients may require adaptation.

Extract the ZIP into a temporary folder, inspect its entry file and supporting resources, then follow the original instructions. Do not overwrite an existing project configuration blindly. Keep the bundled license and attribution notices.

Source publisher
Claude Code Templates
Creator supplied by source
Not listed in source
Pinned source version
a344359459263d73d8948651c789244093c02e4e
License evidence
LICENSE

Source preview

cli-tool/components/commands/deployment/setup-automated-releases.md

---
allowed-tools: Read, Write, Edit, Bash
argument-hint: [release-type] | --semantic | --conventional-commits | --github-actions | --full-automation
description: Setup automated release workflows with semantic versioning, conventional commits, and comprehensive automation
---

# Automated Release System

Setup automated release workflows: $ARGUMENTS

## Current Project Analysis

- Project structure: @package.json or @setup.py or @go.mod (detect project type)
- Existing workflows: !`find .github/workflows -name "*.yml" 2>/dev/null | head -3`
- Current versioning: @package.json version or git tags analysis
- Commit patterns: !`git log --oneline -20 | grep -E "^(feat|fix|docs|style|refactor|test|chore)" | wc -l || echo "0"` conventional commits
- Release history: !`git tag -l | wc -l || echo "0"` existing releases

## Task

Implement comprehensive automated release system:

1. **Analyze Repository Structure**
   - Detect project type (Node.js, Python, Go, etc.)
   - Check for existing CI/CD workflows
   - Identify current versioning approach
   - Review existing release processes

2. **Create Version Tracking**
   - For Node.js: Use package.json version field
   - For Python: Use __version__ in __init__.py or pyproject.toml
   - For Go: Use version in go.mod
   - For others: Create version.txt file
   - Ensure version follows semantic versioning (MAJOR.MINOR.PATCH)

3. **Set Up Conventional Commits**
   - Create CONTRIBUTING.md with commit conventions:
     - `feat:` for new features (minor bump)
     - `fix:` for bug fixes (patch bump)
     - `feat!:` or `BREAKING CHANGE:` for breaking changes (major bump)
     - `docs:`, `chore:`, `style:`, `refactor:`, `test:` for non-releasing changes
   - Include examples and guidelines for each type

4. **Create Pull Request Template**
   - Add `.github/pull_request_template.md`
   - Include conventional commit reminder
   - Add checklist for common requirements
   - Reference contributing guidelines

5. **Create Release Workflow**
   - Add `.github/workflows/release.yml`:
     - Trigger on push to main branch
     - Analyze commits since last release
     - Determine version bump type
     - Update version in appropriate file(s)
     - Generate release notes from commits
     - Update CHANGELOG.md
     - Create git tag
     - Create GitHub Release
     - Attach distribution artifacts
   - Include manual trigger option for forced releases

6. **Create PR Validation Workflow**
   - Add `.github/workflows/pr-check.yml`:
     - Validate PR title follows conventional format
     - Check commit messages
     - Provide feedback on version impact
     - Run tests and quality checks

7. **Configure GitHub Release Notes**
   - Create `.github/release.yml`
   - Define categories for different change types
   - Configure changelog exclusions
   - Set up contributor recognition

8. **Update Documentation**
   - Add release badges to README:
     - Current version badge
     - Latest release badge
     - Build status badge
   - Document release process
   - Add link to CONTRIBUTING.md
   - Explain version bump rules

9. **Set Up Changelog Management**
   - Ensure CHANGELOG.md follows Keep a Changelog format
   - Add [Unreleased] section for upcoming changes
   - Configure automatic changelog updates
   - Set up changelog categories

10. **Configure Branch Protection**
    - Recommend branch protection rules:
      - Require PR reviews
      - Require status checks
      - Require conventional PR titles
      - Dismiss stale reviews
    - Document recommended settings

11. **Add Security Scanning**
    - Set up Dependabot for dependency updates
    - Configure security alerts
    - Add security policy if needed

12. **Test the System**
    - Create example PR with conventional title
    - Verify PR checks work correctly
    - Test manual release trigger
    - Validate changelog generation

Arguments: $ARGUMENTS

### Additional Considerations

**For Monorepos:**
- Set up independent versioning per package
- Configure changelog per package
- Use conventional commits scopes

**For Libraries:**
- Include API compatibility checks
- Generate API documentation
- Add upgrade guides for breaking changes

**For Applications:**
- Include Docker image versioning
- Set up deployment triggers
- Add rollback procedures

**Best Practices:**
- Always create release branches for hotfixes
- Use release candidates for major versions
- Maintain upgrade guides
- Keep releases small and frequent
- Document rollback procedures

This automated release system provides:
- ✅ Consistent versioning
- ✅ Automatic changelog generation
- ✅ Clear contribution guidelines
- ✅ Professional release notes
- ✅ Reduced manual work
- ✅ Better project maintainability

Preview capped at 60,000 characters. Download the bundle for every original file and notice.

Read the redistribution license
MIT License

Copyright (c) 2025 Daniel (San) Ávila

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Bundle SHA-256: fe7eff06b1bf5baa0ed593474ffe34c630163fb16188c601fa7734fa76a81494. Files are served as downloads and are never executed by this page.