Skip to content

Commit e8cb743

Browse files
committed
;doc: contrib: commit messages: add more types
1 parent a4470c2 commit e8cb743

File tree

1 file changed

+25
-13
lines changed

1 file changed

+25
-13
lines changed

CONTRIBUTING.md

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -525,28 +525,40 @@ conventions for commit messages (WIP, will evolve as needed), aiming to
525525
[Optional description, more details here when needed.]
526526
```
527527

528-
2. Every top-level commit must have a type prefix. This indicates the
529-
change's intended audience and the general type of change.
528+
2. Every top-level commit must have a type prefix, ending with a colon and optional space.
529+
This indicates the change's intended audience and the general type of change.
530530
Here are the current types:
531531

532-
- Changes visible to end users (including users of hledger-web's HTTP API).
532+
- **Changes visible to end users** (including users of hledger-web's HTTP API).
533533
These will appear in release notes and changelogs:
534534

535535
- `feat` - a new feature
536536
- `imp` - an improvement to existing features
537537
- `fix` - a bugfix
538538

539-
- Changes affecting packagers, builders (including users installing
540-
from stackage or hackage), and library users (Haskell programmers
541-
using our library APIs). These will appear in changelogs, but not in release notes:
539+
- **Changes affecting packagers, builders, and library users**.
540+
These will appear in changelogs:
542541

543-
- `cha` (or `pkg`, `lib` ?)
544-
545-
- Changes of interest only to hledger developers/documentors/debuggers;
546-
these will be visible only in the commit history, not in changelogs or release notes:
542+
- `cha` - a generic package/lib change. Or, one of these specific types:
543+
- `pkg` - something to do with the haskell packages, dependencies etc.
544+
- `lib` - a change in the package's library API
545+
- ...some other type that seems useful...
546+
547+
- **Changes interesting only to hledger developers/documentors/debuggers**.
548+
These will usually appear only in the commit history, not in changelogs or release notes:
547549

548-
- `dev` (or `doc`, `ref`, `cln`, ... ?)
550+
- `dev` - a generic developer change. Or, one of these specific types:
551+
- `ref` - refactoring
552+
- `cln` - cleanup
553+
- `doc` - documentation-related
554+
- `test` - tests-related
555+
- `ci` - continuous integration-related
556+
- ...some other type that seems useful...
549557

558+
There's a bit of ambiguity/overlap between the cha/dev types and topics.
559+
Eg the `doc` type indicates a boring doc change, but there's also a `doc` topic
560+
which might be used for interesting doc changes, as in `feat:doc:...`. TBD.
561+
550562
3. If this is a "breaking change", introducing a compatibility or
551563
migration issue, the type is followed by `!`, and the issue
552564
and advice to users are included in the description.
@@ -575,8 +587,8 @@ conventions for commit messages (WIP, will evolve as needed), aiming to
575587

576588
Crafting good commit messages (and thereby good commits, good change
577589
documentation, easier code review, faster merging) is an art and a
578-
habit; we'll check and satisfy these conventions as part of CI and
579-
code review.
590+
habit. Just use your best judgement and we'll check and polish
591+
as part of CI and code review. Examples will be added here in due course.
580592

581593
Related:
582594

0 commit comments

Comments
 (0)