---
name: kramme:commit
description: Create commit messages. Use when committing code changes or writing commit messages. Provides issue reference patterns and commit message guidelines.
---

# Commit Messages

Follow these conventions when creating commits.

## Prerequisites

Before committing, ensure you're working on a feature branch, not the main branch.

```bash
# Check current branch
git branch --show-current
```

If you're on `main` or `master`, ask the user to create a new branch first.

## Format

Do not use conventional commit format (`type: message` or `type(scope): message`) for regular commits. Conventional commits are only used for merge commits (PR titles), not for individual commits on a branch.

Write clear, descriptive commit messages in plain English:

```
Add user authentication endpoint

Implement login and logout functionality with JWT tokens.
Sessions expire after 24 hours of inactivity.
```

## Body Guidelines

- Keep the body short; omit it entirely if it doesn't add value beyond the subject line
- Explain **what** and **why**, not how
- Use imperative mood and present tense
- Include motivation for the change
- Contrast with previous behavior when relevant

## AI-Generated Changes

Never include AI attribution markers in commits. Do not add:

- `Co-Authored-By: Claude <noreply@anthropic.com>`
- Phrases like "Generated by AI", "Written with Claude", or similar markers

Commit messages should focus solely on what changed and why, regardless of how the code was produced.

## Principles

- Each commit should be a single, stable change
- Commits should be independently reviewable
- The repository should be in a working state after each commit
