Conventional Commits 1.0🔒 100% Client-Side (Private)GitHub & GitLab Compatible

AI Git Commit & PR Generator

Paste your git diff or git diff --cached output from the terminal; it analyzes the changed files, line differences and code context to create a compliant Conventional Commits message and a review-ready GitHub Pull Request (PR) draft.

A Guide to Conventional Commits and Modern Git Workflows

Git commit messages and Pull Request (PR) descriptions are the living documentation of a software project. This tool parses the git diff output from your terminal, automatically infers the feat, fix, refactor, perf, docs, test and chore types, sets the module scope from the changed directory structure and creates a PR draft that follows GitHub conventions.

1. What Is the Conventional Commits 1.0.0 Standard?

Conventional Commits is a lightweight set of rules for structuring commit messages. It defines a clear syntax that humans can read easily and automation tools (CI/CD, Semantic Release, Lerna, Changesets) can interpret without errors:

<type>[optional scope][!]: <short description> [optional body / statistics] [optional footer: BREAKING CHANGE or issue reference]

If a change breaks backward compatibility (a breaking change), a ! is added right after the type or scope (e.g. feat(api)!: migrate to v2 auth format) or BREAKING CHANGE: description is written in the footer. SemVer automation tools then bump the version as a Major release automatically.

2. Supported Commit Types and How to Use Them

Choosing the right commit type speeds up code reviews within the team and makes changelogs crystal clear:

TypeSemVer ImpactWhen to Use It?Example
featMINOR (0.X.0)When a new feature is added for users or API consumers.feat(auth): google oauth support
fixPATCH (0.0.X)When a bug, a crash-causing defect or unexpected behavior is fixed.fix(cart): cart total decimal bug
refactorPATCH / NoneCleanup, renaming or architectural changes that do not change code behavior.refactor(db): optimize prisma client queries
perfPATCHOptimizations that improve the app's runtime, memory or network usage.perf(images): switch to avif and lazy-load
testNoneWhen missing unit/e2e tests are written or broken test scenarios are fixed.test(checkout): payment flow playwright tests
docsNoneWhen only the README, wiki or in-code documentation is updated.docs(readme): add pnpm to setup steps
choreNoneDependency updates, tsconfig, package.json or linter settings.chore(deps): upgrade to next.js v15

3. Quickly Getting a Git Diff from the Terminal and Copying It to the Clipboard

Handy diff commands you can use in the terminal for different situations:

Changes Not Yet Staged (Unstaged):git diff
Staged Changes (After git add) (Recommended):git diff --cached(or git diff --staged)
Diff of the Last Commit:git diff HEAD~1
Copy Straight to the OS Clipboard with One Command:
macOSgit diff --cached | pbcopy
Linux / WSLgit diff --cached | xclip -sel clip
Windows PowerShellgit diff --cached | Set-Clipboard

4. How to Prepare a High-Quality GitHub / GitLab Pull Request

A good PR lets reviewers understand what changed and why without wasting time:

  • Keep It Small and Focused: Open atomic PRs that solve a single responsibility instead of huge 500+ line PRs.
  • Add a Verification / Test Plan: Like the template this tool produces, state clearly how the reviewer can test the code locally or in a preview environment.
  • Link the Related Issue: Write Closes #123 or Fixes PROJ-42 in the PR body so the issue closes automatically when the PR is merged.

5. Zero Data Transfer: Fully Client-Side Privacy

In enterprise projects and private repositories, the biggest concern is code leaking to third-party cloud LLM services. This tool runs the entire analysis locally in your browser's JavaScript engine. No git diff data, tokens or source code is sent to a server; it is secure enough to work fully offline.

More Tools for Your Developer Workflow

Other free tools you may need during development:

Blog · Topics · All Tools · FAQ

Frequently Asked Questions (FAQ)

They follow the Conventional Commits 1.0.0 standard: the feat, fix, refactor, perf, docs, test, chore, build and ci types are supported. The module scope is derived automatically from the changed file paths, and statistics from the line differences.
Absolutely not. Code analysis and text generation run entirely in your browser (client-side) with JavaScript. No data is sent to a remote server, an external API or any third party.
Use "git diff" for changes that are not staged yet, "git diff --cached" (or git diff --staged) for staged changes (after git add), and "git diff HEAD~1" for the last commit.
The PR draft includes Summary, Changes Made, a Test Plan checklist and the affected Files sections in a standard, easy-to-review Markdown format.