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:
@ -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.
|
||||
Reference in New Issue
Block a user