That Blog That Blog

GitScribe

A Go-based tool for automating high-quality Git commit messages using LLMs.

GitScribe is a Go-based tool for automating high-quality Git commit messages using LLMs. This tool features zero-dependency Go architecture, context-aware intelligence, and seamless integration with local LLMs like Ollama

We’ve all been there. You’ve just finished a marathon coding session, fixed three bugs, refactored two modules, and added a shiny new feature. You’re tired, and you just want to push your code and call it a day. Then comes the prompt:

git commit -m "..."

What do you write? “Update files”? “Fix bugs”? “Refactor stuff”? We know these aren’t helpful, but writing a detailed, meaningful commit message feels like one last chore standing between you and a well-deserved break.

Enter GitScribe.

GitScribe is a lightweight, Go-based command-line tool designed to take the friction out of maintaining a high-quality project history. It uses the power of Large Language Models (LLMs) to automatically generate descriptive, context-aware commit messages that look like they were written by a human who actually cares.

The GitScribe Difference

While there are many AI-powered commit tools out there, GitScribe is built with a specific philosophy: it should be fast, private, and deeply integrated into your existing workflow.

Zero-Dependency Go Architecture

GitScribe is built entirely using the Go standard library. No node_modules, no heavy Python environments, no external dependencies whatsoever. This makes it incredibly lightweight and easy to install. Whether you’re on macOS, Linux, or Windows, you get a single binary that just works. This “zero-dependency” approach ensures that your development tools don’t become a maintenance burden themselves.

Context-Aware Intelligence

A good commit message isn’t just a summary of a git diff. It needs to understand the intent and the style of the project. GitScribe goes beyond simple diff analysis:

  • Diff & History: It analyzes your staged changes alongside your recent commit history to ensure the generated message matches your project’s established tone and formatting.
  • Project-Specific Guidance: GitScribe looks for local guidance files (like AGENTS.md or dear_llm.md) to follow specific rules or “agent identities” unique to your repository.
  • Smart Metadata: It can automatically extract JIRA-like tags from your branch names and append Co-authored-by trailers, keeping your project’s tracking and attribution seamless.

Seamless Local LLM Integration

Privacy and speed are paramount. GitScribe is designed to work perfectly with local LLM runners like Ollama.

  • Auto-Model Selection: Don’t want to spend time configuring models? GitScribe features an intelligent heuristic system that scans your local LLM server and automatically selects the best available model (prioritizing high-performance models like Llama 3 or Qwen) based on your system’s capabilities.
  • OpenAI Compatible: While it defaults to Ollama, it can connect to any OpenAI-compatible API, giving you the flexibility to use cloud providers if you prefer.

Built for Your Workflow

GitScribe doesn’t try to replace git; it enhances it. It fits right into your standard flow:

  • Use gitscribe to preview a suggested message.
  • Use gitscribe -commit to generate a message and commit in one go.
  • Use gitscribe -amend if you’ve already committed but want to give that “Fixed it” message a professional makeover.

How to Get Started

Getting GitScribe up and running is as simple as it gets.

Installation

Since it’s a Go project, you can build it directly from source:

go build -o gitscribe main.go
# Move the binary to your PATH
mv gitscribe /usr/local/bin/

Configuration (Optional)

GitScribe uses your existing git config for settings. For example, to point it to a specific Ollama model:

git config tools.gitscribe.model llama3
git config tools.gitscribe.apiBaseUrl http://localhost:11434/v1

Usage

Stage your changes as usual:

git add .

Then, let GitScribe do its magic:

# Preview a message
gitscribe

# Generate and commit immediately
gitscribe -commit

Level Up Your Git History

Meaningful commit messages are a gift to your future self and your teammates. They make git blame useful again, simplify code reviews, and turn your project history into a readable narrative of its evolution.

With GitScribe, you no longer have to choose between speed and quality. Let the AI handle the prose so you can get back to the code.


Check out the GitScribe repository to learn more and contribute!