Skip to content

🧠 Prometheus: A Knowledge-Graph-Driven πŸ€– AI Agent that maps πŸ—Ί, understands 🧩, and repairs πŸ›  complex codebases β€” not by guessing, but by reasoning. ⚑

License

Notifications You must be signed in to change notification settings

EuniAI/Prometheus

Repository files navigation

Prometheus Logo

Prometheus

AI-Powered Codebase Intelligence Platform

Automated issue resolution, intelligent code analysis, and multi-agent orchestration for modern software development

Contributors Stargazers Paper
Credits Discord


πŸ“– Overview

Prometheus is a research-backed, production-ready platform that leverages unified knowledge graphs and multi-agent systems to perform intelligent operations on multilingual codebases. Built on LangGraph state machines, it orchestrates specialized AI agents to automatically classify issues, reproduce bugs, retrieve relevant context, and generate validated patches.

Key Capabilities

  • Automated Issue Resolution: End-to-end bug fixing with reproduction, patch generation, and multi-level validation
  • Feature Implementation Pipeline: Context-aware feature request analysis, implementation planning, and code generation with optional regression testing
  • Intelligent Context Retrieval: Graph-based semantic search over codebase structure, AST, and documentation
  • Multi-Agent Orchestration: Coordinated workflow between classification, reproduction, and resolution agents
  • Knowledge Graph Integration: Neo4j-powered unified representation of code structure and semantics
  • Containerized Execution: Docker-isolated testing and validation environment
  • Question Answering: Natural language queries with tool-augmented LLM agents

πŸ“– Multi-Agent Architecture | πŸ“„ Research Paper


πŸ—οΈ Architecture

Prometheus implements a hierarchical multi-agent system:

                              User Issue
                                  |
                                  v
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚  Issue Classification Agent     β”‚
                β”‚  (bug/question/feature/doc)     β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              |
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              |               |               |
              v               v               v
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚Bug Pipeline  β”‚  β”‚Feature       β”‚  β”‚Question      β”‚
    β”‚              β”‚  β”‚Pipeline      β”‚  β”‚Pipeline      β”‚
    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
           |                 |                 |
           v                 v                 v
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚Bug           β”‚  β”‚Feature       β”‚  β”‚Context       β”‚
    β”‚Reproduction  β”‚  β”‚Analysis      β”‚  β”‚Retrieval     β”‚
    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
           |                 |                 |
           v                 v                 v
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚Issue         β”‚  β”‚Patch         β”‚  β”‚Question      β”‚
    β”‚Resolution    β”‚  β”‚Generation    β”‚  β”‚Analysis      β”‚
    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
           |                 |                 |
           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             v
                      Response Generation

Core Components:

  • Knowledge Graph: Tree-sitter-based AST and semantic code representation in Neo4j
  • LangGraph State Machines: Coordinated multi-agent workflows with checkpointing
  • Docker Containers: Isolated build and test execution environments
  • LLM Integration: Multi-tier model strategy (GPT-4, Claude, Gemini support)

See Architecture Documentation for details.


⚑ Quick Start

βœ… Prerequisites

  • Docker and Docker Compose
  • Python 3.11+ (for local development)
  • API Keys: OpenAI, Anthropic, or Google Gemini

πŸ“¦ Installation

  1. Clone the repository

    git clone https://github.com/EuniAI/Prometheus.git
    cd Prometheus
  2. Configure environment

    cp example.env .env
    # Edit .env with your API keys
  3. Generate JWT secret (required for authentication)

    python -m prometheus.script.generate_jwt_token
    # Copy output to .env as PROMETHEUS_JWT_SECRET_KEY
  4. Create working directory

    mkdir -p working_dir
  5. Start services

    # Linux
    docker-compose up --build
    
    # macOS/Windows (requires manual PostgreSQL setup)
    docker-compose -f docker-compose.win_mac.yml up --build
  6. Access the platform


πŸ’» Development

πŸ› οΈ Local Setup

# Install dependencies
pip install hatchling
pip install .
pip install .[test]

# Run development server
uvicorn prometheus.app.main:app --host 0.0.0.0 --port 9002 --reload

πŸ§ͺ Testing

# Run tests (excluding git-dependent tests)
coverage run --source=prometheus -m pytest -v -s -m "not git"

# Generate coverage report
coverage report -m
coverage html
open htmlcov/index.html

πŸ—„οΈ Database Setup

PostgreSQL (required for state checkpointing):

docker run -d \
  -p 5432:5432 \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_PASSWORD=password \
  -e POSTGRES_DB=postgres \
  postgres

Neo4j (required for knowledge graph):

docker run -d \
  -p 7474:7474 -p 7687:7687 \
  -e NEO4J_AUTH=neo4j/password \
  -e NEO4J_PLUGINS='["apoc"]' \
  -e NEO4J_dbms_memory_heap_initial__size=4G \
  -e NEO4J_dbms_memory_heap_max__size=8G \
  neo4j

Verify at http://localhost:7474


πŸ“š Research & Citation

Prometheus is based on peer-reviewed research on unified knowledge graphs for multilingual code analysis.

@misc{prometheus2025,
  title={Prometheus: Unified Knowledge Graphs for Issue Resolution in Multilingual Codebases},
  author={Zimin Chen and Yue Pan and Siyu Lu and Jiayi Xu and Claire Le Goues and Martin Monperrus and He Ye},
  year={2025},
  eprint={2507.19942},
  archivePrefix={arXiv},
  primaryClass={cs.SE},
  url={https://arxiv.org/abs/2507.19942}
}

🀝 Contributing

We welcome contributions! Please see our contributing guidelines for details.

  • Report bugs via GitHub Issues
  • Submit feature requests and improvements via Pull Requests
  • Join discussions on Discord

We're grateful to all our amazing contributors who have made this project what it is today!

If you have any questions or encounter issues, please feel free to reach out. For quick queries, you can also check our Issues page for common questions and solutions.


πŸ“œ License

This project is dual-licensed:

  • Community Edition: Licensed under the GNU General Public License v3.0 (GPLv3).
    You are free to use, modify, and redistribute this code, provided that any derivative works are also released under the GPLv3.
    This ensures the project remains open and contributions benefit the community.

  • Commercial Edition: For organizations that wish to use this software in proprietary, closed-source, or commercial settings,
    a separate commercial license is available. Please contact EUNI.AI Team to discuss licensing terms.


πŸ’¬ Support


🌟 Star History

Star History Chart


πŸ™ Acknowledgments

Delysium Logo

We thank Delysium for their support in organizing LLM-related resources, architecture design, and optimization, which greatly strengthened our research infrastructure and capabilities.


Made with ❀️ by the EuniAI Team

Back to top ↑

About

🧠 Prometheus: A Knowledge-Graph-Driven πŸ€– AI Agent that maps πŸ—Ί, understands 🧩, and repairs πŸ›  complex codebases β€” not by guessing, but by reasoning. ⚑

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 8

Languages