INKHOLD

Contributor · Reference

Commit messages#

Every commit follows Conventional Commits. CI checks each title a push or pull request adds.

type(scope): what changed, in the imperative

Why, in a few short lines, when the title isn't enough.

The title#

  • type, an optional (scope), a colon, a space, then the summary.
  • Under 120 characters.
  • Lowercase scope: server, webapp, parsers, docs, ci, release.
  • ! before the colon for a breaking change: feat(server)!: drop the v1 routes.
TypeFor
featSomething new for the people using Inkhold
fixA bug fixed
perfFaster or smaller, behaving the same
refactorCode changed, behaviour not
testTests only
docsDocumentation only
ciThe workflows
buildThe build, the toolchain, dependencies
styleFormatting only
choreAnything else, such as chore(release): 1.0.0-beta.1
revertUndoing an earlier commit

The body#

Short, and only when the title leaves a question: why, not what. A breaking change says what to do about it in a BREAKING CHANGE: line.

Check before you push#

make commit-check     # the commits not yet on origin/main
make commit-hook      # once: git then checks each title as you commit