Skip to content
@git-stunts

Git Stunts

A deep dive into the 'plumbing' of Git to build systems that shouldn't exist. The most elegant solutions are found by looking at tools you use every day anew.

Version Control Is Just Git's Day Job

Git Stunts is a GitHub org dedicated to pushing Git to its absolute limits. Anyone can use Git as a version control system. Few treat it as raw material for systems engineering experiments.

Peer beneath the porcelain and get your hands dirty with Git’s plumbing. Learn to think in systems, subvert familiar tools, and pull off real Git Stunts.

The Philosophy: Play As Research

When you want a CMS or a database, your first instinct probably isn't to reach for Git, and that's good. But, hear me out. The goal here isn't conventional efficiency. It's understanding systems from the ground up.

When we use Git to perform these stunts, two things happen:

First, we get to ask, "What does this enable that a traditional stack doesn't?" Git gives us an accidental inheritance of properties like offline-first synchronization, cryptographic provenance, and cheap point-in-time recovery. Those are complex features. They're often entire projects in their own right.

Second, we internalize how Git actually works. You stop asking "What does this command do?" and instead ask "What can I do with Git's objects, refs, invariants, and transitions?"

Who This Is For

This series is for people who know how to use Git but suspect there is a much stranger machine hiding underneath its interface.

If you mostly interact with Git through a GUI, this will show you what the GUI is politely abstracting away. If you have ever looked at a plumbing command and wondered "What on earth is that for?", your inquisitiveness will be rewarded here.

And if you already read man pages, inspect raw objects, trace code paths, and treat tools as systems rather than products, welcome home.

This series is not for people looking for best practices, conventional application architecture, production checklists, or boringly sensible defaults. These projects prioritize understanding over orthodoxy and curiosity over safety rails.

Creativity Comes From Constraints

Despite the name, this series is not about exploits, hacks, or terminal theater. The constraint is the point. By limiting ourselves to Git’s actual primitives, we are forced to reason carefully about data, state, and invariants.

These are stunts, not hacks: deliberate, reversible, and grounded in how the system really works. The goal is not to get away with something. The goal is to understand the system well enough that surprising architectures emerge naturally.

If you enjoy taking things apart, putting them back together in strange ways, and learning by misuse rather than memorization, you are in exactly the right place.

The "Linus" Threshold

I call these "stunts" because they exist right at the edge of technical sanity.

The benchmark for what makes a good Git Stunt is a solution so unorthodox that if Linus Torvalds saw it, he would stop what he was doing, remove his glasses, rub his exhausted eyes, sigh deeply, and then, after a long silence, he would mutter "You know what? Have fun", shake his head, then walk away.

I like to imagine he would secretly still check in every now and then to see if we actually pull these off.

We’re going to have some fun. We're going to use the plumbing to build things that shouldn't exist, and in the process, we're going to learn how to think about systems design from the bare metal up.

What To Expect

Each post in this series follows a rigorous Architecture Decision Record (ADR) format to ensure that we're not just making a mess, but making a point. Every stunt is reproducible, documented, and intentionally constrained.

All posts in the series will include:

  • The Stunt: subversion of Git internals.
  • The Conventional Path: How this is "supposed" to be solved.
  • The Source: A link to a fully working, Dockerized GitHub repo.
  • The ADR: A formal breakdown of context, decision, and consequences.
  • The Reality Check: When and when not to use the technique.

The Set List

Git As Foundation

What even is Git? Before we can build complex applications on top of Git, we need a small set of primitives that treat Git as substrate.

PartTitleStuntLesson
Igit-cas: Git as Blob StoreA content-addressable storage layer built directly on Git objectsGit’s primitive is the object database
IIgit-warp: Stateful Systems on Top of Immutable ObjectsA higher-level state and traversal layer over Git’s immutable modelState can be constructed without pretending mutability exists

Git As Engine

Learn how to build applications that are powered by Git, not just versioned by it.

PartTitleStuntLesson
IIIGit Stargate: Git as Zero-Trust GatewayAST-validation in pre-receive hooksShift-left security, moving trust to the transport layer
IVShiplogThe Commit as a Structured Event LedgerDeployment provenance, policy enforcement, and tamper-evident audit trails
VGit as CMSGit's commit-tree doubles as a DB-less APIHow to reduce operational complexity via protocols
VIGit as Key-Value StoreOffline-first KV-store using OIDs and Git notesCAP theorem, consistency vs availability in distributed systems

Git As System

Can Git be infrastructure?

PartTitleStuntLesson
VIIGit as BusUsing post-receive hooks for serverless pub/subEvent-driven architecture, high-reliability event delivery (within constrained domains)
VIIIGit FUSEFUSE-based virtualized filesystem via Git OIDsVirtualization, Lazy-loading and on-demand hydration

Git Weird

Make Git remember things.

PartTitleStuntLesson
IXAgent-Native GitRAG and decision-tracking via Git historyAI infra, verifiable Merkle trees for LLM memory

Find New Ways To Use Old Tools

When we look at a tool we use every day and ask "What else can this thing do?" sometimes we find surprising new ways to use them. The ability to deconstruct a system to its primitives is one of the most valuable skills in an engineer's toolkit.

Whether you're here to learn or you just want to see how far Git can be stretched before it breaks, I hope you have as much fun reading this series as I had writing it.

Fork these repos and Git good.


Copyright © 2026 James Ross

Popular repositories Loading

  1. git-cms git-cmsPublic

    A Git-native, database-free CMS: article bodies in commit messages, publish by moving refs.

    JavaScript 2

  2. git-warp git-warpPublic

    A causal, multi-writer graph database that uses Git as a substrate Distributed, conflict-free graph storage that lives orthogonally to your source tree.

    TypeScript 1

  3. .github .githubPublic

  4. plumbing plumbingPublic

    Git plumbing, but ergonomic: composable primitives for building Git-powered tools.

    JavaScript

  5. trailer-codec trailer-codecPublic

    A robust, secure utility for manipulating structured metadata in Git commit messages.

    JavaScript

  6. docker-guard docker-guardPublic

    Minimal guard that enforces Git Stunts tests/benchmarks Docker-only policy. Complete with banner, env detection, and test-friendly hooks.

    JavaScript

Repositories

Showing 10 of 10 repositories

Top languages

Loading…

Most used topics

Loading…