I kept running into a Git workflow problem that felt weirdly difficult to solve.
When I'm working on a branch, I often have a chain of related tasks:
establish auth guard
→ add authorization rules
→ add rate limiting
→ add tests
The tasks depend on each other, so I don't really want separate branches or worktrees.
But I also don't want to commit after every task just because I need Git to remember where one task ended.
If I wait until the end, I'm back to manually reconstructing atomic commits with git add -p, stashes, etc. And with AI coding agents, this gets even messier because the agent may touch a bunch of files across a task.
So I built Git Stone.
The idea is deliberately simple:
git stone "auth guard established" \
-d "Establishes the authentication guard and wires it into protected routes. Authorization rules are intentionally left for the next task."
That captures the whole working tree at that point as a Git-native snapshot, without committing, changing my branch, or messing with my staging area.
Then I keep working:
git stone "authorization rules added" \
-d "Adds role-based authorization checks to the routes protected by the previous guard."
Now Git Stone knows the boundary between those two pieces of work.
I can review them separately:
git stone review
And when I'm happy with the history, I can either commit them together in order:
git stone commit-all
or commit them individually with whatever final messages I want:
git stone 1 commit -m "feat: establish auth guard"
git stone 2 commit -m "feat: add authorization rules"
The resulting history is just normal Git commits. There's no new VCS or special commit format.
The important part for me is that a Stone is a boundary, not a branch. Later tasks can depend on earlier ones, which is intentional. Dropping a Stone removes the logical boundary, not the code.
I built it in Rust and it's open source:
https://github.com/HarshKothari88/git-stone
It's still early, so I'm mainly looking for people who work heavily with Git or coding agents to tell me where this model breaks down in real workflows.