# Projet ARC ## Contexte du Projet ARC est une plateforme d'automatisation du développement logiciel basée sur un workflow multi-agents (IA). Le système orchestre plusieurs modèles d'IA spécialisés pour transformer un besoin utilisateur en un code source validé, testé et stocké. ## Lancer le projet Avant de lancer le projet, il est important de créer le fichier .env dans le dossier */backend* et de remplir les éléments suivant : ```bash LLM_BASE_URL= LLM_API_KEY= LLM_MODEL= LLM_MODEL_DEV= LLM_MODEL_QA= EMBEDDING_BASE_URL= EMBEDDING_MODEL= GITEA_ADMIN_USER= GITEA_ADMIN_PASSWORD= ``` Une fois les informations fournies, éxectuer la commande suivante pour lancer le projet ```bash python .\orchestrator.py ``` * L'interface utilisateur conversationnelle se trouve sur l'adresse suivant : http://localhost:8001/ * Le Gitea se trouve à l'adresse suivante : http://localhost:3000/ ___ ## Arrêter le projet ```bash python .\stop_project.py ``` ___ ## Visualiser les logs ```bash docker compose -p arc-app logs -f ``` ___ ## Structure du projet ```bash ARC/ ├── backend/ │ ├── app/ │ │ ├── agents/ # Gestion agents IA │ │ │ ├── pm_agent.py │ │ │ ├── dev_agent.py │ │ │ └── qa_agent.py │ │ │ │ │ ├── api/ │ │ │ └── routes/ │ │ │ ├── health.py │ │ │ └── workflow.py │ │ │ │ │ ├── core/ │ │ │ ├── config.py │ │ │ └── logging.py │ │ │ │ │ ├── graph/ # LangGraph │ │ │ ├── state.py │ │ │ ├── nodes.py │ │ │ └── workflow.py │ │ │ │ │ ├── llm/ # appels modèles │ │ │ ├── client.py # wrapper d’appel │ │ │ ├── prompts.py # prompts centralisés │ │ │ │ │ ├── repositories/ # accès externes, Qdrant / Redis / stockage │ │ │ ├── qdrant_repository.py │ │ │ ├── redis_repository.py │ │ │ └── project_repository.py │ │ │ │ │ ├── sandbox/ │ │ │ ├── qa_client.py │ │ │ ├── main.py # Code exec dans le container sandbox │ │ │ └── Dockerfile.qa │ │ │ │ │ ├── schemas/ # Pydantic │ │ │ ├── api.py │ │ │ ├── spec.py │ │ │ ├── code_output.py │ │ │ └── qa_report.py │ │ │ │ │ ├── services/ │ │ │ ├── workflow_service.py │ │ │ ├── embedding_service.py │ │ │ ├── retrieval_service.py │ │ │ └── delivery_service.py │ │ │ │ │ └─── main.py │ │ │ ├── public/ │ │ ├── logo_dark.png │ │ └── logo_light.png │ │ │ ├── tests/ │ │ ├── test_health.py │ │ ├── test_workflow.py │ │ ├── test_agents.py │ │ ├── test_gemma.py │ │ ├── test_mistral.py │ │ ├── test_qdrant.py │ │ └── test_snowflake.py │ │ │ ├── .env # IMPORTANT élément à remplir │ ├── chainlit_app.py │ ├── chainlit_fr_FR.md │ ├── docker-compose-ai.yml # Conteneurs pour les agents et l'embedding │ ├── docker-compose-infra.yml # Conteneurs pour les BDD │ ├── docker-compose-sandbox.yml # Conteneur pour la sandbox/qa │ ├── docker-compose.yml # Conteneur de l'application │ ├── Dockerfile │ ├── README.md │ ├── requirements.txt │ └── start.sh # Lance les applications │ └── orchestrator.py # Lance le projet ```