Back to Commitlint

Guide: Use prompt

docs/guides/use-prompt.md

20.5.32.7 KB
Original Source

Guide: Use prompt

[!WARNING] Prompt is currently unmaintained
Some things might not work as expected

@commitlint/prompt-cli helps with fast authoring of commit messages and ensures they adhere to the commit convention configured in commitlint.config.js.

Install

  1. Create a git repository if needed

    sh
    git init
    
  2. Create a package.json if needed

    ::: code-group

    sh
    npm init
    
    sh
    yarn init
    
    sh
    pnpm init
    
    sh
    bun init
    

    :::

  3. Install and configure if needed

    ::: code-group

    sh
    npm install --save-dev @commitlint/cli @commitlint/config-conventional @commitlint/prompt-cli
    
    echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.js
    
    sh
    yarn add --dev @commitlint/cli @commitlint/config-conventional @commitlint/prompt-cli
    
    echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.js
    
    sh
    pnpm add --save-dev @commitlint/cli @commitlint/config-conventional @commitlint/prompt-cli
    
    echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.js
    
    sh
    bun add --dev @commitlint/cli @commitlint/config-conventional @commitlint/prompt-cli
    
    echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.js
    
    sh
    deno add --dev npm:@commitlint/cli npm:@commitlint/config-conventional npm:@commitlint/prompt-cli
    
    echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.js
    

    :::

Provide a shortcut

To make prompt-cli easy to use, add a npm run-script to your package.json

json:line-numbers
{
  "scripts": {
    "commit": "commit"
  }
}

Test the prompt by executing

::: code-group

sh
git add .
npm run commit
sh
git add .
yarn commit
sh
git add .
pnpm commit
sh
git add .
bun commit
sh
git add .
deno task commit

:::

An alternative to @commitlint/prompt-cli: commitizen

Another way to author commit messages that adhere to the commit convention configured in commitlint.config.js is to use commitizen. For more information, checkout their official website.

commitlint provides two adapters for commitizen:

  1. @commitlint/prompt provides a way to interact same as @commitlint/prompt-cli
  2. @commitlint/cz-commitlint is inspired by cz-conventional-changelog, it provides a more modern way to interact.