Documente la règle publique menu -> command handler -> tâche de fond optionnelle
-> feedback (docs/commands-and-feedback.md + README), clarifie via JSDoc les
invariants de runCommand/recordOnly/ownerAgentId dans runtime.ts, et met à jour
l'exemple hello-plugin (feedback structuré launched/skipped, watch non-fatal)
pour qu'il illustre fidèlement le contrat documenté. Publie docs/ dans le
package npm.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Documente et illustre deux contrats SDK :
- Multi-fichiers ESM : le `main` du manifeste peut importer d'autres
fichiers du package via specifiers relatifs, servis par IdeA sur
`idea-plugin://` (build `tsc` non bundlé). Le packager embarque tout
`dist/**/*.js` et vérifie la présence du `main`. Les bare specifiers
(`node_modules`) restent hors contrat : à bundler ou vendorer.
- Storage plugin-owned : `ctx.storage` est la place canonique de l'état
interne du plugin (compteurs, flags, préférences, caches), hors des
fichiers projet. Les APIs workspace/config restent pour le contenu
project-owned.
L'exemple hello-plugin est éclaté en modules (constants, core/layout,
core/workspace, core/storage) pour exercer l'import relatif et le storage.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>