---
description: 'Required instructions for creating all commit messages - Brought to you by microsoft/hve-core'
---

# Commit Message Guidelines

This document provides instructions for generating standardized commit messages.

## Format Requirements

- Use Conventional Commit Messages
- All changes MUST be in imperative mood

## Types

Types MUST be one of the following:

- `feat` - A new feature
- `fix` - A bug fix
- `refactor` - A code change that neither fixes a bug nor adds a feature
- `perf` - A code change that improves performance
- `style` - Changes that do not affect the meaning of the code
- `test` - Adding missing tests or correcting existing tests
- `docs` - Documentation only changes (excluding: `*.instructions.md`, `*.prompt.md`, `*.agent.md`, as these are prompts and instructions likely meaning the changes are `feat`, `chore`, etc)
- `build` - Changes that affect the build system or external dependencies
- `ops` - Changes to operational components
- `chore` - Other changes that don't modify src or test files

## Scopes

Scopes MUST be one of the following:

- `(agents)` - Custom agent definitions in `.github/agents/`
- `(prompts)` - Prompt templates in `.github/prompts/`
- `(instructions)` - Coding guidelines in `.github/instructions/`
- `(skills)` - Skill packages in `.github/skills/`
- `(templates)` - Issue and PR templates in `.github/ISSUE_TEMPLATE/`
- `(workflows)` - GitHub Actions in `.github/workflows/`
- `(extension)` - VS Code extension in `extension/`
- `(scripts)` - Automation scripts in `scripts/`
- `(docs)` - Documentation in `docs/`
- `(adrs)` - Architecture Decision Records
- `(settings)` - Configuration files (`.vscode/`, linter configs)
- `(build)` - Build system and dependencies

## Description

- Description MUST be short and LESS THAN 100 bytes
- Examples:

```txt
feat: update logic with new feature
chore: cleaned up and moved code from A to B
feat(iot-ops): add parameters to take name instead of id
```

## Body (Optional)

For larger changes only:

- Body starts with a blank line
- Contains a summarized bulleted list (0-5 items AT MOST)
- MUST be LESS THAN 300 bytes

## Footer

- Footer MUST start with a blank line
- Must include an emoji that represents the change
- Must end with `- Generated by Copilot`

## Example Complete Commit Message - Large

```txt
feat(cloud): add new authentication flow

- add commit message, markdown, C# along with C# test instructions
- introduce task planner and researcher, prompt builder, and adr creation agents
- configure markdownlint and VS Code workspace settings
- add ADO work items prompts for getting and preparing my work items
- add .gitignore and cleanup README newlines

🔒 - Generated by Copilot
```

## Example Complete Commit Message - Medium to Small

```txt
feat(prompts): update summarize-my-work-items.prompt.md to clarify json output, correct get-my-work-items.prompt.md to fallback to wit_my_work_items

🔒 - Generated by Copilot
```
