Skip to content

Moonsong-Labs/akton25-agent-johnny5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agent Johnny5

🚧 UNDER CONSTRUCTION 🚧
A minimalistic multi-agent system to analyze GitHub repositories using Google ADK and GitHub MCP.

System Architecture

  • 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.)

Getting Started

  1. Set up the environment:

    python scripts/setup.py
    
  2. Add your API keys to the .env file:

    GOOGLE_API_KEY=your_api_key_here
    
  3. 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
    

Project Structure

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

Extending the System

To add a new agent:

  1. Create a new directory in the agents/ folder
  2. Implement your agent class extending the base Agent class
  3. The Main Agent will automatically discover and load your agent

License

MIT License

About

GitHub project archeologist

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published