Basic feat Commit Message
Learn how to write a basic feat commit message following the Conventional Commits specification. Covers the type, colon-space separator, and description.
Detailed Explanation
The Foundation: feat Commits
The feat type is one of the two most important Conventional Commits types (alongside fix). It signals that a commit introduces a new feature visible to users of the codebase. Tools like standard-version and semantic-release use feat commits to trigger a minor version bump (e.g., 1.2.0 to 1.3.0) in semantic versioning.
Anatomy of a Basic feat Commit
feat: add user registration form
This single line contains three elements:
| Element | Value | Purpose |
|---|---|---|
| Type | feat |
Declares the commit introduces a new feature |
| Separator | : |
Colon followed by a space (required) |
| Description | add user registration form |
Imperative-mood summary of the change |
Writing Good Descriptions
The description should use the imperative mood ("add", not "added" or "adds"), start with a lowercase letter, and avoid a trailing period. Think of it as completing the sentence: "If applied, this commit will add user registration form."
Why This Passes All Rules
- Valid type:
featis in the default allowed types list. - Colon + space: The
:separator is present. - Non-empty description: The description clearly states the change.
- Subject length: At 35 characters, well under the 72-character limit.
- No scope: Scope is optional, so omitting it is valid.
Use Case
Use a basic feat commit when you add a new feature that does not belong to a specific module or when your project does not use scoped commits. This is the most common commit format in projects that follow Conventional Commits.