Top
Best
New

Posted by zdgeier 1 day ago

Show HN: Oak – Git alternative designed for agents(oak.space)
Oak is a version control system I've been working on designed for agents (https://oak.space). It improves the speed and context your agents need when working on serious projects. With virtual mounts, agents locally and in the cloud no longer need a full copy of a repo to get working. You can work on many tasks in parallel without needing to download everything or fight worktrees. Version control shouldn't waste you or your agents time. It should be fast, creative and fun to make things with agents.

Oak is still early in development. There's no Windows build and missing plenty of features (no CI, no issues, no comments). We still use GitHub Actions for building Oak now, but we've been fully bootstrapped on Oak with no Git backup for several months: https://oak.space/oak/oak.

Blog post: https://oak.space/blog#git-is-forever

Docs: https://oak.space/docs

210 points | 184 commentspage 4
uproarchat 1 day ago|
Wow that interface tingles something inside my brain.
zdgeier 1 day ago|
A good tingle or bad tingle? haha
uproarchat 1 day ago||
real good
CrzyLngPwd 1 day ago||
Back in the day, 2020, the effort to create a program/website/service was the prohibiting factor, which meant the sediment remained at the bottom of the barrel where it belonged.

Now, every brain fart is published as a finished product no one wanted.

mpalmer 14 hours ago||

    With AI, I can finally build what I've been dreaming about.
What was your dream before AI, exactly? Not to build a VCS for agents, presumably. But the entire value prop here is centered around agents.

This is not the first "agentic VCS" project which claims both N% VCS token savings, and "faster VCS operations". But how are either of these two things a bottleneck? No case is made for this.

    It dramatically improves the speed and context your agents need when working on serious projects: 50% fewer VCS-related tokens and 90% faster per operation. 
So less context is an improvement? How much is 50% in practice? And how do my agents "need" a 90% speed increase (source, btw?) in VCS operations? What % of wall-clock time is spent in VCS commands vs actual inference?

"Agents locally and in the cloud no longer need a full copy of a repo to get working" - but was that ever a problem? And git supports shallow clones anyway.

    work on many tasks in parallel without needing to download everything or fight worktrees
Who is "fighting worktrees"? If you're concerned about all these downloads, why not use worktrees over a network share, as mentioned in the git manual?
IshKebab 1 day ago||
Does this try to solve the biggest problems with Git: submodules and LFS?
zdgeier 1 day ago|
Planning on some monorepo features soon that should solve some submodule problems but haven't approached yet. I have some new ideas here. And yes, no separate LFS system!
IshKebab 1 day ago||
> And yes, no separate LFS system!

Awesome. How does one decide which files should be stored externally, and manage that? And where is that decision stored?

zdgeier 1 day ago||
I'm a little confused by this but I assume you're talking about marking files for LFS (.gitattributes)? For us, we chunk every file (even if it's a single chunk) so every file is stored in the same way -- it's just data to us. But let me know if I got your question wrong.
IshKebab 1 day ago|||
So the problem that LFS solves is that sometimes you have large files that you a) don't want to download by default, e.g. old binary executables, b) are big enough that you want to serve them from a more efficient source e.g. S3, or c) are large and not needed forever, so you want to be able to delete them one day.

LFS "solves" those but it does it really badly. Really really badly. I've probably forgotten all the ways, but at least:

1. It conflates the content with the storage mechanism. You can't change retrospectively how the files are stored, even though the only thing you really need to be immutable is their content.

2. It requires you to actively set up git-lfs, otherwise it silently does the wrong thing.

3. Not exactly LFS's fault but I have yet to find a forge (GitHub, Gitlab etc.) which exposes the LFS stored files in a sane way. Last time I tried it was basically impossible to delete old files, and you needed a lot of extra work to even enable LFS in the place.

adastra22 20 hours ago||
This thing is a centralized server version control materialized on demand.
philipwhiuk 1 day ago|||
This sounds similar to Epic Games' Lore approach - have you seen what they're doing?

https://epicgames.github.io/lore/explanation/system-design/ if not

zdgeier 1 day ago||
Yes Lore looks awesome! I was previously working on a VCS for gamedevs -- that space definitely needs something better than Perforce haha. My comment would be that I think you need to nail a new GitHub + Git to really be successful in the space and I'm not sure Epic is focused on this. I wonder if Lore will turn out similar to Unity Version Control which is very specialized to Unity workflows or something more general. Definitely love what they're doing though.
agalamli 1 day ago||
seems like an interesting idea. the only friction would be to get people to use it instead of git, however i believe it will happen slowly, more people trying it and recommending it to others.
manquer 1 day ago||
There are git clients for perforce, hg, svn and so on[1]. Oak' developer (or the community) could always develop a git frontend for users who prefer that .

[1] https://git-scm.com/book/en/v2/Git-and-Other-Systems-Git-as-...

zdgeier 1 day ago||
Totally agree. This is going to be the hardest dev tool to get people to switch, but we're trying! I think there's going to be many more players in this space in the next year or so. It'll be interesting to see what shakes out.
GroksBarnacles 1 day ago||
I wish we as a society would stop using random words for products. "Slacked about Oak, but they need in Fizzle. The deck's in Slate, the assets are in Vault, the timeline's in Pulse, the copy's in Quill, the build's in Forge, and the launch party's already in Ember."
jayknight 1 day ago||
Aren't all product names "random" words before they become well known? Some are more descriptive than others, but they're all arbitrary to begin with.
gitpusher 1 day ago||
What alternative would you suggest? "Sent a message in our enterprise chat application about the version control system that our engineering team sometimes uses (no, not that one, the other one) but they need it in the project management app that our Design team uses (good luck requesting access from IT, we have more than a dozen project management tools in our catalog)"
ianburrell 1 day ago||
The solution is to always add a second name. Like people, projects could have short name and full names. Could be organization (Apache Spark), could use type (Oak Versioncontrol), could be longer name (Violet Spring). Then can use short name internally, and full name globally. I like the type name cause tells what it is.
vcryan 1 day ago||
I think git it the perfect system to bring order AI coding. Generate code however you like, but ultimately, it goes through a sensible, proven, and auditable pipeline. As someone also building AI tools, git it something I find myself "building with" - not against.
whalesalad 1 day ago||
Could this not have been a git wrapper? I struggle to see why git had to be abandoned entirely. Now you need to rebuild the world just to add some ergonomics on top of git.
zdgeier 1 day ago|
Could probably build a Git backend at some point for people to use kind of like how jj does it. Right now my goal with this is to see what's possible natively if we don't try to build on top of Git. But definitely agree that the wording needs to be improved here to explain what benefits we get from not building on git (better mounts, built-in LFS, clearer branching/workflows, etc.).
croes 1 day ago||
Given the promise of AI it doesn’t need special treatment to handle our data we change a lot to please the needs of AI.

Like replacing streets with rails while we claim FSD works out of the box

teaearlgraycold 1 day ago|
You're jerking yourself off with the web UI here. What I see on first load is essentially completely homogeneous, just a sea of black boxes with white text. As a purely aesthetic composition it's interesting to look at from afar. But in the context of presenting it to strangers it's hard to approach. Too much going on and hard to parse.
mrmrs 1 day ago|
Not sure about the accuracy of the first sentence but agree we have a lot of work to do on the UI and narrative front! Most of my focus as a designer has been on the CLI itself. I use oak to develop oak and want the experience for agents and humans to be as smooth and wonderful as possible. The landing page is not up to our own standards yet but we are iterating every day to try and improve it. Hope to make the content more approachable for you and others soon. Really appreciate the feedback.
More comments...