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
Create a git repository if needed
shgit initCreate a package.json if needed
shnpm initshyarn initshpnpm initshbun initInstall and configure if needed
shnpm install --save-dev @commitlint/cli @commitlint/config-conventional @commitlint/prompt-cli echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.jsshyarn add --dev @commitlint/cli @commitlint/config-conventional @commitlint/prompt-cli echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.jsshpnpm add --save-dev @commitlint/cli @commitlint/config-conventional @commitlint/prompt-cli echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.jsshbun add --dev @commitlint/cli @commitlint/config-conventional @commitlint/prompt-cli echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.jsshdeno 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
{
"scripts": {
"commit": "commit"
}
}Test the prompt by executing
git add .
npm run commitgit add .
yarn commitgit add .
pnpm commitgit add .
bun commitgit add .
deno task commitUse a config file from a custom path
By default the prompt picks up the configuration the same way commitlint does, starting from the current working directory. Pass --config (or -g) to load a specific file instead, just like with @commitlint/cli:
{
"scripts": {
"commit": "commit --config ./config/commitlint.config.js"
}
}Relative paths are resolved from the current working directory.
You can also pass the flag when running the script. With npm it has to come after --: otherwise npm takes --config and -g for options of its own, and the prompt silently uses the default config.
npm run commit -- --config ./config/commitlint.config.jsyarn commit --config ./config/commitlint.config.jspnpm commit --config ./config/commitlint.config.jsbun commit --config ./config/commitlint.config.jsAn 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:
@commitlint/promptprovides a way to interact same as@commitlint/prompt-cli@commitlint/cz-commitlintis inspired by cz-conventional-changelog, it provides a more modern way to interact.