summaryrefslogtreecommitdiff
path: root/.gitmessage
blob: 571fb503009129c1d0717b0f9123903802699f03 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# <type>[optional scope]: <short description>  (max 72 chars total) ------>|
#
# Types (choose ONE):
#   feat      New feature (MINOR bump in SemVer)
#   fix       Bug fix (PATCH bump)
#   docs      Documentation only (README, man page, comments)
#   style     Formatting, whitespace — no logic change
#   refactor  Code restructure — no feature/fix
#   perf      Performance improvement
#   test      Tests only
#   build     Build system / dependency changes
#   ci        CI/CD configuration
#   chore     Maintenance (release commits, tooling)
#   revert    Revert a previous commit
#
# Scopes (optional, in parentheses after type):
#   core      Main script logic / encode_one()
#   preset    Preset loading / preset files
#   color     Terminal color / NO_COLOR handling
#   cli       Option parsing / help / version output
#   skip      Codec skip-list handling
#   saving    File-size savings logging
#   docs      Documentation (man page, README)
#   completion Bash completion script
#
# Breaking changes: append ! before the colon  →  feat(cli)!: ...
# --------------------------------------------------------------------------

# [blank line — required before body]

# Body (optional): explain WHY, not WHAT. Wrap at 72 chars.            ---->|
#
# Motivation for the change, background, trade-offs considered, etc.
# Use multiple paragraphs separated by blank lines if needed.

# [blank line before footers]

# Footers (optional):
#   BREAKING CHANGE: <description of what breaks and how to migrate>
#   Fixes: #<issue>
#   Refs: #<issue>, <commit-sha>
#   Reviewed-by: Name <email>
#   Co-authored-by: Name <email>
#
# --------------------------------------------------------------------------
# Examples:
#
#   feat(preset): add support for passing raw ffmpeg flags via env var
#
#   fix(core): prevent tmp file leak when ffprobe exits non-zero
#
#   docs: add man page and bash completion script
#
#   feat(cli)!: rename --encodefile to --file-list for clarity
#
#   BREAKING CHANGE: --encodefile/-f is now --file-list/-F. Update any
#   scripts or aliases that use the old flag.
# --------------------------------------------------------------------------