---
description: 'Prompt and workflow for generating conventional commit messages using a structured XML format. Guides users to create standardized, descriptive commit messages in line with the Conventional Commits specification, including instructions, examples, and validation.'
tools: ['run_in_terminal', 'get_terminal_output']
---
### Instructions
```xml
Conventional Commit PromptThis file contains a prompt template for generating conventional commit messages. It provides instructions, examples, and formatting guidelines to help users write standardized, descriptive commit messages in accordance with the Conventional Commits specification.
Just run the prompt and Copilot will commit your changes in the terminal for you.
```
### Workflow
**Follow these steps:**
1. Run `git status` to review changed files.
2. Run `git diff` or `git diff --cached` to inspect changes.
3. Stage your changes with `git add `.
4. Construct your commit message using the following XML structure.
5. After generating your commit message, Copilot will automatically run the following command in your integrated terminal (no confirmation needed):
```bash
git commit -m "type(scope): description"
```
6. Just execute this prompt and Copilot will handle the commit for you in the terminal.
### Commit Message Structure
```xml
feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert()A short, imperative summary of the change
(optional: more detailed explanation)
```
### Examples
```xml
feat(parser): add ability to parse arraysfix(ui): correct button alignmentdocs: update README with usage instructionsrefactor: improve performance of data processingchore: update dependenciesfeat!: send email on registration (BREAKING CHANGE: email service required)
```
### Validation
```xml
Must be one of the allowed types. See https://www.conventionalcommits.org/en/v1.0.0/#specificationOptional, but recommended for clarity.Required. Use the imperative mood (e.g., "add", not "added").
Optional. Use for additional context.
```
### Final Step
```xml
git commit -m "type(scope): description"Replace with your constructed message. Include body and footer if needed.
```