npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

rivale

v0.1.5

Published

Rivale agente autonomo modular em Node.js com memoria, ferramentas e multiplos provedores de LLM.

Readme

⚔️ Rivale

Agente autônomo de código no terminal — o desafiante open source do seu editor.

Multi-agente · memória de longo prazo · MCP (local e remoto) · ferramentas de código de verdade · segurança em primeiro lugar.


O que é

Rivale é um agente de programação que vive no seu terminal (e no VS Code). Ele lê, escreve e refatora código, roda comandos, pesquisa na web, dirige um browser, versiona com git e coordena vários subagentes especializados — tudo com controle de custo, aprovação humana e proteções de segurança embutidas.

Funciona com múltiplos provedores de LLM: Groq, OpenAI, Gemini e DeepSeek.

Destaques

  • 🧠 Multi-agente real — modo Coordenador que delega para subagentes especializados (coder, security, tester, reviewer, researcher), execução em paralelo e swarm debate pra decisões difíceis.
  • 🔌 MCP local e remoto — conecta qualquer servidor Model Context Protocol via stdio (npx/uvx/python) ou HTTP streamable / SSE (endpoints remotos com auth por header).
  • 🗂️ Ferramentas de código sérias — ler/editar/criar arquivos, grep/glob, busca por AST, integração LSP, git nativo (status/diff/log/commit), tarefas em background, run_command, browser (Playwright), SQLite e mais.
  • 🧵 Memória de verdade — janela de contexto por tokens com auto-compactação, indexação do codebase e busca semântica de código.
  • 💸 Teto de custo por run — corta o loop antes de queimar dinheiro (AGENT_MAX_USD_PER_RUN).
  • 🔒 Segurança em primeiro lugar — cofre de chaves criptografado, guard de comandos, modo plan, hooks PreToolUse, proteção contra SSRF e auto-proteção do próprio código.
  • ⌨️ UX de terminal moderna — streaming, menção de arquivos com @, telas de /config, /mcp, /compact, atalhos configuráveis.
  • 🧩 Extensão para VS Code — chat no editor, aprovação in-chat, drag-and-drop de arquivos, timeline de atividade.

Instalação

npm install -g rivale

Requer Node.js ≥ 18. (Git é necessário para as ferramentas de versionamento.)

Começando

rivale                        # abre o chat interativo
rivale "crie um scraper em python para a home do HN"   # modo one-shot
rivale --stream "explique este repositório"

Dentro do chat:

| Comando | O quê | |---|---| | @arquivo | menciona um arquivo/pasta pro contexto | | /config | provider, modelo, API key (vai pro cofre criptografado) | | /mcp | conecta/gerencia servidores MCP | | /compact | resume a conversa pra liberar contexto | | /help | lista tudo |

Chaves de API (cofre criptografado 🔒)

Suas chaves ficam cifradas em ~/.rivale/secrets.json (AES-256-GCM) — nunca em texto puro.

rivale keys set GROQ_API_KEY        # digita escondido (não vaza no histórico do shell)
rivale keys list                    # mostra mascarado
rivale keys import-env              # migra chaves do seu .env atual pro cofre

Você também pode usar variáveis de ambiente ou ~/.rivale/.env (as chaves reais do ambiente sempre têm prioridade):

GROQ_API_KEY=...
OPENAI_API_KEY=...
GEMINI_API_KEY=...
DEEPSEEK_API_KEY=...

MCP (Model Context Protocol)

Declare servidores em .rivale/mcp.json — stdio (local) ou remoto (URL):

{
  "mcpServers": {
    "playwright": { "command": "npx", "args": ["-y", "@playwright/mcp@latest"] },
    "context7":   { "command": "npx", "args": ["-y", "@upstash/context7-mcp"] },
    "remoto": {
      "url": "https://seu-endpoint.exemplo.com/mcp",
      "type": "http",
      "headers": { "Authorization": "Bearer SEU_TOKEN" }
    }
  }
}

Controle de custo

AGENT_MAX_USD_PER_RUN=0.50      # aborta a run ao atingir US$ 0,50 (0 = ilimitado)
AGENT_MAX_TOKENS_PER_RUN=200000 # teto por tokens

Segurança

  • Cofre de chaves criptografado (AES-256-GCM), fora do .env.
  • Guard de comandos — bloqueia egress de rede suspeito, escalada de privilégio e execução dinâmica, mesmo com aprovação desligada.
  • Modo Plan — bloqueia escrita/comandos perigosos até você aprovar o plano.
  • Hooks PreToolUse — intercepte/valide qualquer chamada de ferramenta.
  • SSRF guard — nega requisições a IPs privados/metadata de cloud.
  • Aprovação humana por ferramenta, com níveis configuráveis.

Requisitos

  • Node.js ≥ 18
  • Git (para as ferramentas de versionamento)
  • Chave de API de pelo menos um provedor

© 2026 Rivale — Todos os direitos reservados. Software proprietário distribuído apenas na forma compilada. Veja LICENSE.