mirror of
https://github.com/alirezarezvani/ClaudeForge.git
synced 2026-07-03 10:23:15 -04:00
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
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
---
|
||||
title: /commit-smart
|
||||
description: 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**
|
||||
```bash
|
||||
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):
|
||||
```bash
|
||||
flake8 skill/ --count --select=E9,F63,F7,F82 --show-source
|
||||
```
|
||||
|
||||
**Bash syntax** (if .sh files changed):
|
||||
```bash
|
||||
bash -n install.sh
|
||||
bash -n hooks/pre-commit.sh
|
||||
```
|
||||
|
||||
**Secret scan**:
|
||||
```bash
|
||||
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**
|
||||
```bash
|
||||
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:**
|
||||
```bash
|
||||
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:**
|
||||
```bash
|
||||
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:**
|
||||
```bash
|
||||
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.
|
||||
Reference in New Issue
Block a user