---
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
```
