Files
Reza Rezvani 6d954fefee feat(commands): add GitHub workflow integration slash commands
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
2025-11-12 13:06:50 +01:00

2.8 KiB

title, description
title description
/commit-smart Create smart commit with quality checks and conventional format

Smart Commit with Quality Gates

You are helping the user create a well-formatted commit with pre-commit validation.

Workflow

  1. Check Staged Changes

    git status
    git diff --cached --stat
    
    • Show what files are staged
    • If nothing staged, ask user what to add
  2. Pre-Commit Quality Checks

    Run local quality gates before committing:

    Python syntax (if .py files changed):

    flake8 skill/ --count --select=E9,F63,F7,F82 --show-source
    

    Bash syntax (if .sh files changed):

    bash -n install.sh
    bash -n hooks/pre-commit.sh
    

    Secret scan:

    git diff --cached | grep -iE "(api_key|api_secret|password|token|AWS_ACCESS)" || echo "No secrets detected"
    
  3. Generate Conventional Commit Message

    Ask user about the change:

    • Type: feat, fix, docs, style, refactor, perf, test, build, ci, chore
    • Scope: installer, skill, command, agent, docs, ci, workflows
    • Description: what changed (imperative mood)
    • Why: reason for change (optional body)
    • Issue: related issue number

    Format:

    <type>(<scope>): <description>
    
    [optional body explaining why]
    
    [optional footer: Closes #123]
    
  4. Validate Message Format

    • Check format matches Conventional Commits
    • Ensure subject is imperative mood ("add" not "added")
    • Verify no period at end
    • Check length < 50 characters for subject
  5. Create Commit

    git commit -m "<generated message>"
    
  6. Post-Commit Actions

    • Show commit hash
    • Show commit in log
    • Ask if user wants to push

Examples

Feature commit:

git commit -m "feat(installer): add Windows PowerShell support

Adds install.ps1 script with equivalent functionality to
install.sh for Windows users.

Closes #42"

Fix commit:

git commit -m "fix(skill): correct Python syntax validation

Fix flake8 configuration to properly detect syntax errors.
Previous config was too permissive.

Fixes #156"

Docs commit:

git commit -m "docs: update GitHub workflows documentation

Add troubleshooting section and configuration examples."

Quality Gates

Before committing, ensure:

  • No syntax errors
  • No hardcoded secrets
  • Conventional Commits format
  • Related issue linked (for feat/fix)
  • Files staged are relevant to commit message

Interactive Flow

  1. Show staged changes
  2. Run quality checks
  3. Ask for commit details (type, scope, description)
  4. Generate commit message
  5. Show preview
  6. Confirm with user
  7. Execute commit
  8. Display result

Use clear prompts and provide the exact commands for the user to run.