GitHub Copilot to Generate Conventional Commit Messages in VSCode and JetBrains Rider

Published: (February 17, 2026 at 03:03 AM EST)
4 min read
Source: Dev.to

Source: Dev.to

Most commit messages are useless

  • fix stuff
  • update code
  • changes

They work in the moment, but they fail six (actually one) months later.

Commit messages are not just for today or for something special. They are for:

  • your future self
  • your teammates
  • automation pipelines
  • changelog generators
  • semantic versioning

Writing structured commit messages takes discipline. Under pressure that discipline disappears, and even without pressure we’re often lazy.

This is where GitHub Copilot becomes interesting

Instead of using Copilot only for code, you can use it as a commit‑quality guardrail. With the right instructions it generates strict Conventional Commit messages automatically, directly inside:

  • VS Code
  • JetBrains Rider

Why Conventional Commits Still Matter

Conventional Commits are not about style; they are about structure.

The format is simple:

type(scope): description

Example

feat(auth): add JWT token validation
fix(api): handle null response in user endpoint
refactor(ui): simplify navbar component

Readable Git History

Bad history

update stuff
fix bug
changes

Good history

fix(auth): prevent null pointer on login
feat(api): add user filtering by role
ci(github-actions): add build cache

The second history is self‑documenting.

Using GitHub Copilot for Commit Messages in VS Code

Copilot can generate commit messages directly from the Source Control panel. By default the generation is generic; custom instructions make it strict.

Add the following to your settings.json:

"github.copilot.chat.commitMessageGeneration.instructions": [
  { "text": "Follow Conventional Commits: type(scope): description." },
  { "text": "Use lowercase type and scope." },
  { "text": "Use imperative mood: 'add', 'fix', 'update', not past tense." },
  { "text": "Keep subject under 50 characters. No period." },
  { "text": "Describe the intent clearly. Avoid vague messages like 'update code'." },
  { "text": "Use only these types: feat, fix, docs, style, refactor, perf, test, chore, ci." },
  { "text": "Include a scope when the change targets a specific area." },
  { "text": "Ensure each commit represents one logical change." },
  { "text": "Add a body when needed, separated by a blank line." },
  { "text": "Use bullet points (*) in the body for multiple changes." },
  { "text": "Explain why the change was made, not only what changed." },
  { "text": "Add BREAKING CHANGE: in the footer when applicable." }
]

Before (generic)

update login logic

After (with Copilot)

fix(auth): prevent null pointer on login

* add null check for user object
* improve error handling for invalid credentials

The rules make Copilot’s output consistent.

Using GitHub Copilot for Commit Messages in JetBrains Rider

In Rider, Copilot integrates into the Commit tool window. With strict instructions you can enforce full compliance.

Instruction template

Follow the Conventional Commits specification strictly.

(): 

All sections except the first line are optional.
Use only these types: feat, fix, docs, style, refactor, perf, test, chore, ci.
Max 50 characters. Imperative mood. No period.
Each commit must represent one logical change.
Use BREAKING CHANGE: footer when applicable.

Example output

feat(auth): add refresh token support

* implement refresh token endpoint
* update token validation logic
* improve session security

Breaking‑change example

refactor(api): rename user endpoint

BREAKING CHANGE: /users endpoint is now /v2/users

Configure it via Settings → Tools → GitHub Copilot → Git Commit Instructions → Global.

Note: Rider allows more verbose enforcement, while VS Code favors compact rule lists. Both approaches work.

Making Copilot Strict (Not Creative)

Copilot predicts text; constraints reduce variance.

Key principles

  • Write hard rules, not suggestions.
  • Limit allowed types.
  • Enforce atomic commits.
  • Require proper BREAKING‑CHANGE footers.
  • Review output before committing.

Copilot isn’t replacing judgment; it removes repetitive formatting work. When configured correctly, writing a proper Conventional Commit becomes easier than writing a bad one.

👀 GitHub Copilot quota visibility in VS Code

If you use GitHub Copilot and ever wondered:

  • What plan you’re on?
  • Whether you have limits?
  • How much premium usage you have left?

You can view quota information directly in VS Code (see screenshot below).

GitHub Copilot quota in VS Code

Keep your commit history clean, readable, and future‑proof with the help of GitHub Copilot.

Copilot Insights

  • quota is left
  • when it resets

I built a small VS Code extension called Copilot Insights.

It shows Copilot plan and quota status directly inside VS Code.

  • No usage analytics.
  • No productivity scoring.
  • Just clarity.

👉 VS Code Marketplace:
https://marketplace.visualstudio.com/items?itemName=emanuelebartolesi.vscode-copilot-insights

0 views
Back to Blog

Related posts

Read more »

dlt MCP Server for Popular IDEs

Overview This demo showcases how to set up and use the dlt MCP Server for data pipeline validation and inspection. The MCP server enables interactive querying...

ERP System Phase 1: Perfect Completion!

Historic moment: ERP Phase 1 at 100 % completion. All three modules — inventory management, order processing, financial reporting — are now in production. Achie...