Ronne AI Marketplace
Un registre de capacités d'IA en code ouvert, auto-hébergé et organisé : skills, agents, règles, commandes, hooks, serveurs MCP et plus.
Aujourd'hui, ces fichiers vivent dans des dotfiles personnels. Ils divergent d'un coéquipier à l'autre, personne ne les a révisés, et chaque outil d'IA veut son propre format. Le marketplace donne à l'équipe un seul catalogue révisé, qui s'installe dans les fichiers de chaque outil.
Qu'est-ce qu'un registre de capacités d'IA?$ rmk install @scope/nameEn bref
- Version
- 0.7.0
- Licence
- MIT
- Bases de données
- SQLite, PostgreSQL 15+, MySQL 8.4+, MariaDB 10.11+
- S'installe dans
- Claude Code, Codex, Cursor
- Environnement d'exécution
- Node.js 24 (22.12+ fonctionne aussi)
À quoi il ressemble
Captures d'écran de la version 0.7.0, avec les éléments d'exemple du dépôt et des comptes d'exemple. Les décomptes d'utilisation qu'on y voit sont simulés.






Des dotfiles à un catalogue
Ce qui change quand la configuration d'IA de l'équipe a un seul endroit révisé.
Dans des dotfiles personnels
- Chacun garde ses propres prompts, règles et réglages MCP, et ils divergent.
- Personne n'a révisé ce qu'un hook ou un serveur MCP peut faire avant qu'il tourne.
- La même règle est réécrite pour Claude Code, Codex et Cursor, trois fois.
Dans le marketplace
- Les éléments vivent sous des portées comme
@team/code-review, et quelqu'un d'autre que l'auteur approuve chacun. - Un manifeste canonique,
ronne.yaml, est rendu dans les fichiers de chaque outil au moment de l'installation. - Un
rmk.lockversionné, avec des sommes de contrôle, signifie que chaque coéquipier et chaque tâche de CI reçoit les mêmes fichiers.
Ce que vous pouvez publier
Onze sortes d'éléments, chacun écrit une fois, sous une forme indépendante de l'outil.
- Skillskill
- Un dossier
SKILL.md, selon le standard Agent Skills. - Agentagent
- Un sous-agent avec ses propres instructions.
- Règlerule
- Des instructions de pilotage pour un projet ou un domaine.
- Commandecommand
- Une commande à barre oblique.
- Hookhook
- S'exécute à un moment de la session : avant un outil, après un prompt, à l'arrêt.
- Serveur MCPmcp-server
- Une configuration de serveur; les secrets sont référencés par variable d'environnement, jamais stockés.
- Politique de permissionspermission-policy
- Ce qu'un outil peut faire, permis et refusé.
- Style de sortieoutput-style
- Comment l'assistant écrit. Claude Code seulement.
- Ligne d'étatstatusline
- La ligne d'état de l'outil dans le terminal.
- Serveur LSPlsp-server
- Un serveur de langage que l'outil peut utiliser.
- Lotbundle
- Plusieurs éléments installés ensemble.
Les hooks, les politiques de permissions et les serveurs MCP sont marqués à haut risque en révision. Les styles de sortie n'existent que dans Claude Code; quand un outil n'a pas de place pour un type, rmk avertit et le saute.
Comment un changement y entre
Chaque élément passe par les mêmes étapes avant que quiconque puisse l'installer.
- BrouillonÉcrit dans l'application web (un formulaire, un éditeur de fichiers, un canevas ou l'import d'un .zip), ou envoyé depuis un outil d'IA avec
rmk export. Privé jusqu'à la soumission. - SoumisEn attente dans la file de révision. Peut être retiré jusqu'à l'approbation.
- RévisionDiff, commentaires et signaux de risque. Des modifications peuvent être demandées, puis l'élément resoumis.
- ApprouvéPar un modérateur ou root, autre que l'auteur. Le contenu est figé.
- PubliéUne version semver avec une étiquette de distribution, empaquetée avec une somme de contrôle sha256.
Les versions sont immuables une fois publiées. latest est l'étiquette par défaut et les préversions vont sous next. Une version peut être marquée comme obsolète (s'installe encore, avec un avertissement) ou retirée (les nouvelles installations ne la résolvent plus; les fichiers de verrouillage existants, oui). Les propositions de modification montrent un diff par rapport à une version de base et deviennent périmées si une version plus récente sort avant. Une personne qui a modifié un élément installé dans son outil d'IA peut renvoyer le changement sous forme de proposition avec rmk export.
Root administre l'instance. Dans chaque espace de travail, les utilisateurs proposent des éléments, les modérateurs les révisent, les approuvent et les publient, et les admins gèrent aussi les membres de l'espace de travail.
Du registre à vos outils
Une ligne de commande ou l'outil d'IA lui-même : l'un comme l'autre installe des éléments, et l'un comme l'autre renvoie au registre les éléments que vous avez écrits.
La ligne de commande rmk
rmk installe les éléments approuvés dans vos outils de programmation avec IA et les garde à jour. Il résout l'arbre, télécharge les archives, vérifie chaque sha256, rend les fichiers de chaque outil et écrit rmk.lock, fait pour être versionné.
- login
- logout
- whoami
- platforms
- search
- info
- list
- install
- update
- outdated
- remove
- mcp-setup
- export
- telemetry
Il n'écrase jamais un fichier ou un réglage que vous avez fait à la main, ne stocke jamais de secrets, et répond en JSON avec --json. Sur npm sous @ronneai/rmk; la commande est rmk.
rmk export fait le chemin inverse. Il envoie au registre, comme brouillon privé, un skill, un agent, une commande, une règle ou un serveur MCP que vous avez écrit pour Claude Code, Codex ou Cursor, après vous avoir montré tout ce qu'il téléverserait, et sans jamais inclure les identifiants d'un serveur MCP. Un élément installé que vous avez modifié revient sous forme de proposition de modification.
$ rmk export my-skill --to @scopeLe serveur MCP du registre
rmk-mcp permet à l'assistant de chercher dans le marketplace, de lire des éléments, et de les installer, mettre à jour ou retirer depuis la conversation. Il montre d'abord un plan de chaque fichier qu'il changerait, et ce n'est qu'ensuite qu'il applique exactement ce plan. Il exporte de la même façon les éléments que vous avez écrits : il demande quelle portée utiliser, montre chaque fichier qu'il téléverserait et crée le brouillon une fois que vous avez approuvé.
- search_items
- get_item
- list_installed
- check_outdated
- plan_install
- plan_update
- plan_remove
- apply_plan
- list_local_items
- plan_export
- export_items
Un plan dure 10 minutes et s'applique une seule fois. rmk mcp-setup enregistre le serveur auprès de chaque outil. Sur npm sous @ronneai/mcp.
Décomptes d'utilisation. Root décide si rmk et le serveur MCP signalent les installations et les exécutions : désactivé (par défaut), activé à moins que chaque personne ne le désactive, ou obligatoire. Seuls des décomptes sont envoyés, uniquement à l'instance d'où viennent les éléments, et ils sont conservés en totaux quotidiens pendant 90 jours. La page de chaque élément les affiche.
S'installe aujourd'hui dans : Claude Code, Codex, Cursor. Prévu : GitHub Copilot, Gemini CLI, Antigravity CLI, Devin.
Le faire tourner
Trois façons de commencer. Aucune n'installe de serveur de base de données pour vous : SQLite n'a besoin de rien, et pour les autres vous créez d'abord une base vide.
Avec Node.js
Il vous faut Node.js 22.12 ou plus récent. Une commande télécharge Ronne et le démarre : sans clone, sans Docker et sans build. Il n'écoute que sur cet ordinateur.
Ouvrez ensuite http://localhost:7650 et suivez l'installation. Les réglages, la base SQLite et les éléments stockés vont dans un dossier de données de votre compte utilisateur.
$ npx @ronneai/marketplaceAvec Docker
L'image est sur Docker Hub. Elle contient Node.js, et SQLite n'a pas besoin de serveur. Peu importe avec quoi vous la lancez, elle a besoin des trois mêmes réglages :
- Image
- ronneai/marketplace
- Port, hôte:conteneur
- 7650:3000
- Volume, monté sur
- /app/data
- Docker Desktop. Cherchez l'image, téléchargez-la et lancez-la. Dans les réglages facultatifs, mettez le port de l'hôte à 7650 et ajoutez un volume pour le chemin ci-dessus.
- Portainer. Ajoutez un conteneur avec le nom de l'image, publiez le port 7650 de l'hôte vers le port 3000 du conteneur et associez un volume au chemin ci-dessus.
Ligne de commande. Une ligne télécharge l'image et la démarre.
$ docker run -d --name ronne-marketplace -p 7650:3000 -v ronne-data:/app/data ronneai/marketplace
Faites l'installation, une seule fois. Ouvrez http://localhost:7650 dans le navigateur. La page d'installation demande la base de données, l'adresse publique et le compte root, montre l'installation pendant qu'elle s'exécute, puis vous dirige vers la connexion. Rien n'a besoin d'être redémarré. La première personne qui ouvre l'adresse configure l'instance, alors ouvrez-la dès que le conteneur démarre.
Vos données vivent dans le volume; sauvegardez-le. Pour mettre à jour, téléchargez l'image de nouveau et recréez le conteneur avec le même volume. Les migrations de base de données en attente s'exécutent au démarrage du conteneur. Vous le lancez déjà avec -p 3000:3000? Gardez ce port en recréant le conteneur : l'adresse est enregistrée dans ses réglages.
Depuis un clone
Il vous faut Node.js 24 (22.12 ou plus récent fonctionne) et pnpm, installé directement plutôt que par Corepack.
Ouvrez ensuite http://localhost:3000 et suivez la même installation. Elle écrit le apps/web/.env et, avec SQLite, le fichier de la base de données. pnpm run setup fait la même chose dans un terminal, et le relancer est sans danger.
$ git clone https://github.com/ronneai/ronne-marketplace.git
$ cd ronne-marketplace
$ pnpm install
$ pnpm build && pnpm startBases de données : SQLite, PostgreSQL 15+, MySQL 8.4+, MariaDB 10.11+. Les mandataires inverses, l'installation sans questions et la réinitialisation du mot de passe root sont dans le README. (s'ouvre dans un nouvel onglet)
Code ouvert, à ses débuts
Le marketplace est sous licence MIT et construit au grand jour. La conception, l'index des fonctionnalités et chaque décision sont dans le dépôt.
Il est en développement initial, à la version 0.7.0. Prévu : des moteurs de rendu pour GitHub Copilot, Gemini CLI, Antigravity CLI et Devin.
- Dépôt (s'ouvre dans un nouvel onglet)
- Tickets (s'ouvre dans un nouvel onglet)
- Document de conception (s'ouvre dans un nouvel onglet)
- Index des fonctionnalités (s'ouvre dans un nouvel onglet)
Essayez-le, ouvrez un ticket ou envoyez une demande de tirage.