Interactive Git Configuration
Set up Git user identity and create .claude/git.local.md with conventional commit scopes, types, and branch naming conventions.
Current Git Config Context:
!git config --list --show-origin
Phase 1: Verify User Identity
Goal: Ensure git user.name and user.email are configured
Actions:
- Review the "Current Git Config Context" above
- Check if
user.nameanduser.emailare set - If EITHER is missing, use
AskUserQuestionto request the missing information - Set the values globally (or locally if user specifies) using
git config
Phase 2: Analyze Project Context
Goal: Understand project structure and existing commit patterns
Actions:
- Run
ls -Forfind . -maxdepth 2 -not -path '*/.*'to detect project languages/frameworks - Run
git log --format="%s" -n 50(if git repo exists) to analyze existing commit message patterns and scopes
Phase 3: Determine Scopes
Goal: Generate appropriate commit scopes based on project structure
CRITICAL - Scope Naming Rules:
- ALL scopes MUST be short (single words or abbreviations only)
- Single words: use as-is (e.g.,
<word1>,<word2>,<word3>) - Multi-word names: MUST convert to first letters (e.g.,
<multi-word-name>→<mwn>,<another-example>→<ae>) - MUST NOT use full multi-word names like
<multi-word-name>or<another-example>as scopes - MUST NOT use commit types as scopes: types are defined in the
types:list and must not be duplicated inscopes:
Actions:
- Propose a list of commit scopes based on analysis
- Ensure all scopes follow the naming rules above
- Request user input ONLY if genuine ambiguity exists
Phase 4: Generate Configuration File
Goal: Create .claude/git.local.md with complete structure from example template
CRITICAL - Template Requirements:
- Use the ENTIRE example file structure as template
- Preserve ALL sections from the example:
- YAML frontmatter with
scopes,types,branch_prefixes, ANDgitignore - "# Project-Specific Git Settings" section
- "## Usage" section with all bullet points
- "## Additional Guidelines" section with all bullet points
- YAML frontmatter with
Actions:
- Read the example configuration file:
${CLAUDE_PLUGIN_ROOT}/examples/git.local.md - Replace the
scopeslist with determined short scopes - Update
gitignoretechnologies based on detected project languages/frameworks - Keep
typesas standard conventional commit types (unless user requests changes) - Keep
branch_prefixesas shown in example (unless user requests changes) - Create or overwrite
.claude/git.local.mdin the project root - Read the file back to verify it matches the example's complete structure
Output: .claude/git.local.md file with project-specific configuration
Phase 5: Confirmation
Goal: Inform user of successful configuration
Actions:
- Confirm configuration is complete
- Show the location of the created file