@relvo/cli
v0.1.21
Published
Relvo CLI for research, SEO, social data and media generation.
Maintainers
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
- Open Relvo setup, choose your agent, and run the setup command shown there.
- Match the code in your browser, select your project and permissions, and approve.
- Restart your agent, then check the connection:
npx --yes @relvo/cli doctorSetup 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_KEYExecution 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-skillManaged 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 offUse 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.jsonA 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 statusFor manual API-key configuration, hosted MCP, media, and other workflows, see Relvo docs.
