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

@relvo/cli

v0.1.21

Published

Relvo CLI for research, SEO, social data and media generation.

Readme

Relvo CLI

Use Relvo tools from your terminal, Claude Code, or Codex. Requires Node.js 22+. Automatic agent setup supports macOS and Linux.

Connect

  1. Open Relvo setup, choose your agent, and run the setup command shown there.
  2. Match the code in your browser, select your project and permissions, and approve.
  3. Restart your agent, then check the connection:
npx --yes @relvo/cli doctor

Setup saves your login privately in ~/.config/relvo/profile.json and registers the bundled MCP server. You do not need to install @relvo/mcp separately. If setup is interrupted, run the same setup command again to resume. doctor checks your saved login and registered MCP server without paid tool calls.

Search and get a quote

npx --yes @relvo/cli tools --query "web search" --limit 1 --with-schemas
npx --yes @relvo/cli quote web_search '{"query":"content marketing"}'

Tool schemas and availability come from the API. Inspect the current schema before supplying arguments. Quotes are free; searches count toward your team's monthly free calls and are charged after that allowance.

Run approved work

npx --yes @relvo/cli run web_search '{"query":"content marketing"}' \
  --idempotency-key YOUR_SAVED_UNIQUE_KEY

Execution can spend your project balance. Add --maximum-charge-micros for an explicit ceiling (1 USD = 1,000,000 micros). External provider charges are separate. Save a unique key before each new purchase. If a reply is lost, retry the same arguments and key, or use resume <runId>; do not create a replacement purchase. Use - or --input-file <path> in place of the JSON for longer arguments.

Team skill folders

In Customize → Skills, open Use in your environment to copy the command for your project and agent.

npx --yes @relvo/cli team-skills sync --client all --project YOUR_PROJECT_ID
npx --yes @relvo/cli team-skills push ./report-skill

Managed local MCP checks for current-project changes when a tool replies, at most once every 60 seconds and without delaying the reply; an idle session sends no checks. After detection, a later successful reply asks before importing; no files are installed by detection. Use platform_project_sync to review all pages and approve the returned snapshot. An import rechecks the project, versions and target folders; a changed snapshot needs fresh approval. Executable settings need separate allowScripts consent. To remove a previous execution opt-in instead, separately approve removeExecutableSettings (CLI: --remove-executable-settings); do not combine it with allowScripts. The CLI offers the same review path:

npx --yes @relvo/cli team-skills check --client claude
npx --yes @relvo/cli team-skills apply SNAPSHOT_FROM_CHECK --yes --client claude
npx --yes @relvo/cli team-skills auto-sync status
npx --yes @relvo/cli team-skills auto-sync off

Use the same client selection for check and apply. auto-sync on enables notification checks; RELVO_PROJECT_AUTO_SYNC=0 disables them for that process. Checks run only while managed local MCP is open; there is no idle popup or OS background service. Private per-client receipts live at ~/.config/relvo/project-sync.json. Restart/reload the agent after importing. On project selection, old managed files leave the loading paths immediately and edited files are archived at ~/.config/relvo/project-archives/; target files still need approval.

A skill contains SKILL.md and its relative reference files, images and scripts. By default, sync writes the complete folder into Claude Code's ~/.claude/skills/ and into ~/.agents/skills/, which Codex and every other agent below read. Locally edited files are preserved, and a teammate's script is written without its executable bit, and their skill without its hooks, allowed-tools, allowedTools and mcpServers and its mcp.json, unless you pass --allow-scripts. Push shares the whole folder with your team using your existing permissions, refuses credential files and lists what it sent. The console also imports folders, ZIP files and Markdown, and exports ZIP files.

The same sync writes the rest of your team's harness: agents to ~/.claude/agents/ and ~/.codex/agents/, rules to ~/.claude/rules/ and a marked block of ~/.codex/AGENTS.md (the rest of the file is left as it is), shared folders to ~/.config/relvo/team/, and permission rules beside yours in ~/.claude/settings.json (Bash rules also to ~/.codex/rules/relvo-team.rules). The team's hooks, MCP servers and allow rules are installed only when you pass --allow-scripts: hooks beside your own in ~/.claude/settings.json and ~/.codex/hooks.json (Codex runs each new or changed hook only after you trust it in /hooks), and MCP servers through claude mcp add-json --scope user and codex mcp add. Push an agent or rule file with team-skills push <file>; only team admins write hooks, MCP servers and permissions. Everything the team stores shares one 100 MB limit.

Put agent-specific settings in frontmatter maps named after the agent, such as codex: or opencode:. Sync writes only that agent's supported settings after checking their types; Claude Code's model and tool settings are not copied into another agent's file.

The same sync writes for Pi, deepseek-harness (dsh), OpenCode, Gemini CLI, Kimi Code, Qwen Code, Cursor, GitHub Copilot CLI, Amp and Factory Droid, each in its own folders and format: --client all (the default) covers every one whose folder exists on this machine, and --client pi,gemini names them. An agent that has no file for a kind (Pi has no subagents, Cursor keeps rules in its settings) is reported under notSupported with the reason. Run relvo team-skills --help for each agent's paths.

An item your team wrote for some agents only is written only for them: a skill to each one's own skill folder (Codex has none and reads ~/.agents/skills), and a rule for deepseek-harness, Kimi Code or Droid to its own AGENTS.md instead of the shared ~/.agents/AGENTS.md. To add an agent of your own that reads like a listed one from its own folder, list it in ~/.config/relvo/harnesses.json:

{ "harnesses": [{ "name": "my-agent", "like": "claude", "dir": "~/.my-agent" }] }

The folder must be inside your home and used by no other agent; --client all includes it. Pi, OpenCode and Amp run hooks only as code: a team hook's files under native/pi/, native/opencode/ or native/amp/ are installed (with --allow-scripts) as that agent's plugin folder. A hook with no native files for that agent is listed in hooksWithoutPlugin. A rule's @path references are written as @path for the agents that would put the named file into the model's context, and pushing Claude Code's copy sends them back as @.

Custom tools

npx --yes @relvo/cli custom-tools create weekly_sum --input-file tool.json

A definition is read only from a file or standard input, because a custom endpoint's definition can hold credentials. Run npx --yes @relvo/cli help custom-tools for every command.

More commands

npx --yes @relvo/cli help all
npx --yes @relvo/cli skills update
npx --yes @relvo/cli update status

For manual API-key configuration, hosted MCP, media, and other workflows, see Relvo docs.