- Current git status: !`git status`
Commits Claude-modified files with conventional commit messages and optional push.
/plugin marketplace add lttr/claude-marketplace/plugin install dev-flow@lttr-claude-marketplacedf/git statusgit branch --show-currentgit log --oneline -10git diff HEADCommit files modified by Claude (via Edit/MultiEdit/Write) in this conversation.
Arguments ($ARGUMENTS):
push → push after committingall → commit all changes, not just Claude-modified filesPre-staged files:
Check git diff --cached --name-only. If any staged files weren't modified by Claude, warn user and ask: (a) include them, (b) unstage them, or (c) abort.
Attribution check:
If .claude/settings.json or .claude/settings.local.json in project root doesn't have "attributionEnabled": true, warn user that commit attribution is disabled.
Follow commitlint convention: type(ticket#): message
Types: feat, fix, chore, docs, refactor, perf, test, build, ci, revert
Scope: Numeric ticket number only (from branch name, conversation context, or ask user)
Breaking changes: Append ! after scope: feat(123)!: message
Good examples:
fix(192108): fix of translations
feat(189212): added border styles to banner component
chore(191659): disable NewRelic
feat(185869): remove old pl-related configs
feat(64683)!: migration on nuxt bridge
Bad examples (avoid these):
WIP # no type/scope
191584 # just ticket number
Hidden internal reviews # no type/ticket
feat(hotfix): fix env config # non-numeric scope
bug(190910): fix translations # invalid type
$ARGUMENTS contains "all")git rev-parse HEADfeature/12345-desc → 12345)git add <files> and commit (file-level staging includes others' changes to same file)git log --oneline from recorded HEAD$ARGUMENTSExecute git commands in parallel where possible. Output only the first line of commit message(s).