chore(tickets): sync store local — cycle #282 paramètres projet plugins + attribution skills/tools agents (branche feature/282-project-plugin-settings-multi-harness, merge develop 6592fad, ticket fermé; QA verte: application, project_plugin_settings 3/3, dto_plugins 2/2, structured_launch_d3 26/26, catalogue mcp 7/7, frontend 5 tests, npm build frontend; AppImage IdeA_0.3.0_amd64.AppImage rebuildée post-merge 2026-09-08 15:53, 114M — correctif actif après remplacement AppImage installée + relance, étape manuelle; exclusion scripts/restart-idea-over-ssh.sh hors périmètre)

This commit is contained in:
2026-09-08 15:54:23 +02:00
parent 6592fad83a
commit bcbf6053de
3 changed files with 54 additions and 8 deletions

View File

@ -1,8 +1,8 @@
---
issueRef: "#282"
version: 3
version: 5
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1788871877354
updatedAt: 1788875629546
---
# Cadrage initial
@ -95,4 +95,50 @@ B1 Domaine : contributions skills plugin, settings projet plugins, refs skills/t
B2 Infrastructure : validator manifest, store `.ideai/project-plugins.json`, lecture package-relative des SKILL.md, catalogue tools plugin.
B3 Application : use cases settings/assignments, resolver skills, `idea_skill_read`, lancement agent, permissions MCP dynamiques avec projection par harness.
F1 Frontend : Settings projet > Plugins, détail plugin, attribution agent, catalogue permissions groupé.
QA : validator, store, injection/read-skill sur Claude Code/Codex/OpenCode, permissions MCP par harness, hot reload, uninstall tombstones.
QA : validator, store, injection/read-skill sur Claude Code/Codex/OpenCode, permissions MCP par harness, hot reload, uninstall tombstones.
# Implémentation livrée
Implémentation effectuée sur `feature/282-project-plugin-settings-multi-harness`.
Backend/domaine :
- `idea-plugin.json` accepte `contributes.skills` avec `id`, `name`, `description`, `kind`, `path` package-relative Markdown.
- Ajout du store `.ideai/project-plugins.json` version 1 pour activer/désactiver un plugin par projet et stocker les assignments par agent.
- Ajout des refs plugin skills/tools et use cases projet : list settings, enable/disable plugin, assign/unassign skill, assign/unassign tool.
- `idea_skill_read` et l’injection du catalogue de skills passent par le resolver IdeA des skills assignés, pas par `.codex-plugin`.
- Le contrat est multi-harness : projection via les mécanismes IdeA existants pour Claude Code, Codex et OpenCode.
Frontend :
- Panneau plugins projet avec état installé globalement / activé pour ce projet.
- Détail des capabilities déclarées par plugin.
- Attribution des skills et tools MCP de plugin dans la configuration agent.
SDK :
- `@idea/plugin-sdk` expose et valide `IdeAPluginSkillContribution` / `contributes.skills`.
- Docs SDK mises à jour : manifeste, séparation skills IdeA-native vs `.codex-plugin` Codex.
# Validation QA
Verdict QA : VERT.
Commandes vertes :
```bash
npm --prefix sdk/IdeaSDK run build
cargo test -p application
cargo test -p infrastructure --test project_plugin_settings -- --nocapture
cargo test -p app-tauri --test dto_plugins -- --nocapture
npm --prefix frontend test -- ProjectPluginSettings plugin.test --run
cargo test -p application --test structured_launch_d3 -- --nocapture
cargo test -p application agent::catalogue::mcp_tests --lib -- --nocapture
npm --prefix frontend run build
```
Risques résiduels connus :
- Pas d’E2E runtime AppImage avec vrais harness Claude/Codex/OpenCode ; validation par contrats/tests existants.
- Pour les tools MCP de plugin, `toolName` reste saisi librement tant que le catalogue dynamique des tools n’est pas disponible.
- Le build frontend garde l’avertissement Vite habituel sur chunk > 500 kB.