惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
Y
Y Combinator Blog
T
Tailwind CSS Blog
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
Jina AI
Jina AI
The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
A
About on SuperTechFans
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
Docker
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Check Point Blog
M
MIT News - Artificial intelligence
Last Week in AI
Last Week in AI
V
V2EX
腾讯CDC
F
Fortinet All Blogs
博客园 - 叶小钗
T
The Blog of Author Tim Ferriss

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I Built an AI CLI That Writes Git Commits So You Don’t Ha...
Raven · 2026-04-30 · via DEV Community

Let’s be honest.

Most commit messages look like this:

fix stuff
update again
final-final-actually-final

Enter fullscreen mode Exit fullscreen mode

They’re useless.

And the worst part? You know they’re bad, but you still write them because stopping to craft a proper message feels like friction.

So I built something to remove that friction entirely.


🚀 Introducing gac (Git Auto Commit)

gac is an AI-powered CLI that analyzes your Git changes and writes structured, meaningful commit messages for you.

Not random fluff.
Not generic summaries.
Actual useful commits.


💥 The Real Problem

Git isn’t broken.
Our habits are.

Bad commit messages create:

  • messy project history
  • painful debugging sessions
  • confusion in team collaboration

And consistency is hard when you're moving fast.

So instead of relying on discipline… I automated it.


⚙️ What gac Does

✨ AI-Generated Commit Messages

Reads your staged changes (diffs) and generates structured messages using the Conventional Commits format.


🔄 Smart Sync Checks

Runs git fetch and warns you if your branch is behind before committing.
No more surprise merge conflicts later.


📦 Interactive Staging

Forgot to stage files?
gac detects that and asks if you want to stage everything.


🚀 Post-Commit Actions

After committing, gac can:

  • push your changes
  • open a GitHub PR (for non-main branches)

🧠 Diff Noise Filtering

Automatically ignores:

  • package-lock.json
  • bun.lock
  • other low-signal files

So the AI focuses on what actually matters.


🎨 Custom Styles

Choose how your commits sound:

  • conventional
  • minimal
  • detailed
  • verbose
  • vibe (for when you're feeling chaotic)

🔌 Extensible by Design

  • .gacignore → exclude files from analysis
  • custom prompts → control AI behavior per repo

🛠 Installation

npm install -g gac-cli

Enter fullscreen mode Exit fullscreen mode

Or from source:

git clone https://github.com/ravvdevv/gac.git
cd gac
bun install
bun link

Enter fullscreen mode Exit fullscreen mode


🔑 Setup

gac --key YOUR_API_KEY
gac --model openrouter/free

Enter fullscreen mode Exit fullscreen mode


🧪 Usage

Just run:

gac

Enter fullscreen mode Exit fullscreen mode

That’s it.


🧩 Useful Flags

gac --amend     # regenerate last commit message
gac --dry-run   # preview without committing
gac --copy      # copy message to clipboard

Enter fullscreen mode Exit fullscreen mode


🤔 Why This Actually Matters

Good commit messages are leverage.

They help you:

  • debug faster
  • collaborate better
  • understand your own code months later

But writing them every time is annoying enough that most people don’t.

So the system breaks.

gac fixes the system, not your motivation.


🔮 What’s Next

This is just the start.

The goal isn’t just “better commits.”
It’s turning the CLI into a smarter workflow assistant that reduces cognitive load across development.


📦 Try It Out

👉 https://github.com/ravvdevv/gac


🧠 Final Thought

If your commit history still looks like:

update
fix
pls work

Enter fullscreen mode Exit fullscreen mode

You don’t need more discipline.

You need better tooling.