commit-editor
<h1 align="center"><img width="28" src="https://raw.githubusercontent.com/wtho/commit-editor/main/app/public/logo.svg" alt="Commit Editor Logo" /> Commit Editor</h1>
Commit Editor
Interactive commitlint support to boost your conventional commits and semantic release productivity
powered by Commitlint, Monaco-Editor, Vue3 & Vite
Getting started
You can use it to commit in your codebase using the commit-editor by running
npx commit-editor
from where you would run git commit
.
The command then calls git commit
internally, only modifying the editor used in the command to open the commit-editor in your browser, served by a lightweight local server.
You can even append options like npx commit-editor --amend
, they get passed through to git commit
.
Commit-editor will load the Commitlint config from commitlint.config.js
(or commitlint.config.ts
) or , if no config is found, use a basic config with the @commitlint/config-conventional
preset.
Alternatively you can test out and tinker with your commitlint config using the playground served at netlify.
To use commit-editor as your all-time editor, set the editor as your default using git conig --global core.editor="npx commit-editor"
Motivation
While the benefits of the combination of conventional commits, conventional changelog and semantic release are immense, the experience of existing post-compose commit validation tools can be frustrating. Feedback is supplied very late and the message lost if it does not pass the validation. This is specifically frustrating for semantic-release novices.
This editor tackles this issue by providing commit lint information during the composing process, like we are used to it when writing our code.
Post-compose commit validation can still be applied after the message composing.
Experience with post-compose commit validation
Experience with commit-editor
Give it a try in the playground.