1.7 KiB
1.7 KiB
description, argument-hint
| description | argument-hint |
|---|---|
| Analyzes code changes and generates a conventional commit message. |
/commit
This command analyzes staged and unstaged changes to generate a high-quality commit message that follows the project's existing style.
When to use
- Use when: The user wants to commit their changes, e.g., "commit my work", "create a commit".
- Suggest when: The user indicates they have finished a task or a set of changes.
- Example: "User: I'm done with the changes for the login page." -> Assistant suggests
/commit. - Example: "User: wrap this up" -> Assistant suggests
/commit.
Actions
-
Step 1: Gather Git Information
- Use a
workeragent to run the following commands in parallel:git diff --staged(to see staged changes)git diff(to see unstaged changes)git status(to see current branch and file status)git log --oneline -10(to understand the project's commit message style)
- Use a
-
Step 2: Analyze Changes and Generate Message
- If there are no changes, inform the user and stop.
- If there are only unstaged changes, ask the user if they want to stage files first.
- Based on the git information, generate a commit message that:
- Follows the project's historical style (e.g., conventional commits, emoji usage).
- Accurately and concisely describes the changes.
- Explains the "why" behind the change, not just the "what".
-
Step 3: Propose and Commit
- Use the
AskUserQuestiontool to present the generated message to the user. - Ask if they want to use the message to commit, edit it, or cancel.
- If the user agrees to commit, run the
git commit -m "<message>"command.
- Use the