🚧 UNDER CONSTRUCTION 🚧A minimalistic multi-agent system to analyze GitHub repositories using Google ADK and GitHub MCP.
- Main Agent (Orchestrator): Acts as the central coordinator, receives prompts and routes them to the appropriate specialized agent
- Specialized Agents: Each agent has a specific purpose and expertise:
• 🕵️♂️ GitMiner: Digs through git history, extracts diffs, authorship, commit trends
• 🧠 PullSage: Ingests and summarizes PRs, links them to code and commits
• 🧬 CodeWeaver: Parses code structure, builds symbols/indexes (maybe with tree-sitter or LSPs)
• 🤖 MainAgent: Accepts queries, routes to other agents, builds expert-level answers
• 🧰 Indexer: Manages embeddings and search (e.g. with FAISS, Weaviate, etc.)
-
Set up the environment:
python scripts/setup.py -
Add your API keys to the
.envfile:GOOGLE_API_KEY=your_api_key_here -
Run the multi-agent system using one of these methods:
# Run as a standalone script python scripts/run_agents.py # Run as a FastAPI development server python scripts/dev.py # Test the ADK integration python test_agent.py # Run with ADK web interface cd agents adk web
agent-johnny5/
├── agent.py # Top-level entry point for ADK
├── agents/ # Agent implementations
│ ├── __init__.py # Entry point for agent modules
│ ├── mainagent/ # Main orchestrator agent
│ ├── pullsage/ # PR analysis agent
│ └── ... # Other specialized agents
├── shared/ # Shared utilities and models
│ ├── models/ # Data models
│ ├── utils/ # Utility functions
│ └── config/ # Configuration helpers
├── scripts/ # Utility scripts
│ ├── setup.py # Project setup
│ ├── run_agents.py # Run the agent system
│ └── dev.py # Development server
├── adk.config.json # Configuration for ADK framework
├── test_agent.py # Script to test ADK integration
└── tests/ # Test suite
To add a new agent:
- Create a new directory in the
agents/folder - Implement your agent class extending the base
Agentclass - The Main Agent will automatically discover and load your agent