Initial commit: Add project documentation

Add README.md with project overview, architecture, and roadmap.
Add .gitignore to exclude Claude Code config and design journal.
This commit is contained in:
Augustin ROUX 2025-10-17 11:26:24 +02:00
commit f5c369a434
2 changed files with 127 additions and 0 deletions

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
# Claude Code
.claude/
# Design journal with sensitive information
design-journal.md

122
README.md Normal file
View File

@ -0,0 +1,122 @@
# 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 prévues
- Saisie d'un texte ou envoi d'un document PDF décrivant le projet
- Personnalisation du nombre d'IA participants (3 à 15)
- Visualisation des échanges IA sous forme de thread
- Synthèse finale générée dynamiquement
- Exportation de la structure en JSON, Markdown ou PDF
- Thème clair/sombre intégré à l'UI
---
## 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
```
---
## Roadmap
- [ ] Prototype d'interface Vue.js
- [ ] Simulation IA avec prompts locaux
- [ ] Gestion multi-agents réelle avec API
- [ ] Intégration Mermaid dynamique
- [ ] Stockage et historisation des débats
---
## Licence
MIT License — Open-source