frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Bash Screensavers

https://github.com/attogram/bash-screensavers
3•attogram•16m ago•1 comments

Show HN: Ordered – A sorted collection library for Zig

12•habedi0•6h ago•5 comments

Show HN: JSON Query

https://jsonquerylang.org/
136•wofo•19h ago•64 comments

Show HN: I was tired of people dmming me just "hi", so I made this - NoGreeting

https://nogreeting.kuber.studio
3•kuberwastaken•1h ago•0 comments

Show HN: Dlog – Journaling and AI coach that learns what drives wellbeing (Mac)

https://dlog.pro/
39•dr-j•18h ago•19 comments

Show HN: Erdos – open-source, AI data science IDE

https://www.lotas.ai/erdos
77•jorgeoguerra•19h ago•31 comments

Show HN: Git Auto Commit (GAC) – LLM-powered Git commit command line tool

https://github.com/cellwebb/gac
50•merge-conflict•18h ago•30 comments

Show HN: Write Go code in JavaScript files

https://www.npmjs.com/package/vite-plugin-use-golang
148•yar-kravtsov•1d ago•43 comments

Show HN: MyraOS – My 32-bit operating system in C and ASM (Hack Club project)

https://github.com/dvir-biton/MyraOS
237•dvirbt•1d ago•54 comments

Show HN:Interactive RISC-V CPU Visualizer (Sequential and Pipelined)

https://mostlykiguess.github.io/RISC-V-Processor-Implementation/
2•mostlyk•5h ago•0 comments

Show HN: Linux Smart Directories Navigation

https://github.com/abdulbadii/smart-directories-navigation
3•dogol•8h ago•0 comments

Show HN: Helium Browser for Android with extensions support, based on Vanadium

https://github.com/jqssun/android-helium-browser
61•jqssun•1d ago•29 comments

Show HN: Shadcn/UI theme editor – Design and share Shadcn themes

https://shadcnthemer.com
132•miketromba•2d ago•40 comments

Show HN: nblm - Rust CLI/Python SDK for NotebookLM Enterprise automation

https://github.com/K-dash/nblm-rs
9•K-dash•20h ago•0 comments

Show HN: Diagram as code tool with draggable customizations

https://github.com/RohanAdwankar/oxdraw
252•RohanAdwankar•2d ago•59 comments

Show HN: LLM Rescuer – Fixing the billion dollar mistake in Ruby

https://github.com/barodeur/llm_rescuer
94•barodeur•3d ago•14 comments

Show HN: Easily visualize torch, Jax, tf, NumPy, etc. tensors

https://github.com/hardik-vala/tensordiagram
2•HardikVala•13h ago•0 comments

Show HN: Whatdidido – CLI to summarize your work from Jira/Linear

https://github.com/oliviersm199/whatdidido
6•olism•20h ago•0 comments

Show HN: Action Engine — An API/Agent Buildkit Putting Flexibility First

https://actionengine.dev/
2•helenapankov•15h ago•3 comments

Show HN: Learn Basic Chess Movements

https://www.minichessgames.com/?hn
11•patrickdavey•1d ago•1 comments

Show HN: TrueType Rasterizer

https://github.com/StanislavPetrov15/TT_Rasterizer
3•s_petrov•16h ago•0 comments

Show HN: Vetr.is – Privacy-First Cloud in Iceland

https://vetr.is
4•falkensmaze66•16h ago•1 comments

Show HN: LinkPatrol – Free merchant-agnostic tool to find broken affiliate links

https://www.linkpatrol.in
2•deepu_bansal87•18h ago•1 comments

Show HN: Relai-SDK – simulate → evaluate → optimize AI agents

https://github.com/relai-ai/relai-sdk
4•sfeizi•18h ago•0 comments

Show HN: Omnia OS, the Most Efficient Email Client Without AI

https://omniaos.co/
5•jmchugh9•19h ago•0 comments

Show HN: OpenSkills - Run Claude Skills Locally Using Any LLM

https://github.com/BandarLabs/open-skills
6•mkagenius•19h ago•0 comments

Show HN: ChatHawk – Stop Copy-Pasting the Same Question Across Every AI Model

https://chathawk.co
4•chadlad101•20h ago•0 comments

Show HN: Chonky – a neural text semantic chunking goes multilingual

https://huggingface.co/mirth/chonky_mmbert_small_multilingual_1
42•hessdalenlight•2d ago•5 comments

Show HN: Ubik - A new way to use AI in citation-based work and research

https://www.ubik.studio
3•ieuanking•20h ago•0 comments

Show HN: Pinpam, TPM2-backed pin authentication for Linux

https://github.com/RazeLighter777/pinpam
3•razighter777•20h ago•0 comments
Open in hackernews

Show HN: Git Auto Commit (GAC) – LLM-powered Git commit command line tool

https://github.com/cellwebb/gac
50•merge-conflict•18h ago
GAC is a tool I built to help users spend less time summing up what was done and more time building. It uses LLMs to generate contextual git commit messages from your code changes. And it can be a drop-in replacement for `git commit -m "..."`.

Example:

  feat(auth): add OAuth2 integration with GitHub and Google

  - Implement OAuth2 authentication flow

  - Add provider configuration for GitHub and Google

  - Create callback handler for token exchange

  - Update login UI with social auth buttons
Don't like it? Reroll with 'r', or type `r "focus on xyz"` and it rerolls the commit with your feedback.

You can try it out with uvx (no install):

  uvx gac init  # config wizard

  uvx gac
Note: `gac init` creates a .gac.env file in your home directory with your chosen provider, model, and API key.

Tech details:

14 providers - Supports local (Ollama & LM Studio) and cloud (OpenAI, Anthropic, Gemini, OpenRouter, Groq, Cerebras, Chutes, Fireworks, StreamLake, Synthetic, Together AI, & Z.ai (including their extremely cheap coding plans!)).

Three verbosity modes - Standard with bullets (default), one-liners (`-o`), or verbose (`-v`) with detailed Motivation/Architecture/Impact sections.

Secret detection - Scans for API keys, tokens, and credentials before committing. Has caught my API keys on a new project when I hadn't yet gitignored .env.

Flags - Automate common workflows:

  `gac -h "bug fix"` - pass hints to guide intent

  `gac -yo` - auto-accept the commit message in one-liner mode

  `gac -ayp` - stage all files, auto-accept the commit message, and push (yolo mode)
Would love to hear your feedback! Give it a try and let me know what you think! <3

GitHub: https://github.com/cellwebb/gac

Comments

acoliver•18h ago
Oh nice. Man I hate filling out all that stuff. And getting the LLM to do it without freestyling and hallucinating is a pain. Kinda wish it were an MCP so I can shove it in my CLI or maybe the hooks for git...
merge-conflict•17h ago
I'm considering making it optionally work as an MCP server!
seba_dos1•17h ago
This misses the point of what a good commit message is so much that it could be a delightful satire.
jacobsenscott•16h ago
Yeah - if these are better than your current commit messages, just don't write commit messages. Anyone can read the code.
acoliver•15h ago
side-eye "anyone can read the code" -- usually the first words of someone who writes unreadable code. perl -e'$_=q/dk|jk`%fdk%w`da%qm`%fja`/;s/./chr(ord($&)^5)/seg;print'
alwillis•17h ago
Hate writing commit messages.

Just installed gac; they nailed the UI/UX.

And so far, it works quite well.

merge-conflict•17h ago
Thank you! I used a combination of the questionary and click python libraries for the ui/ux.
avinash-iitb•17h ago
I like that you’ve added secret detection and multi-provider support — that’s something most LLM commit tools miss. Have you benchmarked latency differences between local models (like Ollama) and OpenAI/Anthropic? Would be interesting to see a speed comparison.
adrianbooth17•17h ago
Very neat little project, I look forward to trying this
Steeeve•16h ago
Your scientists were so preoccupied with whether or not they could, they didn't stop to think if they should.
dang•15h ago
Omit internet tropes.

https://news.ycombinator.com/newsguidelines.html

nicksergeant•16h ago
Neat project. If you're looking for something simpler just to use w/ Claude Code, a simple call to "claude -p" can work: https://github.com/nicksergeant/dotfiles/blob/master/zshrc#L...
merge-conflict•16h ago
Thanks! Can definitely do that, but GAC is faster than calling claude or another agent as they will take multiple api calls to look at git status, git diffs, etc. vs a single api call with GAC. Plus, GAC won't eat up your weekly limits! ;)
nicksergeant•16h ago
Oh I just pipe the diff into the Claude prompt, so it's only the one call.
bigwheels•16h ago
aicommit2 works great: https://github.com/tak-bro/aicommit2

Getting started is as easy as installing claude/codex/gemini: npm install -g aicommit2

I'm excited to give gac a try and see how it stacks up! The steering hints with gac might give it an edge.

martinohansen•16h ago
I don’t get these kind of tools. A commit should be the why of a change, not a summary of what it is, anyone can either get that themselves or just read the code if they desire. What you can not get from the code is the _why_ which only you as the author can put.
nvartolomei•16h ago
I do often ask Claude Code or Gemini CLI to write commits. I agree with you on why being important. Majority of these being bug fixes accompanied tests where the why is easily inferred from the change/newly added tests and their comments.
derwiki•16h ago
I often start a change by having Cursor read the Slack thread (via MCP) that is motivating the change. In the same Cursor thread, after making the change, it has fairly good context on the _why_ and writes a helpful commit message.
therein•14h ago
Very nice, the fewer neurons you use the better. In biology they call it use it and lose it if my memory serves me correctly.

Neurons that fire together, fry together.

pbh101•12h ago
While I’m deeply skeptical of any attempt to define a commit message from the diff, if the context and motivation is truly captured in the Slack thread or other prior documents and available for summarization, then how many neurons are you really using on rewording what you already hashed out? Especially if someone would otherwise perhaps skip a message or write a poor one, this sounds like a great approach to get at least a first pass to further modify.
Ferret7446•6h ago
There are plenty of commits that don't need an explanation like mechanical cleanups or refactoring. If your code is appropriately documented then an LLM can often extract the explanation too.
rwdf•16h ago
"gac" is giving me PTSD flashbacks from having to deal with the "Global Assembly Cache" aeons ago.
ah27182•16h ago
I've been using LMStudio to run a local LLM (Qwen3-4B) to generate commit messages using this command:

```

git diff --staged --diff-filter=ACMRTUXB | jq -Rs --arg prompt 'You are an assistant that writes concise, conventional commit messages. Always start with one of these verbs: feat, fix, chore, docs, style, refactor, test, perf. Write a short!! message describing the following diff:' '{model:"qwen/qwen3-4b-2507", input:($prompt + "\n\n" + .)}' | curl -s http://localhost:1234/v1/responses -H "Content-Type: application/json" -d @- | jq -r ".output[0].content[0].text"

```

cypriss9•16h ago
There's three types of people: those who already write excellent commit messages explaining the why, those who write decent ones explaining the what, and those who write garbage commit messages. Empirically, the first set is small. This tool will help the middle type be more efficient, and help the last type drastically.

Well done OP.

glitch253•15h ago
Hey all - disclaimer I'm one of Cell's friends and encouraged them to release their utility on Pypi for others. It quickly became one of my favorite tools that I use every day.

`git commit` is gone, `uvx gac` is in!

paulirish•14h ago
Chiming in with my alternative, like others' but uses simonw's `llm`:

    git upstream-diff | llm --system-fragment cl-description.md
However, in practice, I notice the generated messages focus more on the what than the why. So it's rare I use them verbatim.
0x008•14h ago
I like the lazycommit+lazygit combo.

https://github.com/m7medVision/lazycommit

bangaladore•14h ago
> Automatic secret detection: Scans for API keys, passwords, and tokens before committing

Surely this is done on-device right? Or is the prompt asking the LLM if there are secrets in the changes.

Arguably I trust Github / Gitlab / etc more than OpenAI / Anthropic / etc

merge-conflict•14h ago
The scanning is done on-device. I should've worded it better and said that it scans before any API calls. Too late to edit the post, unfortunately.
ClimaxGravely•14h ago
Maybe it's because these days I use perforce more than git but I tend to find myself writing 80% of my commit message before I write any code and touch it up a little at the end.