This project demonstrates a multi-agent software testing system built using Coral Protocol, supporting agents from three different frameworks—LangChain, CAMEL-AI, and CrewAI. The system enables automatic understanding of codebases, pull request testing, and test coverage analysis in any compatible GitHub repository.
The system currently supports four main functionalities:
First, clone both required repositories:
git clone https://github.com/Coral-Protocol/coral-server.git
git clone https://github.com/Coral-Protocol/software-testing-agents.git
It is highly recommended to use a virtual environment (venv
or conda
):
With venv
:
python3.10 -m venv venv
source venv/bin/activate
Or with conda
:
conda create -n coral-agents python=3.10
conda activate coral-agents
Install all required packages:
pip install PyGithub
pip install langchain-mcp-adapters langchain-openai langchain langchain-core
pip install crewai
pip install 'camel-ai[all]'
Export your OPENAI_API_KEY
and GITHUB_ACCESS_TOKEN
:
export OPENAI_API_KEY=sk-xxx
export GITHUB_ACCESS_TOKEN=ghp_xxx
Navigate to the coral-server
directory and run:
cd coral-server
./gradlew run
Note: Gradle may appear to stall at 83%, but the server is running. Check the terminal logs to confirm.
Navigate to the software-testing-agents
directory and open seven terminals and run the following scripts in the software-testing-agents
directory:
cd ..
cd software-testing-agents
python 0-langchain-interface.py
python 1-crewai-GitCloneAgent.py
python 2-camel-CodeDiffReviewAgent.py
python 3-langchain-UnitTestRunnerAgent.py
python 4-langchain-RepoUnderstandingAgent.py
python 5-langchain-RepoUnitTestAdvisorAgent.py
python 6-langchain-RepoDocConsistencyCheckerAgent.py
Ask the Interface Agent for a comprehensive summary of a repository:
Please give me a comprehensive instruction of Coral-Protocol/coraliser.
Or specify a branch:
Please give me a comprehensive instruction of the master branch of Coral-Protocol/coral-server.
Or for other public repositories:
Please give me a comprehensive instruction of the master branch of camel-ai/camel.
Ask the system to execute all relevant unit tests for a PR:
Please execute the unit test for the '6' PR in repo 'renxinxing123/software-testing-code'.
Please execute the unit test for the '2' PR in repo 'renxinxing123/camel-software-testing'.
Ask the system to evaluate whether a PR’s changes are fully covered by tests:
I created a new branch, `new-semantic-scholar-toolkit`, in the repository 'renxinxing123/camel-software-testing' and opened a new pull request (#3). For the changed files, could you please help me check whether the corresponding unit tests fully cover all necessary cases? Are there any additional tests that should be added?
Ask the system to automatically check whether relevant documentation files are up-to-date with PR changes:
I created a new branch 'repo-understanding+unit-test-advice' in the repo 'renxinxing123/software-testing-agents-test' and opened a new PR (#2), could you please help me check if the relevant doc covered all the changes from the PR?
👉 Check out the full implementation on GitHub: Coral-Protocol/software-testing-agents