An LLM-based build agent system that helps manage and automate build processes in containerized environments in various programming languages. This project provides tools for handling dependencies, resolving conflicts, and managing build configurations.
- Docker-based sandbox environment for isolated builds
- Automated dependency management and conflict resolution
- Waiting list and conflict list management for package dependencies
- Error format handling and output collection
- Python 3.x
- Docker
- Git
- Clone the repository:
git clone https://github.com/terryyz/x-repo2run
cd x-repo2run
- Install the required dependencies:
pip install -r requirements.txt
Move tools tools
to /home/tools
.
The main entry point is through the build agent's main script. You can run it with the following arguments:
python build_agent/main.py <repository_full_name> <sha>
Where:
repository_full_name
: The full name of the repository (e.g., user/repo)sha
: The commit SHAroot_path
: The root path for the build process
build_agent/
- Main package directoryagents/
- Agent implementations for build configurationutils/
- Utility functions and helper classesdocker/
- Docker-related configurationsmain.py
- Main entry pointmulti_main.py
- Multi-process support
The project uses Docker containers to create isolated build environments, ensuring clean and reproducible builds.
- Waiting List: Manages package installation queue
- Conflict Resolution: Handles version conflicts between packages
- Error Handling: Formats and processes build errors
Utilizes GPT models to assist in build configuration and problem resolution.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
@article{zhuo2025config,
title={Configuraing Multilingual Docker Environment via Code Agent},
author={Zhuo, Terry Yue},
year={2025}
}
Apache-2.0