chore(tickets): mise à jour index et tickets SDK plugins #123-#130
This commit is contained in:
39
.ideai/tickets/124/carnet.md
Normal file
39
.ideai/tickets/124/carnet.md
Normal file
@ -0,0 +1,39 @@
|
||||
---
|
||||
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.
|
||||
Reference in New Issue
Block a user