--- issueRef: "#124" version: 4 updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedAt: 1785666067073 --- ## Problème `WorkspaceService` public expose aujourd’hui seulement le projet courant, son root, et la lecture/écriture du contexte Markdown IdeA. Cela ne suffit pas pour un plugin de développement qui doit lire, écrire, lister ou surveiller les fichiers d’un projet. ## Pourquoi c’est global Ce besoin n’a rien de spécifique à Android. Tout plugin de dev outillé doit pouvoir manipuler le workspace : configs, manifests, scripts, sources, fichiers générés, assets, etc. ## Ce que ce ticket doit produire Une API publique de workspace/fichiers permettant au minimum : - lecture de fichier texte/binaire - écriture atomique ou contrôlée - listing de répertoires - existence/stat basiques - résolution sûre de chemins dans le project root - capacité de watch ou point d’extension compatible avec `#127` ## Contraintes d’architecture - API strictement publique côté SDK TypeScript. - Aucun accès direct aux objets runtime internes. - Respect du sandboxing et du project root. - Contrat clair sur les erreurs, encodages, chemins hors-root et fichiers absents. ## Non-objectifs - Pas de parser Gradle/XML/JSON dans ce ticket. - Pas d’analyse sémantique du projet. - Pas de conventions Android codées en dur. ## Dépendances - Bloque `#126`, `#129`, `#130`. ## Critères d’acceptation - Un plugin peut lire/écrire/lister dans le workspace sans cast interne. - Le contrat gère explicitement les chemins invalides/hors-root. - La documentation SDK montre un exemple simple de manipulation de fichiers.