Initial commit
This commit is contained in:
48
commands/commit.md
Normal file
48
commands/commit.md
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: Generate a commit message based on current changes
|
||||
---
|
||||
|
||||
# Commit Command
|
||||
|
||||
You need to help the user generate a high-quality commit message. Please follow these steps:
|
||||
|
||||
## 1. Fetch Git Information
|
||||
|
||||
Run the following commands in parallel to get the current repository state:
|
||||
|
||||
- `git diff` - View unstaged changes
|
||||
- `git diff --staged` - View staged changes
|
||||
- `git status` - View current branch and file status
|
||||
- `git log --oneline -10` - View the last 10 commits to understand the commit message format style
|
||||
|
||||
## 2. Analyze Changes
|
||||
|
||||
Based on the fetched information, analyze:
|
||||
|
||||
- Current branch name
|
||||
- File types and scope of changes
|
||||
- Nature of changes (new feature, fix, refactor, docs, etc.)
|
||||
- Commit message format style in history (whether using emoji, English/Chinese, following conventional commits, etc.)
|
||||
|
||||
## 3. Generate Commit Message
|
||||
|
||||
Based on the above analysis, generate a commit message that meets the following requirements:
|
||||
|
||||
- **Follow project style**: Based on the historical commit format seen in git log
|
||||
- **Accurately describe changes**: Clearly explain what was changed
|
||||
- **Be concise**: Keep the first line within 50-72 characters (if in English)
|
||||
- **Use correct type**: Such as feat, fix, docs, refactor, test, chore, etc. (if the project uses conventional commits)
|
||||
|
||||
## 4. Output Format
|
||||
|
||||
After generating the commit message, display it directly to the user and ask if they want to:
|
||||
|
||||
1. Use this message to commit
|
||||
2. Need to modify it
|
||||
3. Regenerate
|
||||
|
||||
**Important Notes**:
|
||||
|
||||
- If there are no changes (git status shows clean), inform the user there are no changes to commit
|
||||
- If there are only unstaged changes, ask the user if they need to add files first
|
||||
- The message should describe "why" rather than just "what"
|
||||
Reference in New Issue
Block a user