numa.

Outil

Composez un paquet pour Claude Code, OpenCode, Codex, pi ou oh-my-pi : les fichiers s'écrivent sous vos yeux.

Année
2026
Outils
Claude Code, Codex, OpenCode, pi, oh-my-pi, MCP
Exécution
Dans votre navigateur, sans appel à un modèle

Chargement de la démonstration…

En bref

Composez un plugin pour Claude Code, OpenCode, Codex, pi ou oh-my-pi : nom, description, briques et outils MCP. L'arborescence et chaque fichier s'écrivent sous vos yeux, prêts à être copiés. Une erreur de nom ou de description bloque la copie au lieu de produire un paquet douteux.

Ce qu'on y voit

Composez un paquet pour Claude Code, OpenCode, Codex, pi ou oh-my-pi : les fichiers s'écrivent sous vos yeux.

L'idée

Un plugin est un petit paquet lisible : un manifeste ou une extension, des skills, des hooks, des commandes, des sous-agents. Le rendre visible, c'est déjà le rendre relisible.

La fabrication

Générateur pur et testé pour cinq harness : arborescence cliquable, aperçu du fichier, copie, validation en direct du kebab-case, de la description et des hooks sans validation humaine.

Sous le capot

5 points d'implémentation

Pile

  • TypeScript strict
  • React
  • lucide-react
  • Générateur pur

Fichiers

  • lib/sim/plugin.ts
  • lib/sim/plugin.check.ts
  • components/demos/Plugins.tsx
  • components/demos/Plugins.module.css

Implémentation

  • generatePlugin est une fonction pure : elle déduit les fichiers des briques cochées et du harness cible, puis les sérialise en JSON, Markdown, TOML ou TypeScript. Aucune écriture disque, aucun réseau.
  • Le nom doit suivre le kebab-case (^[a-z0-9]+(?:-[a-z0-9]+)*$), faire 64 caractères au plus, et éviter les préfixes réservés de Claude Code ; une description vide ou de plus de 1 024 caractères bloque la génération.
  • Les outils MCP saisis sont normalisés en snake_case, dédupliqués et plafonnés à 12 ; les hooks sans validation humaine et les briques vides produisent des avertissements, pas des erreurs.
  • Les cibles sont propres à chaque harness : .claude-plugin/plugin.json, opencode.jsonc, AGENTS.md + .codex/config.toml, extensions .pi/.omp ; Codex est marqué « indicatif » car ce n'est pas un paquet plugin unique.
  • L'arborescence est reconstruite à partir des chemins générés ; la copie passe par navigator.clipboard, avec un repli textarea et execCommand si l'API est refusée.
Travail suivantLes connecteurs MCP →Ce qu'un agent peut toucher, et avec quelles permissions.