EvoGit: Decentralized Code Evolution via Git-Based Multi-Agent Collaboration

Beichen Huang, Ran Cheng, Kay Chen Tan
6/1/2025
cs.DCcs.AIcs.MA

Official code: BillHuang2001/evogit (1,358 stars, AGPL-3.0, last commit 2026-02-11).

Abstract

We introduce EvoGit, a decentralized multi-agent framework for collaborative software development driven by autonomous code evolution. EvoGit deploys a population of independent coding agents, each proposing edits to a shared codebase without centralized coordination, explicit message passing, or shared memory. Instead, all coordination emerges through a Git-based phylogenetic graph that tracks the full version lineage and enables agents to asynchronously read from and write to the evolving code repository. This graph-based structure supports fine-grained branching, implicit concurrency, and scalable agent interaction while preserving a consistent historical record. Human involvement is minimal but strategic: users define high-level goals, periodically review the graph, and provide lightweight feedback to promote promising directions or prune unproductive ones. Experiments demonstrate EvoGit's ability to autonomously produce functional and modular software artifacts across two real-world tasks: (1) building a web application from scratch using modern frameworks, and (2) constructing a meta-level system that evolves its own language-model-guided solver for the bin-packing optimization problem. Our results underscore EvoGit's potential to establish a new paradigm for decentralized, automated, and continual software development. EvoGit is open-sourced at https://github.com/BillHuang2001/evogit.

View on arXivView PDF

Code Implementations(1)

AGPL-3.0
1,358184Shell, PythonMay 21, 20248 months agoAGPL-3.0

Similar Papers

Cite this paper

@article{huang2025evogit,
  title  = {EvoGit: Decentralized Code Evolution via Git-Based Multi-Agent Collaboration},
  author = {Beichen Huang and Ran Cheng and Kay Chen Tan},
  year   = {2025},
  eprint = {2506.02049},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2506.02049v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2506.02049.svg)](https://codeofpaper.com/paper/2506.02049)

Discussion