Full commit workflow - detects changes, generates conventional commits, updates PRs
Executes complete commit workflow: detects changes, generates conventional commits, and manages PRs.
/plugin marketplace add arevlo/claude-code-workflows/plugin install arevlo-dev@claude-code-workflowsCommit staged/unstaged changes following commit best practices. Checks branch status and updates PR description if applicable.
Detect changes across repositories:
git -C <file-dir> rev-parse --show-toplevelChanges detected in multiple repositories:
- /path/to/repo1: file1.md, file2.tsx
- /path/to/repo2: file3.md
These will be committed separately.
Check branch status (per repo):
git branch --show-current to get current branchmain, ask user to create a feature branch firstgit config user.name | tr '[:upper:]' '[:lower:]' | tr ' ' '-'<username>.<type>-<description>
johndoe.docs-update-readme, janedoe.feat-new-featureCheck if branch PR was already merged or closed:
gh pr view --json mergedAt,state -q '{mergedAt,state}'mergedAt has a timestamp OR state is "CLOSED": PR is doneIf branch was merged/closed, handle it:
git checkout main
git pull origin main
git checkout -b <username>.<type>-<description>
<username>.<type>-<description> formatCheck for changes:
git status to see staged and unstaged changesgit diff --stat to summarize changesStage changes (if needed):
git add <files> for selected filesGenerate commit message:
type: brief descriptionfeat, fix, docs, chore, refactor, test, styleShow commit preview and get confirmation:
Commit:
git commit -m "<message>"
Post-commit: Ask user's intent: Ask user:
Committed! What would you like to do?
1. Push now
2. Continue making changes (will push later)
If "Continue making changes":
If "Push now" - Check PR status:
Run: gh pr view --json number,state,mergedAt 2>/dev/null
Case A: PR exists and state="OPEN"
git push origin <branch>/pr-describe to update PR description with new changesCase B: PR exists and state="CLOSED" or mergedAt is set
Case C: No PR exists Ask:
No PR exists. What would you like to do?
1. Just push (no PR yet)
2. Push and create PR
If "Just push":
git push -u origin <branch> (first push) or git push origin <branch>If "Push and create PR":
git push -u origin <branch>gh pr create --title "<type>: <brief description>" --body ""/pr-describe to generate and set proper descriptionConfirm with summary of what was done (committed, pushed, PR status)
Repeat for next repo (if multiple repos detected in step 1)
type: brief description (50 chars max)
Types:
feat: - New featurefix: - Bug fixdocs: - Documentationstyle: - Formattingrefactor: - Code restructuretest: - Testschore: - Maintenancefeat: add now page to portfoliofix: resolve file path issuedocs: update installation guidechore: update dependencies