c1r3x's picture
Review Agent: first commit
88d205f
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Code Review Agent - Main Entry Point
This module serves as the entry point for the Code Review Agent application.
It initializes the Gradio interface and starts the web server.
"""
import os
import sys
import logging
from dotenv import load_dotenv
# Add the project root to the Python path
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
# Import application modules
from src.ui.gradio_app import create_gradio_app
from src.core.agent_manager import AgentManager
# Configure logging
# Create logs directory if it doesn't exist
logs_dir = os.path.join(os.path.dirname(__file__), '..', 'logs')
os.makedirs(logs_dir, exist_ok=True)
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.StreamHandler(),
logging.FileHandler(os.path.join(logs_dir, 'app.log'), mode='a')
]
)
logger = logging.getLogger(__name__)
def main():
"""Main function to start the Code Review Agent application."""
# Load environment variables
load_dotenv()
# Create logs directory if it doesn't exist
logs_dir = os.path.join(os.path.dirname(__file__), '..', 'logs')
os.makedirs(logs_dir, exist_ok=True)
# Initialize the agent manager
agent_manager = AgentManager()
# Create and launch the Gradio app
app = create_gradio_app(agent_manager)
# Start the Gradio server
app.launch(server_name="0.0.0.0", server_port=7860)
if __name__ == "__main__":
try:
logger.info("Starting Code Review Agent application")
main()
except Exception as e:
logger.exception(f"Error starting application: {e}")
sys.exit(1)