---
description: Create a structured commit message following Conventional Commits
argument-hint: [type] [scope?]
allowed-tools:
  - Bash(git diff --staged)
  - Bash(git status)
---

# Structured Commit

Generate a Conventional Commits message based on staged changes.

## Context

!git diff --staged
!git status

## Task

Based on the staged changes, generate a commit message following Conventional Commits:

**Format:** `type(scope): description`

**Types:**
- `feat` — New feature
- `fix` — Bug fix
- `docs` — Documentation only
- `style` — Formatting, no code change
- `refactor` — Code change that neither fixes nor adds
- `perf` — Performance improvement
- `test` — Adding/updating tests
- `chore` — Maintenance tasks

Arguments:
- `$1` = commit type (if provided)
- `$2` = scope (if provided)

## Output Format

```
type(scope): short description

- Bullet point explaining change 1
- Bullet point explaining change 2
```

## Constraints

- Keep subject line under 72 characters
- Use imperative mood ("Add" not "Added")
- Do not include issue numbers unless explicitly asked
