# L2 — Projets & stockage **Binôme :** `dev-projects` / `test-projects` **Zones :** `application/project`, `infrastructure/{fs,store}`, `frontend/features/projects` **Dépendances amont :** L0, L1. ## Objectif Gérer le cycle de vie des projets (création par project root, ouverture, fermeture) et le stockage de base. ## Périmètre (DEV) - Use cases : `CreateProject` (init `.ideai/` + `project.json` + registre), `OpenProject`, `CloseProject`/`CloseTab`. - Adapters : `LocalFileSystem` (tokio::fs), `FsProjectStore` (registre projets + workspace en JSON dans données app). - UI : sélection du project root, liste des projets, ouverture en onglet. ## Périmètre (TEST) - Use cases avec `FileSystem`/`ProjectStore` mockés : création initialise bien `.ideai/`, invariants projet respectés (root absolu, unicité `(remote, root)`). - Intégration ciblée : `LocalFileSystem` sur tmpdir, `FsProjectStore` round-trip. - Front : feature projects avec gateway mock (RTL). ## Definition of Done - `cargo test -p application -p infrastructure` (filtré projet) + `vitest` verts. - Créer/ouvrir/fermer un projet de bout en bout (avec adapters réels en dev manuel).