This guide demonstrates a multi-agent software testing system built using Coral Protocol, supporting agents from three different frameworks LangChain, Camel, and CrewAI. The system enables automatic understanding of codebases, pull request testing, test coverage analysis, and documentation consistency checking in any compatible GitHub repository.
-
The system is composed of four specialized agents that work together to streamline GitHub pull request processing. The Interface Agent, built with LangChain, acts as the central coordinator, accepting user instructions, managing the workflow, and orchestrating the other agents. The GitClone Agent, powered by Crew AI, handles cloning the specified GitHub repository and checking out the relevant pull request branch. The CodeDiffReview Agent, utilizing Camel, analyzes the pull request diff, identifies modified functions, maps them to corresponding tests, and locates associated test files. Lastly, the UnitTestRunner Agent, also based on LangChain, executes designated unit tests using pytest and provides structured results, ensuring an efficient and automated review process.
-
Agents: Coral Interface Agent | GitClone Agent | CodeDiffReview Agent | UnitTestRunner Agent
-
Setup Coral Server and Coral Studio
Step-by-step guide to install and run Coral Server and Coral Studio with necessary dependencies (Java, Yarn, Node.js). -
Setup the Agents
Instructions to install and configure the Interface Agent, GitClone Agent, CodeDiffReview Agent and the UnitTestRunner Agent. -
Run the Agents
Available options to run agents:- Executable Mode with Coral Studio Orchestrator
- Dev Mode (terminal-based) for easier debugging
-
Example
Sample input and output to get results.
Details
-
To setup the Coral Server and Coral Studio UI, follow the steps given in repository to install.
-
In order to test if both are working, open the same instance in two terminals and run both simultaneously.
# run studio
yarn dev- You will see both running like this simultaneously if succesful and should be able to access Coral Studio from your browser.
- On Coral Studio, ensure the connection to Coral Server.
Install Java if UNAVAILABLE in order to run Coral Server
Install Java
# Apt update
sudo apt update
# Install the JDK
sudo apt install openjdk-17-jdk
# Check version
java -versionRun Coral Server
./gradlew run
Install Yarn if UNAVAILABLE in order to run Coral Studio
Install Yarn
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"
# Download and install Node.js:
nvm install 22
# Verify the Node.js version:
node -v # Should print "v22.17.0".
nvm current # Should print "v22.17.0".
# Download and install Yarn:
corepack enable yarn
# Verify Yarn version:
yarn -v
# Install from yarn
yarn install
# Allow port for eternal access
sudo ufw allow 5173
Run Coral Studio
yarn dev
Details
- Terminate the Coral Server and Coral Studio connections from above and start below steps.
- In this example, we are using the agents: Coral Interface Agent, GitClone Agent, CodeDiffReview Agent and UnitTestRunner Agent.
- Please click on the link and set up the agents by following the setup instructions in the repository.
- Check the output below to see how the terminal will look after succesfull installation, keep in mind the directory you are at while doing
uv sync.
You can run in either of the below modes to get your system running.
Details
-
The Executable Mode is part of the Coral Protocol Orchestrator which works with Coral Studio UI.
-
Checkout: How to Build a Multi-Agent System with Awesome Open Source Agents using Coral Protocol.
-
Update the file:
coral-server/src/main/resources/application.yamlwith the details below.
# replace ${PROJECT_DIR} with YOUR/PROJECT/DIRECTORY
applications:
- id: "app"
name: "Default Application"
description: "Default application for testing"
privacyKeys:
- "default-key"
- "public"
- "priv"
registry:
interface:
options:
- name: "API_KEY"
type: "string"
description: "API key for the service"
runtime:
type: "executable"
command: ["bash", "-c", "${PROJECT_DIR}/Coral-Interface-Agent/run_agent.sh main.py"]
environment:
- name: "API_KEY"
from: "API_KEY"
- name: "MODEL_NAME"
value: "gpt-4.1"
- name: "MODEL_PROVIDER"
value: "openai"
- name: "MODEL_TOKEN"
value: "16000"
- name: "MODEL_TEMPERATURE"
value: "0.3"
GitClone:
options:
- name: "API_KEY"
type: "string"
description: "API key for the service"
runtime:
type: "executable"
command: ["bash", "-c", "${PROJECT_DIR}/Coral-GitClone-Agent/run_agent.sh main.py"]
environment:
- name: "API_KEY"
from: "API_KEY"
- name: "MODEL_NAME"
value: "openai/gpt-4.1-mini"
- name: "MODEL_TOKEN"
value: "16000"
- name: "MODEL_TEMPERATURE"
value: "0.3"
CodeDiff:
options:
- name: "API_KEY"
type: "string"
description: "API key for the service"
- name: "GITHUB_ACCESS_TOKEN"
type: "string"
description: "key for the github service"
runtime:
type: "executable"
command: ["bash", "-c", "${PROJECT_DIR}/Coral-CodeDiffReview-Agent/run_agent.sh main.py"]
environment:
- name: "API_KEY"
from: "API_KEY"
- name: "GITHUB_ACCESS_TOKEN"
from: "GITHUB_ACCESS_TOKEN"
- name: "MODEL_NAME"
value: "gpt-4.1-mini"
- name: "MODEL_PROVIDER"
value: "openai"
- name: "MODEL_TOKEN"
value: "16000"
- name: "MODEL_TEMPERATURE"
value: "0.3"
UnitTest:
options:
- name: "API_KEY"
type: "string"
description: "API key for the service"
runtime:
type: "executable"
command: ["bash", "-c", "${PROJECT_DIR}/Coral-UnitTestRunner-Agent/run_agent.sh main.py"]
environment:
- name: "API_KEY"
from: "API_KEY"
- name: "MODEL_NAME"
value: "gpt-4.1-mini"
- name: "MODEL_PROVIDER"
value: "openai"
- name: "MODEL_TOKEN"
value: "16000"
- name: "MODEL_TEMPERATURE"
value: "0.3"-
Run the Coral Server and Coral Studio.
-
You do not need to set up the
.envin the project directory for running in this mode; it will be captured through the variables below. -
After the agents are loaded properly, you will see "4 agents" connected. Proceed ahead with "Select Session", add the agents, api key and esure to add both the Custom Tools to the Interface Agent.
Details
-
The Dev Mode allows the Coral Server and all agents to be seaprately running on each terminal without UI support.
-
Ensure that the Coral Server is running on your system and run below commands in separate terminals.
-
Ensure that you have setup the
.envfile with required keys.
Run the Interface Agent
# cd to directory
cd Coral-Interface-Agent
# Run the agent using `uv`:
uv run python main.pyRun the GitClone Agent
# cd to directory
cd Coral-GitClone-Agent
# Run the agent using `uv`:
uv run python main.pyRun the CodeDiffReview Agent
# cd to directory
cd Coral-CodeDiffReview-Agent
# Run the agent using `uv`:
uv run python main.pyRun the UnitTestRunner Agent
# cd to directory
cd Coral-UnitTestRunner-Agent
# Run the agent using `uv`:
uv run python main.pyDetails
# Input:
Question:
# Output:
Answer: If you have any questions about anything you can join our discord here, and put something in the dev support channel, if you beleivie it to be a bug or a feate that you want you can add it as a github issue Discord


