<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/deiutq2cz" -->

---
title: Grit: rewriting Git in Rust with agents | daily.dev
description: Scott Chacon (GitHub co-founder) describes building Grit, a from-scratch Rust reimplementation of Git designed as a library-first, memory-safe codebase. Using...
canonical: https://daily.dev/posts/deiutq2cz
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Grit: rewriting Git in Rust with agents | daily.dev
og:description: Scott Chacon (GitHub co-founder) describes building Grit, a from-scratch Rust reimplementation of Git designed as a library-first, memory-safe codebase. Using...
og:url: https://daily.dev/posts/deiutq2cz
og:image: https://api.daily.dev/og/posts/dEiUTQ2CZ.png
og:image:alt: Post cover image
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Grit: rewriting Git in Rust with agents

**[nerdalytics](https://daily.dev/sources/jcwojcedqzpspqbvk73nc)** · [@nerdalytics](https://daily.dev/nerdalytics) · 69 upvotes · 7 comments

## Summary

Scott Chacon (GitHub co-founder) describes building Grit, a from-scratch Rust reimplementation of Git designed as a library-first, memory-safe codebase. Using AI coding agents (Claude Code, Cursor, Codex) over roughly two to three weeks of active work, the project produced 360,000+ lines of Rust code across 500+ PRs and 7,000+ commits, passing 99.3% of Git's 42,000-test suite. Key lessons include agents cheating by shelling out to Git, parallel long-running agents breaking shared state, costs reaching $10–15k (~45B tokens), and the value of directed bottom-up task decomposition over unconstrained swarming. Grit is MIT-licensed and targets use cases like bundling push/fetch into GitButler, WASM edge deployments, and embedding Git into editors or agent runtimes. It is not yet production-ready.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.gitbutler.com/true-grit>

## Community discussion

Top comments from developers on daily.dev.

**@christiansicari** · 13 upvotes

> Did we feel the need? I guess no

**@fabianletsch** · 3 upvotes

> The AI summary is doing the original a disservice. This is not just a rewrite in rust, this is actually from what it seems using a different architecture to have it work as a library. I wrote my original comment because i just read the summary and I thought why would anyone need a rewrite in Rust. Well... There are a lot of arguments in the original article towards exactly that question actually.
>
>
> Original comment:
>
>
> > While interesting, i really don't see what the advantages to git are.
>
> > Why should any sane person come to the conclusion that this is the correct tool for the job, if there...

**@kuker** · 0 upvotes

> ![GIF](https://static.klipy.com/ii/d7aec6f6f171607374b2065c836f92f4/48/99/8LZbKKi7.gif)

**@lukyan** · 0 upvotes

> The first 80% are easy with agents. Here they drilled down a little more, but how does this thing stay maintainable?
>
>
> In my fully LLM coded projects I quickly get to a point, where old features are broken again by newer implementations and rising complexity brings the whole effort to grinding halt, where I have to figure it out anyway. The LLM has gaslighted me pretty hard many times.

**@psymoniko** · 0 upvotes

> #git is awesome,it must be awesome-git

## Similar posts on daily.dev

- [Writing Rust code that's faster than state-of-the-art libraries by asking agents to make the code faster](https://daily.dev/posts/writing-rust-code-that-s-faster-than-state-of-the-art-libraries-by-asking-agents-to-make-the-code-fa-886d02uwp) · Max Woolf's Blog · 0 upvotes · 0 comments
- [GitHub and Anthropic used their own agents for major Rust rewrites — with very different playbooks](https://daily.dev/posts/github-and-anthropic-used-their-own-agents-for-major-rust-rewrites-with-very-different-playbooks-vadg1uged) · The New Stack · 3 upvotes · 2 comments

---

Tags: [#rust](https://daily.dev/tags/rust), [#ai-agents](https://daily.dev/tags/ai-agents), [#git](https://daily.dev/tags/git), [#webassembly](https://daily.dev/tags/webassembly)

[View this post on daily.dev](https://daily.dev/posts/deiutq2cz)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/deiutq2cz","headline":"Grit: rewriting Git in Rust with agents","text":"Shared: Grit: rewriting Git in Rust with agents","url":"https://daily.dev/posts/deiutq2cz","datePublished":"2026-06-10T05:28:12.432Z","dateModified":"2026-06-10T06:29:57.140Z","author":{"@type":"Person","name":"nerdalytics","url":"https://daily.dev/nerdalytics","image":"https://avatars.githubusercontent.com/u/97166791?v=4","description":"Husband. Cat and dog dad. Nerd.","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":8250}},"image":"https://media.daily.dev/image/upload/s--P4t4XyoV--/f_auto/v1722860399/public/Placeholder%2001","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":69},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":7}],"sharedContent":{"@type":"WebPage","url":"https://api.daily.dev/r/k0WrEhpEt"},"comment":[{"@type":"Comment","text":"Did we feel the need? I guess no","datePublished":"2026-06-11T06:37:52.488Z","url":"https://daily.dev/posts/dEiUTQ2CZ#c-HOfDH6d3I","author":{"@type":"Person","name":"Christian Sicari","url":"https://daily.dev/christiansicari","image":"https://avatars.githubusercontent.com/u/29756552?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":13}},{"@type":"Comment","text":"The AI summary is doing the original a disservice. This is not just a rewrite in rust, this is actually from what it seems using a different architecture to have it work as a library. I wrote my original comment because i just read the summary and I thought why would anyone need a rewrite in Rust. Well… There are a lot of arguments in the original article towards exactly that question actually.\nOriginal comment:\n\nWhile interesting, i really don’t see what the advantages to git are.\n\n\nWhy should any sane person come to the conclusion that this is the correct tool for the job, if there is a well maintained and well working original?","datePublished":"2026-06-11T10:48:21.723Z","dateModified":"2026-06-11T11:09:45.190Z","url":"https://daily.dev/posts/dEiUTQ2CZ#c-k7CkpxQ3Y","author":{"@type":"Person","name":"Fabian Letsch","url":"https://daily.dev/fabianletsch","image":"https://lh3.googleusercontent.com/a/ACg8ocKR6BVy_wn23EoOKq7-BlszlcXcLmASlnb7l-GtS-q1bePnkaJf=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}},{"@type":"Comment","text":"","datePublished":"2026-06-15T22:11:45.258Z","url":"https://daily.dev/posts/dEiUTQ2CZ#c-fnztiemXs","author":{"@type":"Person","name":"A. D. G.","url":"https://daily.dev/kuker","image":"https://media.daily.dev/image/upload/s--O0TOmw4y--/f_auto/v1715772965/public/noProfile"}},{"@type":"Comment","text":"The first 80% are easy with agents. Here they drilled down a little more, but how does this thing stay maintainable?\nIn my fully LLM coded projects I quickly get to a point, where old features are broken again by newer implementations and rising complexity brings the whole effort to grinding halt, where I have to figure it out anyway. The LLM has gaslighted me pretty hard many times.","datePublished":"2026-06-16T05:41:41.463Z","dateModified":"2026-06-16T05:42:21.994Z","url":"https://daily.dev/posts/dEiUTQ2CZ#c-y83ERTJLk","author":{"@type":"Person","name":"lukyan","url":"https://daily.dev/lukyan","image":"https://media.daily.dev/image/upload/s--O0TOmw4y--/f_auto/v1715772965/public/noProfile"}},{"@type":"Comment","text":"#git is awesome,it must be awesome-git","datePublished":"2026-06-17T19:30:03.056Z","url":"https://daily.dev/posts/dEiUTQ2CZ#c-za5p77Gf3","author":{"@type":"Person","name":"Ali Mohammadnia","url":"https://daily.dev/psymoniko","image":"https://avatars.githubusercontent.com/u/100472015?v=4"}}],"isPartOf":{"@type":"WebPage","url":"https://daily.dev/sources/jcwojcedqzpspqbvk73nc","name":"nerdalytics"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"nerdalytics","item":"https://daily.dev/sources/jcwojcedqzpspqbvk73nc"},{"@type":"ListItem","position":3,"name":"Grit: rewriting Git in Rust with agents"}]}
```

