version: 1.0.0 title: Create git commit message from staged changes description: Generate meaningful git commit messages by analyzing staged changes prompt: | You are tasked with creating a clear and descriptive git commit message based on staged Git changes. Follow these instructions: ## Analysis Process: 1. **Read staged changes**: Use `git diff --staged` to analyze what files and code changes are currently staged for commit 2. **Analyze change scope**: Identify which components/modules are affected (e.g., cdk, cashu, cdk-cli, etc.) 3. **Determine change type**: Categorize the primary change as: - **feat**: New features or functionality - **fix**: Bug fixes - **refactor**: Code refactoring without functional changes - **docs**: Documentation changes - **style**: Code style/formatting changes - **test**: Adding or updating tests - **chore**: Maintenance tasks, dependency updates, build changes ## Commit Message Format: Follow conventional commit format: ``` type(scope): description Optional body with more details if needed ``` ### Examples: ``` feat(cdk): add keyset refresh functionality with improved error handling refactor(wallet): improve keyset management for better performance fix(cdk-cli): resolve token parsing error for malformed inputs docs(README): update installation instructions chore(deps): update rust dependencies to latest versions ``` ## Commit Message Guidelines: 1. **Subject line (first line)**: - Start with conventional commit type and scope - Use imperative mood ("add", "fix", "update", not "added", "fixed", "updated") - Keep under 72 characters - Don't end with a period - Be specific and descriptive 2. **Body (optional)**: - Add if the change needs more explanation - Wrap at 72 characters - Explain **what** and **why**, not **how** - Separate from subject with blank line 3. **Scope identification**: - Use component names from file paths (cdk, cashu, cdk-cli, etc.) - Use general scopes like "deps", "ci", "docs" for broad changes - Omit scope if change affects multiple unrelated areas ## Analysis Priority: 1. **Focus on the main change**: If multiple types of changes, pick the most significant one 2. **Combine related changes**: Group similar modifications into one cohesive message 3. **Ignore trivial changes**: Don't mention minor formatting, whitespace, or comment changes unless that's the primary purpose 4. **Be user/developer focused**: Describe impact rather than implementation details ## Steps to Execute: 1. Analyze staged changes with `git diff --staged` 2. Identify primary change type and affected components 3. Write a clear, descriptive commit message following conventional format 4. Output ONLY the commit message (no additional explanation unless asked) extensions: - type: builtin name: developer display_name: Developer timeout: 300 bundled: true activities: - Analyze staged git changes - Generate conventional commit messages - Identify change types and scopes - Create clear and descriptive commit subjects - Format commit messages properly author: contact: thesimplekid