# Project Agora ## Description Project Agora est une plateforme web open-source permettant à plusieurs intelligences artificielles de **collaborer entre elles** pour concevoir la structure complète d'un projet logiciel à partir d'un **prompt utilisateur** ou d'un **document explicatif**. L'objectif est de produire : - Une **architecture logicielle complète**, incluant : - Une **hiérarchie de fichiers** structurée pour le projet - Une **spécification détaillée** du contenu attendu pour chaque fichier (sans implémentation de code, uniquement une description fonctionnelle et technique) - Un **raisonnement justifié** pour chaque choix technique. - Des **diagrammes explicatifs** (Mermaid). - Une **synthèse finale cohérente** prête à être utilisée comme base de développement. Aucune génération de code direct n'est effectuée : seules des **explications, réflexions et structures** sont produites. --- ## Objectif Reproduire une **table ronde d'IA spécialistes**, chaque agent IA représentant un rôle spécifique : - Architecte logiciel - Développeur backend - Développeur frontend - Designer UI/UX - Data engineer - Chef de projet - Éventuellement d'autres rôles selon la complexité du prompt. Cependant, l'aspect le plus crucial de ces IA réside dans leur capacité à **échanger, négocier, voire s'opposer** pour déterminer collectivement la meilleure approche à adopter. --- ## Exemple d'utilisation L'utilisateur entre ceci dans l'interface : > « Je souhaite faire une application de calculatrice scientifique responsive web. » Le système demande alors à plusieurs IA leur point de vue sur : - Le langage ou framework le plus adapté - L'organisation du projet (folders, modules) - Les fichiers essentiels - Les interactions front/back éventuelles - Le design minimal (UI/UX conceptuel) Elles discutent pour converger vers un consensus, puis produisent une **fiche conceptuelle du projet** au format structuré (JSON + affichage visuel + diagrammes Mermaid). --- ## Architecture technique ### Stack principal - **Frontend**: Vue.js 3 + Vite - **Backend**: Node.js + Express - **AI Layer**: Multi-agent système avec Mistral API - **Storage**: SQLite + JSON backup - **Diagrammes**: Mermaid.js ### Architecture globale ```mermaid graph TD A[Frontend: Vue.js 3] -->|User Prompt| B[Backend: Node.js] B -->|Orchestration| C[AI Layer: Mistral Agents] C -->|Debate Data| D[Storage: SQLite/JSON] C -->|Diagram Specs| E[Mermaid Engine] E -->|SVG/Render| A D -->|History| A ``` --- ## Fonctionnalités implémentées ✅ - ✅ Saisie d'un texte décrivant le projet - ✅ Sélection automatique des agents IA selon le contexte - ✅ Visualisation des échanges IA en temps réel - ✅ Intégration Mistral AI pour génération de réponses - ✅ WebSocket pour mises à jour temps réel - ✅ Système de consensus avec vote pondéré - ✅ Rendu de diagrammes Mermaid - ✅ Stockage SQLite des débats et réponses ## Fonctionnalités à venir - [ ] Support upload de documents PDF - [ ] Exportation JSON, Markdown ou PDF - [ ] Thème clair/sombre - [ ] Historique des débats précédents --- ## Démarrage rapide ### Prérequis - Node.js 18+ - Clé API Mistral AI ([obtenir ici](https://console.mistral.ai/)) ### Installation **1. Backend** ```bash cd backend npm install cp .env.example .env # Éditer .env et ajouter votre MISTRAL_API_KEY npm start ``` **2. Frontend** ```bash cd frontend npm install npm run dev ``` **3. Accéder à l'application** - Frontend: http://localhost:5173 - Backend API: http://localhost:3000 - WebSocket: ws://localhost:3000 --- ## Flux utilisateur ```mermaid sequenceDiagram participant User participant Orchestrator participant AI_Architect participant AI_Designer participant AI_Engineer User->>Orchestrator: Prompt project Orchestrator->>AI_Architect: Generate approach Orchestrator->>AI_Designer: Discuss UI/UX Orchestrator->>AI_Engineer: Suggest modules AI_Architect-->>Orchestrator: Architecture proposal AI_Designer-->>Orchestrator: Interface ideas AI_Engineer-->>Orchestrator: Technical design Orchestrator-->>User: Final structured response + diagram ``` --- ## Guide de développement Consultez [DEVELOPMENT.md](./DEVELOPMENT.md) pour les détails complets sur : - Structure du projet - API endpoints - Architecture des agents IA - Configuration WebSocket --- ## Licence MIT License — Open-source