Conventional Commits¶
twig's save command follows the Conventional Commits specification. This page explains the format and how twig assembles commit messages.
Format¶
All parts except <type> and <message> are optional:
Types¶
| Type | Emoji | Meaning |
|---|---|---|
feat |
๐ | New behaviour or capability |
fix |
๐ | Something broken is now fixed |
chore |
๐งน | Maintenance, config, deps, refactor, CI |
test |
๐งช | Adding or updating tests |
docs |
๐ | Documentation only |
Scopes¶
The scope identifies what part of the codebase the commit touches. It's project-specific โ twig doesn't enforce any particular scopes. Examples: api, infra, ci, auth, db.
Configure frequently-used scopes as pinned so they always appear at the top of the picker:
Why conventional commits¶
- Machine-readable โ tools like goreleaser use commit types to generate changelogs and determine version bumps automatically
- Scannable โ
git logbecomes useful at a glance - Self-documenting โ the type and scope explain intent without reading the diff