Files
gh-taylorhuston-ai-toolkit-…/commands/commit.md
2025-11-30 09:00:21 +08:00

3.8 KiB

tags, description, argument-hint, allowed-tools, model, references_guidelines
tags description argument-hint allowed-tools model references_guidelines
workflow
git
commit
quality
Create a proper git commit with quality checks and conventional message [message] [--files FILES] [--amend] [--no-verify] [--interactive]
Bash
Read
Grep
Glob
claude-sonnet-4-5
docs/development/workflows/git-workflow.md

/commit Command

WHAT: Create git commit with quality checks and conventional message formatting.

WHY: Ensure consistent commit messages, enforce quality gates, enable semantic versioning and automated changelogs.

HOW: See git-workflow.md for commit conventions, type inference rules, and branch-based message generation.

Usage

# Basic
/commit                           # Interactive with quality checks
/commit "feat: add user auth"     # Direct with message
/commit --files "src/auth.js"     # Commit specific files

# Advanced
/commit --amend                   # Amend last (safety checks)
/commit "fix: typo" --no-verify   # Skip hooks
/commit --interactive             # Interactive staging + commit
/commit "docs: update" --amend --no-verify  # Combine flags

Process

Argument Parsing:

  • --amend: Amend mode with safety checks
  • --no-verify: Skip pre-commit hooks
  • --interactive: Interactive staging first
  • --files: Stage only specified files

Branch-Aware Message Generation:

  1. Get branch: git branch --show-current
  2. Read git-workflow.md for branch naming pattern
  3. Extract issue ID from branch (feature/TASK-001 → TASK-001)
  4. Determine commit type from staged changes using commit_type_inference config
    • Analyzes file patterns (tests, docs, config, source)
    • Checks message keywords (fix, feature, refactor)
    • See git-workflow.md "Commit Type Inference" for customization
  5. If issue ID extracted and not in message: type(ISSUE-ID): description
  6. Follow conventional commits format from git-workflow.md

Standard Flow:

  1. Run pre-commit checks (tests, lint, type-check) unless --no-verify
  2. Review staged changes
  3. Draft message (branch-aware, with issue reference)
  4. Ask confirmation

Amend Mode (--amend):

  1. Safety: Verify not pushed (git log @{u}..HEAD)
  2. Authorship: Verify author matches user
  3. Warning: If different author, warn and require confirmation
  4. Proceed: Allow amending if safe

No-Verify Mode (--no-verify):

  1. Display warning (checks skipped)
  2. Explain use cases (emergency fixes, WIP)
  3. Note quality checks won't run
  4. Execute with --no-verify

Interactive Mode (--interactive):

  1. Run git add -i or git add -p
  2. Review selected changes
  3. Proceed with standard flow

Agent Coordination

Primary: code-reviewer (change assessment, quality validation) Supporting: test-engineer (test validation), security-auditor (security-sensitive changes)

Branch-Aware Messages

Auto-includes issue references from branch:

# On feature/TASK-001
/commit "add user authentication"
# → feat(TASK-001): add user authentication

# On bugfix/BUG-003
/commit "fix login timeout"
# → fix(BUG-003): fix login timeout

# On develop (no issue)
/commit "refactor database connection"
# → refactor: refactor database connection

# Manual override
/commit "feat(TASK-001): add user auth"
# → Uses as-is: feat(TASK-001): add user auth

Benefits: Auto issue tracking, no need to remember IDs, links commits to tasks

Examples

Interactive: /commit → Review → Generate message → Confirm Direct: /commit "add auth" → Adds issue → Quality checks → Commit Selective: /commit --files "src/auth.js" → Specific files with issue Amend: /commit --amend → Safety checks → Amend Skip hooks: /commit "fix typo" --no-verify → Fast commit Interactive staging: /commit --interactive → Choose hunks → Commit