feat: add main features

Agents for developpement added + frontend add + backend added. Git viewer created + agent and template creator + layout and project creator
This commit is contained in:
2026-06-06 01:27:01 +02:00
parent 55b3bee2c8
commit 307ae71857
273 changed files with 48740 additions and 0 deletions

69
agents-dev/README.md Normal file
View File

@ -0,0 +1,69 @@
# Agents de développement IdeA — Protocole commun
> Ces agents servent à **développer l'IDE IdeA lui-même**. Ils ne sont pas la feature produit « agents IA » de l'application.
> Référence produit/archi : [`../CONTEXT.md`](../CONTEXT.md) · [`../ARCHITECTURE.md`](../ARCHITECTURE.md).
## Composition de l'équipe
Chaque **lot livrable** (L0…L11) est confié à un **binôme** :
- un **agent de développement** (écrit le code),
- un **agent de test** appairé (écrit et exécute les tests unitaires).
Un fichier `Lx-*.md` par binôme décrit son périmètre, ses ports/adapters, ses dépendances et sa *definition of done*.
| Lot | Fichier | Statut |
|---|---|---|
| L0 | [L0-core-domain.md](L0-core-domain.md) | ✅ **vert** (84 tests) |
| L1 | [L1-ipc-bridge.md](L1-ipc-bridge.md) | ✅ **vert** (46 tests) |
| L2 | [L2-projects.md](L2-projects.md) | ✅ **vert** (26 tests) |
| L3 | [L3-terminals.md](L3-terminals.md) | ✅ **vert** (61 tests) |
| L4 | [L4-layout.md](L4-layout.md) | ✅ **vert** (52 tests) |
| L5 | [L5-ai-runtime.md](L5-ai-runtime.md) | ✅ **vert** (69 tests) |
| L6 | [L6-agents.md](L6-agents.md) | ✅ **vert** (domaine+app+infra+IPC+front · activer un agent ouvre son terminal) |
| LD | [LD-design-system.md](LD-design-system.md) | ✅ **vert** (Tailwind v4 + UI kit maison, thème sombre) |
| L7 | [L7-templates.md](L7-templates.md) | ✅ **vert** (backend + IPC + front · drift & sync) |
| L8 | [L8-git.md](L8-git.md) | ✅ **vert** (backend + IPC + front · git local libgit2) |
| L9 | [L9-remote.md](L9-remote.md) | 🟡 **socle vert** (LocalHost + ConnectRemote, Liskov) · SSH/WSL gated à venir |
| L10 | [L10-windows.md](L10-windows.md) | 🟡 **backend + IPC verts** (move-tab + `WebviewWindow`) · détach UI fait avec la refonte L11 |
| L11 | [L11-packaging.md](L11-packaging.md) | 🟡 AppImage Linux **OK** · refonte disposition IDE en cours · Windows/CI à venir |
## Cycle dev ↔ test (obligatoire, cf. CONTEXT §3)
```
1. Archi valide le découpage et les contrats (ports/interfaces) du lot.
2. Agent DEV écrit le code de la feature.
3. Agent TEST écrit les tests unitaires + les exécute.
4a. Vert → feature validée, lot suivant.
4b. Rouge → rapport d'erreurs structuré → retour DEV → correction → retour étape 3.
```
**Règle d'or** : aucune feature n'est « terminée » tant que ses tests ne passent pas. Les résultats sont relayés fidèlement (sortie réelle des tests).
## Definition of Done (commune à tous les lots)
- [ ] Code conforme à l'architecture hexagonale et SOLID (cf. ARCHITECTURE §1).
- [ ] Le `domain` reste pur (aucune dépendance I/O qui y entre).
- [ ] Les use cases ne parlent qu'aux **ports**, jamais aux adapters concrets.
- [ ] Tests unitaires écrits et **verts** : `cargo test -p <crate>` (Rust) et/ou `vitest` (front).
- [ ] Domaine/application testés **sans I/O** (ports mockés : `mockall` ou fakes).
- [ ] Pas de `new ConcreteAdapter` ailleurs que dans la composition root (`app-tauri`).
- [ ] Pas de régression sur les lots déjà verts.
- [ ] Code lisible, cohérent avec le style existant.
## Format du rapport d'erreurs (TEST → DEV)
```
LOT: Lx
TEST EN ÉCHEC: <nom du test>
ATTENDU: <…>
OBTENU: <…>
SORTIE: <extrait pertinent de cargo test / vitest>
HYPOTHÈSE: <cause probable, si identifiable>
```
## Conventions techniques
- Rust : workspace multi-crate (`crates/domain`, `application`, `infrastructure`, `app-tauri`).
- Erreurs typées par port/use case ; `async` via `async_trait` côté ports I/O.
- Déterminisme des tests via ports `Clock`/`IdGenerator` (impl `Fixed`/`Seq` en test).
- Front : `domain`/`ports` purs (Vitest), `features` testés avec gateways **mock** (RTL).