Conventional Commit Builder

Compose properly formatted commit messages with type, scope, body, and footer.

freeworks offlinenothing uploaded
Input
Output

About conventional commit builder

Conventional Commit Builder does its work in front of you rather than sending anything away to be processed. What you see is the whole of it.

The parsing, the maths and the formatting all happen in JavaScript on this page. No request carries your input anywhere, because there is no endpoint for one to reach.

You will find it under Git, alongside 7 other tools for the same sort of job.

Supports all commit types (feat, fix, docs, refactor, etc.), breaking changes, issue references, and co-authors.

How to use it

01
Start it
Every control is on the tool itself. Keyboard shortcuts, where there are any, are listed beside it.
02
Watch it run
It updates in the page as you go. Nothing is sent anywhere, so it keeps working with the network off.
03
Close when done
Nothing is stored between visits. Reloading gives you a clean start rather than picking up where you left off.

Examples

Feature with scope and issue ref
Build a commit message for a new auth feature referencing an issue
Input
type: feat
scope: auth
description: add OAuth2 login with Google provider
issues: #234
Output
feat(auth): add OAuth2 login with Google provider

Refs: #234
Breaking change with body
Build a breaking-change commit with body text and multiple issue refs
Input
type: fix
scope: api
description: remove deprecated v1 endpoints
body: Migration guide available at docs/migration.md
breaking: true
breakingDescription: All /api/v1/* routes have been removed
issues: #89, #102
Output
fix(api)!: remove deprecated v1 endpoints

Migration guide available at docs/migration.md

BREAKING CHANGE: All /api/v1/* routes have been removed

Refs: #89, #102

Questions

Does Conventional Commit Builder work offline?+

Yes. It is JavaScript running in this tab, so once the page has loaded it needs nothing further from the network. Put the machine in flight mode and it carries on. Nothing you do here is sent anywhere, because there is nowhere for it to go.

Does it remember anything between visits?+

No. Reload the page and it starts from nothing. There is no account, no saved state and no cookie holding your last session. That is a deliberate trade: it cannot lose your data because it never keeps any.

Is it accurate?+

Timing comes from performance.now(), the high resolution clock the browser provides, rather than from setInterval, which drifts by a few milliseconds every tick and compounds over minutes. What can still shift things is the browser throttling a tab in the background, so leave it visible if the timing matters.

Does it make a sound?+

Where a sound makes sense, it is generated with the Web Audio API rather than loaded as a file, so there is nothing to download and nothing to block. Browsers refuse to start audio until you have interacted with the page, which is why the first press is what switches it on.

Can I use Conventional Commit Builder on a phone?+

Yes. The controls are sized for touch and the layout collapses to one column on a narrow screen. Bear in mind that a phone locking its screen will suspend the page, and timing stops with it.