From df5728a50a692860f3d16f9222b5a2d40115f7e1 Mon Sep 17 00:00:00 2001 From: Blomios Date: Tue, 8 Sep 2026 16:34:33 +0200 Subject: [PATCH] =?UTF-8?q?chore(tickets):=20sync=20store=20local=20?= =?UTF-8?q?=E2=80=94=20#283=20docs=20SDK=20assignation=20skills=20plugin?= =?UTF-8?q?=20aux=20agents=20(bump=20pointeur=20IdeaSDK=207db819c=20sur=20?= =?UTF-8?q?develop=20via=20feature/283-plugin-skill-assignment-docs,=20QA?= =?UTF-8?q?=20verte:=20npm=20run=20build=20+=20liens=20docs;=20note=20memo?= =?UTF-8?q?ry=20#282=20project-plugin-skills-multi-harness-contract=20ratt?= =?UTF-8?q?rap=C3=A9e;=20exclusion=20scripts/restart-idea-over-ssh.sh=20ho?= =?UTF-8?q?rs=20p=C3=A9rim=C3=A8tre)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .ideai/memory/MEMORY.md | 1 + ...ct-plugin-skills-multi-harness-contract.md | 25 +++++++++++++++++++ .ideai/tickets/283/carnet.md | 6 +++++ .ideai/tickets/283/issue.md | 17 +++++++++++++ .ideai/tickets/counter.json | 2 +- .ideai/tickets/index.json | 14 +++++++++++ sdk/IdeaSDK | 2 +- 7 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 .ideai/memory/project-plugin-skills-multi-harness-contract.md create mode 100644 .ideai/tickets/283/carnet.md create mode 100644 .ideai/tickets/283/issue.md diff --git a/.ideai/memory/MEMORY.md b/.ideai/memory/MEMORY.md index 7d6be9f9..b2a34e2a 100644 --- a/.ideai/memory/MEMORY.md +++ b/.ideai/memory/MEMORY.md @@ -87,3 +87,4 @@ - [plugin-hot-reload-agent-facing-delivered](plugin-hot-reload-agent-facing-delivered.md) — memory note plugin-hot-reload-agent-facing-delivered - [plugin-soft-refresh-and-agent-install-tools-delivered](plugin-soft-refresh-and-agent-install-tools-delivered.md) — memory note plugin-soft-refresh-and-agent-install-tools-delivered - [cross-project-ask-drop-cleans-live-state](cross-project-ask-drop-cleans-live-state.md) — memory note cross-project-ask-drop-cleans-live-state +- [project-plugin-skills-multi-harness-contract](project-plugin-skills-multi-harness-contract.md) — memory note project-plugin-skills-multi-harness-contract diff --git a/.ideai/memory/project-plugin-skills-multi-harness-contract.md b/.ideai/memory/project-plugin-skills-multi-harness-contract.md new file mode 100644 index 00000000..43b04c85 --- /dev/null +++ b/.ideai/memory/project-plugin-skills-multi-harness-contract.md @@ -0,0 +1,25 @@ +--- +name: project-plugin-skills-multi-harness-contract +description: memory note project-plugin-skills-multi-harness-contract +metadata: + type: project +--- +# Skills et tools de plugins par projet — contrat multi-harness + +Ticket #282 livré sur `develop` le 2026-09-08. + +Contrat produit retenu : + +1. Un plugin IdeA est installé globalement dans IdeA. +2. Le projet active explicitement les plugins qu'il veut utiliser via les settings projet. +3. Chaque agent reçoit explicitement les skills et tools MCP du plugin qui lui sont attribués. + +Les skills de plugin sont déclarés dans `idea-plugin.json` via `contributes.skills` avec `id`, `name`, `description`, `kind` (`workflow` par défaut ou `reference`) et `path` package-relative vers un Markdown `.md`. + +Ce contrat est IdeA-native et multi-harness : il ne dépend pas de `.codex-plugin/plugin.json`, de `$CODEX_HOME`, ni d'une découverte propre à Codex. IdeA résout les plugins activés et les assignments agent, injecte les affordances de skills dans le contexte de l'agent, et sert le corps via `idea_skill_read` pour les harness compatibles IdeA (Claude Code, Codex, OpenCode local/cloud). + +Persistance projet : `.ideai/project-plugins.json` version 1. Elle contient l'activation des plugins et les assignments `{pluginId, skillId}` / `{pluginId, serverId, toolName}` par agent. Les tombstones sont conservés pour uninstall/reinstall temporaire. + +SDK : `sdk/IdeaSDK` commit `6eb8db3` expose/valide `IdeAPluginSkillContribution` et documente la séparation entre skills IdeA-native et `.codex-plugin` Codex. + +Réserve connue : pour les tools MCP de plugin, `toolName` reste saisi librement tant qu'un catalogue dynamique des tools n'est pas disponible côté UI/runtime. \ No newline at end of file diff --git a/.ideai/tickets/283/carnet.md b/.ideai/tickets/283/carnet.md new file mode 100644 index 00000000..7e2456b3 --- /dev/null +++ b/.ideai/tickets/283/carnet.md @@ -0,0 +1,6 @@ +--- +issueRef: "#283" +version: 1 +updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedAt: 1788877456900 +--- diff --git a/.ideai/tickets/283/issue.md b/.ideai/tickets/283/issue.md new file mode 100644 index 00000000..e221f9ef --- /dev/null +++ b/.ideai/tickets/283/issue.md @@ -0,0 +1,17 @@ +--- +id: "d8d03bd5-acbe-41c7-b8b3-64f6b4b4c5e9" +number: 283 +title: "Documenter l'assignation des skills plugin aux agents" +status: "inProgress" +priority: "medium" +sprint: null +links: [] +agentRefs: [] +attachments: [] +createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +createdAt: 1788877456900 +updatedAt: 1788877456900 +version: 1 +--- +La doc SDK explique contributes.skills et la visibilité des skills plugin, mais ne documente pas encore le schéma exact de .ideai/project-plugins.json ni la procédure d'assignation agent. Demande venue du projet UnityPlugin après plugin reload OK mais agents sans skills assignés. \ No newline at end of file diff --git a/.ideai/tickets/counter.json b/.ideai/tickets/counter.json index e158d6b7..db594665 100644 --- a/.ideai/tickets/counter.json +++ b/.ideai/tickets/counter.json @@ -1,3 +1,3 @@ { - "nextNumber": 283 + "nextNumber": 284 } \ No newline at end of file diff --git a/.ideai/tickets/index.json b/.ideai/tickets/index.json index 9feed30f..fc57eb71 100644 --- a/.ideai/tickets/index.json +++ b/.ideai/tickets/index.json @@ -3861,6 +3861,20 @@ "agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d" }, "updatedAt": 1788875629546 + }, + { + "issueRef": "#283", + "path": "283", + "title": "Documenter l'assignation des skills plugin aux agents", + "status": "inProgress", + "priority": "medium", + "sprint": null, + "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d" + }, + "updatedAt": 1788877456900 } ] } \ No newline at end of file diff --git a/sdk/IdeaSDK b/sdk/IdeaSDK index 6eb8db37..7db819c6 160000 --- a/sdk/IdeaSDK +++ b/sdk/IdeaSDK @@ -1 +1 @@ -Subproject commit 6eb8db3791b4377dd0ede89410fc540835c5d4d1 +Subproject commit 7db819c64720baae1b38cd48060fd97bca5b2dd8