Pular para o conteúdo
Documentação: Instalar com o rmk

Instalar com o rmk

Como os itens chegam às suas ferramentas de IA e como mantê-los atualizados.

A documentação que vem no Ronne AI Marketplace 0.3.0, traduzida do inglês.

O que o rmk faz

O rmk é a ferramenta de linha de comando do Ronne AI Marketplace. Ele instala itens deste marketplace em um projeto, ou na sua pasta pessoal, gravando os arquivos próprios de cada ferramenta de IA, e os mantém atualizados. A aba Overview de cada item mostra os comandos dele, com um --target rápido para cada ferramenta em que ele funciona:

rmk install @platform/secure-coding
rmk install @platform/[email protected]

Ele registra o que instalou em um lockfile, para que todo mundo no projeto receba as mesmas versões, e nunca sobrescreve um arquivo ou uma configuração que você mesmo escreveu. Nada que vem de um item roda na hora da instalação: hooks e scripts são gravados, não executados.

rmk --help lista todos os comandos, e --json faz qualquer um deles responder com um único objeto JSON, para scripts e agentes.

Ele também funciona no sentido inverso: rmk export manda para este marketplace, como rascunho, um item que você escreveu na sua ferramenta de IA. Exportar os seus próprios itens.

Obter o rmk

O rmk está no npm como @ronneai/rmk (o nome sem escopo já estava em uso; o comando continua sendo rmk). Ele precisa do Node.js 22.12 ou mais recente:

npm install --global @ronneai/rmk
rmk --version

npm update --global @ronneai/rmk traz um release mais novo. Se antes você o compilou a partir de uma cópia do repositório e criou um link, desfaça esse link primeiro (npm unlink --global @ronneai/rmk), para que o rmk que você roda seja o instalado pelo npm. Quem contribui ainda pode rodá-lo a partir de uma cópia do repositório: depois de pnpm install e pnpm build, ele é node packages/cli/dist/bin.js.

Fazer login

rmk login --registry https://ronne.example

Ele pede o seu e-mail e a sua senha e guarda um token para este registro em ~/.config/rmk/config.json, que só você pode ler. Com um token criado em Access tokens, ou em CI, use rmk login --token rmk_…, ou defina RMK_TOKEN e RMK_REGISTRY. RMK_TOKEN só vai para um registro que você escolheu (RMK_REGISTRY, --registry, o seu padrão ou um em que você fez login), nunca para um registro indicado apenas pelo rmk.config.json ou pelo rmk.lock de um projeto: em vez disso, o rmk para com token_withheld. rmk whoami diz quem você é, em qual registro e por que esse; rmk logout revoga o token.

Você pode estar logado em vários registros ao mesmo tempo. Cada comando usa o primeiro que encontrar:

  1. --registry na linha de comando;
  2. RMK_REGISTRY;
  3. o do projeto: registry em rmk.config.json ou, se não houver, em rmk.lock. O rmk install grava esse valor, então o projeto mantém o seu registro e os colegas de time também o usam;
  4. o seu padrão: o registro em que você fez login por último com --registry.

Para mover um projeto para outro registro, rode rmk install --registry <url>: ele atualiza os dois arquivos.

O token só trafega por https, exceto para localhost.

Instalar

rmk install @platform/code-reviewer          # latest
rmk install @platform/code-reviewer@^1.4.0   # a range
rmk install @platform/code-reviewer@next     # a tag
rmk install                                  # exactly the lockfile
  1. Alvo. Quais ferramentas de IA: --target claude-code, codex, cursor, várias (claude-code,cursor), os targets em rmk.config.json ou as que o projeto parece usar. rmk platforms lista as ferramentas e o que cada uma suporta; um tipo que uma ferramenta não aceita gera um aviso, e o resto segue em frente.
  2. Resolver. O registro escolhe uma versão de cada item, dependências incluídas, como Dependências explica.
  3. Baixar e verificar. O checksum de cada pacote é verificado antes que qualquer coisa seja gravada; uma divergência interrompe a instalação. Uma versão que já está no rmk.lock também precisa ter o checksum registrado lá, pois uma versão lançada nunca muda: se o registro entregar outros bytes para ela, o rmk para (checksum_mismatch). Para aceitá-los mesmo assim, remova o item do rmk.lock (com --scope user, ~/.config/rmk/user.lock).
  4. Gravar. Os arquivos que cada ferramenta lê, depois o lockfile e o arquivo de estado. Versões depreciadas mostram a sua mensagem, e servidores MCP listam as variáveis de ambiente que você ainda precisa definir.

rmk install sem nada depois instala exatamente o que o lockfile contém, para que um colega de time receba os mesmos arquivos. --scope user instala na sua pasta pessoal em vez de no projeto.

Manter os itens atualizados

rmk outdated
rmk update                    # everything, within its ranges
rmk update @platform/code-reviewer
rmk remove @platform/code-reviewer
  • rmk outdated mostra, para cada item que você pediu, a versão fixada no lockfile, a mais nova que a faixa dele permite e a mais nova publicada.
  • rmk update leva os itens para a versão mais nova que as faixas deles permitem e regrava os arquivos deles. Os itens que você não nomear ficam onde estão.
  • rmk remove apaga os arquivos e as configurações de um item, e os de qualquer dependência de que nada mais precise.
  • rmk list mostra o que o projeto pede; rmk list --installed, o que o lockfile contém.

Os arquivos que ele grava

ArquivoO que contémVersionar?
rmk.config.jsonO que você pediu: cada item com a sua faixa ou tag, os alvos e o registro.Sim
rmk.lockO que foi resolvido: uma versão e um checksum por item.Sim
.rmk/state.jsonCada arquivo e configuração que o rmk gravou, com um hash, para que ele possa atualizar ou remover exatamente esses.Sim: o rmk de um colega de time precisa dele para saber o que lhe pertence.
~/.config/rmk/O seu token, e o lockfile e o estado das instalações na pasta pessoal.Não

Os downloads ficam em cache em ~/.cache/rmk/, por checksum.

As suas próprias edições

Todo arquivo que o rmk grava leva um marcador managed by rmk, e toda configuração que ele adiciona é rastreada no arquivo de estado. Antes de mudar ou remover um deles, ele verifica se o arquivo ou a configuração ainda é o que ele gravou.

  • Um arquivo ou configuração que o rmk não gravou nunca é tocado. Se uma instalação precisar do lugar dele, isso é um conflito: o rmk para, lista os conflitos e sai com o código 3.
  • Um que você editou depois que o rmk o gravou também é um conflito, na atualização e na remoção.
  • --force os substitui; caso contrário, tire-os do caminho e rode de novo.
  • Um que você apagou é considerado removido de propósito: o rmk o esquece e só o grava de novo quando você instalar ou atualizar.

Para mandar as suas edições de volta para o item, rode rmk export: uma instalação editada vira uma proposta de mudança para a versão que você instalou.

Tokens e a API

O rmk e o servidor MCP do registro leem o registro pela API dele, com um token de acesso pessoal. Você cria um em Access tokens, na sua conta, ou o rmk login cria um para você. Um token age como você: ele pode ler tudo o que está publicado, buscar e baixar itens, e pode criar rascunhos em seu nome. Ele não consegue fazer login neste site, e você pode revogá-lo a qualquer momento.

curl -H 'Authorization: Bearer rmk_…' \
  https://ronne.example/api/v1/items?q=security

Cada download de um item, como o que o rmk install faz, conta como uma instalação. Todo card no catálogo e na página inicial mostra a contagem, a página inicial ordena Most used por ela, e o Sort do catálogo pode colocar os mais instalados primeiro. Nada sobre quem instalou é guardado.

Um rascunho criado com um token (POST /api/v1/drafts, com os arquivos dele) é como um que você começa aqui: só você o vê, em Submissions, e nada chega a um revisor até que você o envie para revisão. Um token pode criar rascunhos enquanto você tiver menos de 50 (envie para revisão ou apague alguns para abrir espaço) e atualizar os seus próprios rascunhos (PUT /api/v1/drafts/…), com no máximo 30 envios em 10 minutos. Ele também pode enviar os seus rascunhos para revisão (rmk submit), que os revisores então veem. Cada envio de arquivos e cada envio para revisão é gravado no log de auditoria com o nome do token e o nome do rascunho, que o root pode ler; os arquivos não.

O servidor MCP do registro, rmk-mcp, usa o token que o rmk login salvou, ou RMK_TOKEN: ele pode fazer o que o token pode e nunca o mostra.

As suas ferramentas de IA

O rmk grava para uma ferramenta de IA ou para várias. Cada ferramenta tem a sua própria página: onde cada tipo de item vai e o que saber antes que a ferramenta o use.

FerramentaAlvoDetectada quando o projeto tem
Claude Codeclaude-code.claude/ ou CLAUDE.md
Codexcodex.codex/
Cursorcursor.cursor/

Com uma ferramenta detectada, o rmk usa essa; com várias, ele pergunta, ou você diz qual com --target. --target claude-code,codex grava para as duas, e um arquivo que duas ferramentas leem é gravado uma vez e registrado para ambas. rmk platforms lista todas as ferramentas e o que cada uma suporta.

Antes de você instalar, a página de um item diz, na aba Works in, para quais dessas ferramentas ele vai, e onde: com suporte, em parte, desativado pelo próprio ronne.yaml do item, ou ignorado. Os Filters do catálogo (Works in) listam os itens que uma ferramenta aceita, assim como rmk search <query> --target codex, e rmk info mostra o nível de cada ferramenta para uma versão.

De dentro da sua ferramenta de IA

Você também pode pedir à sua ferramenta de IA que busque e instale itens, pelo servidor MCP do registro, rmk-mcp: ele primeiro mostra um plano e depois grava exatamente esse plano, como o rmk faria. Do mesmo jeito, ele pode exportar como rascunho um item que você escreveu. Servidor MCP do registro explica como configurá-lo e o que ele pode fazer.

Como plugins

O Claude Code também pode instalar os itens deste marketplace por conta própria, como plugins, a partir do /plugin. Dois comandos configuram isso:

  • rmk plugin-setup claude-code adiciona este marketplace às configurações do Claude Code (--scope project para as do projeto, --remove para tirá-lo). Como toda configuração que o rmk grava, ele nunca substitui uma entrada que você criou ou editou.
  • rmk auth headers imprime o seu token como um cabeçalho Authorization, e nada mais. O Claude Code o roda para ler o marketplace; você não precisa rodá-lo.

Para o Codex e o Cursor, que só adicionam marketplaces a partir de repositórios git, rmk feed build --out <folder> grava os plugins deste marketplace como um repositório para você fazer commit e push, e --print-workflow github ou gitlab imprime um arquivo de CI que o mantém atualizado.

Marketplaces de plugins explica isso e quando usar plugins em vez de rmk install.

Relatório de uso

Quando a instância coleta dados de uso, o rmk manda para ela contagens diárias de instalações, remoções e execuções dos itens que instalou, e avisa isso na primeira vez. rmk telemetry status mostra a política de cada instância, e rmk telemetry off desliga o envio onde as pessoas podem escolher. Dados de uso diz exatamente o que é transmitido.