Skip to content
Tech News
← Back to articles

Version Control for Everything

read original more articles
Why This Matters

The article highlights the critical importance of version control in AI-assisted coding and broader software development processes. Without proper versioning tools, tracking changes, ensuring code integrity, and managing complex workflows become error-prone and inefficient, hindering the adoption of AI in non-programming contexts and risking project stability.

Key Takeaways

AI assisted agentic coding has reached escape velocity, but non-programming use cases haven’t seen the same degree of adoption. I believe that the main reason for this is the lack of version control.

Imagine using claude-code outside of a git repository. Even for small things like refactors, using AI would be very stressful and error prone:

It would be near-impossible to track the changes that the LLM made. Auditing the LLM generated code is useful in the moment to ensure that changes are reasonable before moving on to another task, and in the future when you want to understand why some code was written

The LLM could put the codebase in a bad state and you’d have no way of reverting This is true even if the LLM is incredibly smart and didn’t make any “mistakes” - the human prompter forgetting to tell it about a design constraint could be bad enough

There’s no split between the “development branch” and “prod”

You can’t parallelize development by having multiple LLMs work on different branches

Even when I pay Claude to work on a small script, I always create a new git repo just to make my life easier. But outside of coding, it’s nearly impossible to find tooling that has the same guardrails and affordances.

Case study: software development outer loop

Managing the software development process is hard. We use issue trackers and pull requests to manage work, people write documentation and communicate over email, instant messaging, and in meetings. Keeping all of the information in these channels synchronized and up to date is a full time job. In this scenario, let’s say we’re concerned with the following systems:

github issues (read/write) pull requests (read/write) google calendar (read/write) google docs (read/write) gmail (read) slack (read)

... continue reading