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.

Valid Formats

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: feat is 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.

Try It — Conventional Commits Linter

Open full tool