Pular para o conteúdo

Ronne AI Marketplace

Um registro de capacidades de IA de código aberto, auto-hospedado e curado: skills, agentes, regras, comandos, hooks, servidores MCP e mais.

Hoje esses arquivos vivem em dotfiles pessoais. Eles divergem entre colegas, ninguém os revisou, e cada ferramenta de IA quer o próprio formato. O marketplace dá ao time um só catálogo revisado que se instala nos arquivos de cada ferramenta.

O que é um registro de capacidades de IA?
$ rmk install @scope/name

Em resumo

Versão
0.7.0
Licença
MIT
Bancos de dados
SQLite, PostgreSQL 15+, MySQL 8.4+, MariaDB 10.11+
Instala em
Claude Code, Codex, Cursor
Runtime
Node.js 24 (22.12+ também funciona)

Como ele é

Capturas de tela da versão 0.7.0, com os itens de exemplo do repositório e contas de exemplo. As contagens de uso que aparecem nelas são simuladas.

A página do servidor MCP @examples/github-mcp: instalações e execuções nos últimos 30 dias, as três ferramentas em que ele funciona, duas sinalizações da revisão, os comandos de instalação, incluindo um para o gerenciador de plugins do Claude Code, e o uso nos últimos 14 dias por dia, por ferramenta (Claude Code, Codex e Cursor), pelo que iniciou as execuções e pela forma como elas terminaram.A página do servidor MCP @examples/github-mcp: instalações e execuções nos últimos 30 dias, as três ferramentas em que ele funciona, duas sinalizações da revisão, os comandos de instalação, incluindo um para o gerenciador de plugins do Claude Code, e o uso nos últimos 14 dias por dia, por ferramenta (Claude Code, Codex e Cursor), pelo que iniciou as execuções e pela forma como elas terminaram.
A página de um item: o uso, as ferramentas em que ele funciona, o que a revisão encontrou e como instalá-lo. As contagens de uso são simuladas.
Um moderador revisa uma mudança em @examples/code-reviewer: as abas Overview, Files, Conversation e Security scan, as verificações da iteração e as ações Approve, Request changes e Reject.Um moderador revisa uma mudança em @examples/code-reviewer: as abas Overview, Files, Conversation e Security scan, as verificações da iteração e as ações Approve, Request changes e Reject.
Uma mudança em revisão, mostrada linha a linha em comparação com a versão lançada.
A visualização Canvas de um rascunho de alteração do pacote @examples/starter-kit: o pacote no centro, ligado aos itens que ele contém, cada um com o seu intervalo de versões.A visualização Canvas de um rascunho de alteração do pacote @examples/starter-kit: o pacote no centro, ligado aos itens que ele contém, cada um com o seu intervalo de versões.
A visualização Canvas de um agente: os itens que ele usa e o intervalo de versões de cada um.
Ver todas as telas

De dotfiles a um catálogo

O que muda quando a configuração de IA do time tem um só lugar revisado.

Em dotfiles pessoais

  • Cada pessoa guarda os próprios prompts, regras e configurações MCP, e eles divergem.
  • Ninguém revisou o que um hook ou um servidor MCP pode fazer antes de ele rodar.
  • A mesma regra é reescrita para Claude Code, Codex e Cursor, três vezes.

No marketplace

  • Os itens vivem em escopos como @team/code-review, e alguém que não seja o autor aprova cada um.
  • Um manifesto canônico, ronne.yaml, é renderizado nos arquivos de cada ferramenta na hora da instalação.
  • Um rmk.lock versionado, com checksums, faz com que cada colega e cada job de CI receba os mesmos arquivos.

O que você pode publicar

Onze tipos de item, cada um escrito uma vez, em um formato independente de ferramenta.

Skillskill
Uma pasta SKILL.md, no padrão Agent Skills.
Agenteagent
Um subagente com as próprias instruções.
Regrarule
Instruções de orientação para um projeto ou domínio.
Comandocommand
Um comando de barra.
Hookhook
Roda em um ponto da sessão: antes de uma ferramenta, depois de um prompt, ao parar.
Servidor MCPmcp-server
Uma configuração de servidor; segredos são referenciados por variável de ambiente, nunca armazenados.
Política de permissõespermission-policy
O que uma ferramenta pode fazer, permitido e negado.
Estilo de saídaoutput-style
Como o assistente escreve. Só no Claude Code.
Linha de statusstatusline
A linha de status da ferramenta no terminal.
Servidor LSPlsp-server
Um servidor de linguagem que a ferramenta pode usar.
Pacotebundle
Vários itens instalados juntos.

Hooks, políticas de permissões e servidores MCP são marcados como de alto risco na revisão. Estilos de saída existem só no Claude Code; quando uma ferramenta não tem lugar para um tipo, o rmk avisa e pula o item.

Como uma mudança entra

Todo item passa pelas mesmas etapas antes que alguém possa instalá-lo.

  1. RascunhoEscrito no app web (um formulário, um editor de arquivos, um canvas ou a importação de um .zip) ou trazido de uma ferramenta de IA com rmk export. Privado até ser enviado.
  2. EnviadoEsperando na fila de revisão. Pode ser retirado até ser aprovado.
  3. RevisãoDiff, comentários e sinalizações de risco. Alterações podem ser solicitadas e o item, reenviado.
  4. AprovadoPor um moderador ou pelo root, que não seja o autor. O conteúdo é congelado.
  5. LançadoUma versão semver com uma dist-tag, empacotada com um checksum sha256.

Versões são imutáveis depois de publicadas. latest é a tag padrão e os pré-lançamentos ficam em next. Uma versão pode ser marcada como obsoleta (ainda instala, com um aviso) ou retirada (novas instalações não a resolvem; lockfiles existentes ainda conseguem). Propostas de alteração mostram um diff em relação a uma versão base e ficam desatualizadas se uma versão mais nova sair antes. Quem tiver editado um item instalado na própria ferramenta de IA pode mandar a mudança de volta como proposta com rmk export.

O root administra a instância. Em cada espaço de trabalho, os usuários propõem itens, os moderadores revisam, aprovam e lançam, e os admins também gerenciam os membros do espaço de trabalho.

Do registro às suas ferramentas

Uma linha de comando ou a própria ferramenta de IA: qualquer uma das duas instala itens, e qualquer uma das duas leva de volta ao registro os itens que você escreveu.

A linha de comando rmk

O rmk instala itens aprovados nas suas ferramentas de programação com IA e os mantém atualizados. Ele resolve a árvore, baixa os tarballs, verifica cada sha256, renderiza os arquivos de cada ferramenta e grava o rmk.lock, feito para ser versionado.

  • login
  • logout
  • whoami
  • platforms
  • search
  • info
  • list
  • install
  • update
  • outdated
  • remove
  • mcp-setup
  • export
  • telemetry

Nunca sobrescreve um arquivo ou configuração que você fez à mão, nunca armazena segredos e responde em JSON com --json. No npm como @ronneai/rmk; o comando é rmk.

rmk export faz o caminho inverso. Ele manda para o registro, como rascunho privado, uma skill, um agente, um comando, uma regra ou um servidor MCP que você escreveu para o Claude Code, o Codex ou o Cursor. Antes, mostra tudo o que seria enviado, e nunca envia as credenciais de um servidor MCP. Um item instalado que você editou volta como proposta de alteração.

$ rmk export my-skill --to @scope
@ronneai/rmk no npm (abre em uma nova aba)

O servidor MCP do registro

O rmk-mcp deixa o assistente buscar no marketplace, ler itens e instalá-los, atualizá-los ou removê-los a partir da conversa. Primeiro ele mostra um plano com cada arquivo que mudaria, e só então aplica exatamente esse plano. Ele exporta os itens que você escreveu do mesmo jeito: pergunta qual escopo usar, mostra cada arquivo que enviaria e cria o rascunho depois que você aprovar.

  • search_items
  • get_item
  • list_installed
  • check_outdated
  • plan_install
  • plan_update
  • plan_remove
  • apply_plan
  • list_local_items
  • plan_export
  • export_items

Um plano dura 10 minutos e é aplicado uma vez. rmk mcp-setup registra o servidor em cada ferramenta. No npm como @ronneai/mcp.

@ronneai/mcp no npm (abre em uma nova aba)

Contagens de uso. O root decide se o rmk e o servidor MCP informam instalações e execuções: desligado (o padrão), ligado a menos que cada pessoa desligue, ou obrigatório. Só contagens são enviadas, só para a instância de onde os itens vieram, e elas ficam guardadas como totais diários por 90 dias. A página de cada item mostra essas contagens.

Instala hoje em: Claude Code, Codex, Cursor. Planejado: GitHub Copilot, Gemini CLI, Antigravity CLI, Devin.

Rode o marketplace

Três jeitos de começar. Nenhum instala um servidor de banco de dados por você: SQLite não precisa de nada, e para os outros você cria um banco vazio antes.

Com Node.js

Você precisa do Node.js 22.12 ou superior. Um comando baixa o Ronne e o inicia: sem clone, sem Docker e sem build. Ele escuta só neste computador.

Depois abra http://localhost:7650 e siga o setup. As configurações, o banco SQLite e os itens armazenados ficam em uma pasta de dados da sua conta de usuário.

Porta, pasta de dados e execução como serviço
$ npx @ronneai/marketplace

Com Docker

A imagem está no Docker Hub. Ela tem Node.js, e SQLite não precisa de servidor. Não importa com o que você rode a imagem, ela precisa das mesmas três configurações:

Imagem
ronneai/marketplace
Porta, host:contêiner
7650:3000
Volume, montado em
/app/data
ronneai/marketplace no Docker Hub (abre em uma nova aba)
  • Docker Desktop. Procure a imagem, baixe e rode. Nas configurações opcionais, defina a porta do host como 7650 e adicione um volume para o caminho acima.
  • Portainer. Adicione um contêiner com o nome da imagem, publique a porta 7650 do host na porta 3000 do contêiner e mapeie um volume para o caminho acima.
  • Linha de comando. Uma linha baixa a imagem e a inicia.

    $ docker run -d --name ronne-marketplace -p 7650:3000 -v ronne-data:/app/data ronneai/marketplace

Faça o setup, uma vez só. Abra http://localhost:7650 no navegador. A página de setup pede o banco de dados, o endereço público e a conta root, mostra a instalação enquanto ela roda e leva você para o login. Nada precisa ser reiniciado. Quem abrir o endereço primeiro faz o setup da instância, então abra o endereço logo depois que o contêiner iniciar.

Seus dados ficam no volume; faça backup dele. Para atualizar, baixe a imagem de novo e recrie o contêiner com o mesmo volume. As migrações pendentes do banco de dados rodam na inicialização do contêiner. Já está rodando o contêiner com -p 3000:3000? Mantenha essa porta ao recriar o contêiner: o endereço fica salvo nas configurações.

A partir de um clone

Você precisa do Node.js 24 (22.12 ou superior funciona) e do pnpm, instalado diretamente e não pelo Corepack.

Depois abra http://localhost:3000 e siga o mesmo setup. Ele grava o apps/web/.env e, com SQLite, o arquivo do banco de dados. pnpm run setup faz o mesmo em um terminal, e rodá-lo de novo é seguro.

$ git clone https://github.com/ronneai/ronne-marketplace.git
$ cd ronne-marketplace
$ pnpm install
$ pnpm build && pnpm start

Bancos de dados: SQLite, PostgreSQL 15+, MySQL 8.4+, MariaDB 10.11+. Proxies reversos, setup sem perguntas e a redefinição da senha do root estão no README. (abre em uma nova aba)

Código aberto, em fase inicial

O marketplace tem licença MIT e é construído às claras. O design, o índice de funcionalidades e cada decisão estão no repositório.

Está em desenvolvimento inicial, na versão 0.7.0. Planejado: renderizadores para GitHub Copilot, Gemini CLI, Antigravity CLI e Devin.

Experimente, abra uma issue ou envie um pull request.