Conventional Commits
Spotlight uses Conventional Commits for commit messages. This allows us to automatically generate changelogs and determine version bumps.
Commit Message Format
Each commit message should follow this format:
<type>(<scope>): <description>
[optional body]
[optional footer]Types
| Type | Description | Version Bump |
|---|---|---|
feat | A new feature | Minor |
fix | A bug fix | Patch |
docs | Documentation only changes | Patch |
refactor | Code change that neither fixes a bug nor adds a feature | Patch |
perf | Performance improvement | Patch |
test | Adding or updating tests | Patch |
chore | Maintenance tasks, dependencies, etc. | Patch |
ci | CI/CD changes | Patch |
build | Build system changes | Patch |
Breaking Changes
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
Scopes are optional but help categorize changes:
ui- UI componentsserver- Sidecar servercli- CLI commandselectron- Electron appmcp- MCP server
Examples
# New featurefeat(ui): add dark mode toggle
# Bug fixfix(server): handle empty envelopes correctly
# Breaking changefeat(cli)!: change default port to 8970
# Documentationdocs: update installation guide
# Chore (won't appear in changelog by default)chore: update dependenciesChangelog Preview
When you open a PR, a bot will automatically comment with a preview of how your changes will appear in the changelog. This helps you verify your commit messages are correct.
Skipping Changelog
If your PR shouldn’t appear in the changelog (e.g., internal refactoring), you can:
- Add
#skip-changeloganywhere in your commit message or PR description - Add the
skip-changeloglabel to your PR