Skip to content

Conventional Commits

Spotlight uses Conventional Commits for commit messages. This allows us to automatically generate changelogs and determine version bumps.

Each commit message should follow this format:

<type>(<scope>): <description>
[optional body]
[optional footer]
TypeDescriptionVersion Bump
featA new featureMinor
fixA bug fixPatch
docsDocumentation only changesPatch
refactorCode change that neither fixes a bug nor adds a featurePatch
perfPerformance improvementPatch
testAdding or updating testsPatch
choreMaintenance tasks, dependencies, etc.Patch
ciCI/CD changesPatch
buildBuild system changesPatch

For breaking changes, add ! after the type/scope:

feat!: remove deprecated API
BREAKING CHANGE: The old API has been removed.

This will trigger a major version bump.

Scopes are optional but help categorize changes:

  • ui - UI components
  • server - Sidecar server
  • cli - CLI commands
  • electron - Electron app
  • mcp - MCP server
Terminal window
# New feature
feat(ui): add dark mode toggle
# Bug fix
fix(server): handle empty envelopes correctly
# Breaking change
feat(cli)!: change default port to 8970
# Documentation
docs: update installation guide
# Chore (won't appear in changelog by default)
chore: update dependencies

When you open a PR, Craft will automatically generate a preview of how your changes will appear in the changelog. You can also add custom changelog entries in your PR description.

If your PR shouldn’t appear in the changelog (e.g., internal refactoring), you can:

  1. Add the skip-changelog label to your PR