instructlab / instructlab

InstructLab Command-Line Interface. Use this to chat with a model and execute the InstructLab workflow to train a model using custom taxonomy data.
https://instructlab.ai
Apache License 2.0
788 stars 298 forks source link

Proposal: Adopting Conventional Commit Messages #1096

Closed leseb closed 3 months ago

leseb commented 4 months ago

I propose adopting conventional commit messages in our repository to standardize our commit history and improve code review processes. At least I would like to enforce it since most of the contributors are doing it, but this would be helpful for newcomers. By using a concise prefix indicating the type of change followed by a brief description, we can enhance readability, facilitate automated changelog generation, and promote better collaboration among contributors. We will integrate Commitlint as a CI job to enforce the conventional commit message format and update documentation. This initiative aims to streamline release management and maintain high-quality code throughout the project lifecycle.

To start, I'm proposing the following commitlint.json:

{
  "extends": [
    "@commitlint/config-conventional"
  ],
  "rules": {
    "type-enum": [
      2,
      "always",
      [
        "bot",
        "build",
        "ci",
        "chat",
        "containers",
        "core",
        "docs",
        "doc",
        "generate",
        "server",
        "test",
        "tests",
        "train"
      ]
    ],
    "body-leading-blank": [
      2,
      "always"
    ],
    "footer-leading-blank": [
      2,
      "always"
    ],
    "body-max-line-length": [
      0,
      "always"
    ]
  }
}

I can work on this, once the proposal has been approved. Your feedback is appreciated.

leseb commented 3 months ago

Closing, for context see https://github.com/instructlab/instructlab/pull/1098