Skip to Content
runelay

CLI

The runelay CLI brings the context on your computer to your server.

The runelay CLI runs on your computer, because that is where your agents keep their files. Install it, log in through the browser, done: no env vars, no keys to copy.

Install

curl -fsSL runelay.com/cli | sh

The installer puts the binary in ~/.runelay/bin and adds it to your shell PATH. Change the folder with RUNELAY_INSTALL_DIR and pin a release with RUNELAY_VERSION=v0.2.0.

Commands

CommandWhat it does
runelay migrateBrings everything from your agents at once, with accounts already connected. --yes skips the confirmation, --replace leaves only runelay in the agents.
runelay login [url]Logs in to the server through the browser and saves this computer's key.
runelay statusShows the server, the organization and what is stored in it.
runelay openOpens the web dashboard in the browser.
runelay pushSends memories, skills and global instructions from every installed agent.
runelay pullWrites the brief into CLAUDE.md and AGENTS.md and new skills into ~/.claude/skills.
runelay syncpush, then pull.
runelay connectRegisters the runelay MCP in Claude Code, Codex, Cursor and Grok.
runelay importTurns the MCP servers configured in your agents into connections.
runelay logoutRevokes this computer's key and clears the config.
runelay helpShows the help.
runelay --versionPrints the CLI version.

See Quickstart for what migrate does in detail.

Login

runelay login looks for PUBLIC_URL in ~/runelay/.env (what the installer writes), then for http://localhost:4312, and asks before using what it found. You can also pass the address:

runelay login https://runelay.example.com

The browser shows a code: check it matches the terminal and approve. The key shows up in the panel as CLI <device> and is saved in ~/.config/runelay/config.json (mode 600, XDG_CONFIG_HOME respected).

runelay open uses the same server: RUNELAY_URL if set, then the saved config, then http://localhost:4312. If it cannot open a browser, it prints the URL.

Push

runelay push reads:

AgentSkillsMemory and instructions
Claude Code~/.claude/skills~/.claude/projects/*/memory, ~/.claude/CLAUDE.md
Agents (universal)~/.agents/skills
Codex~/.codex/skills~/.codex/memories, ~/.codex/AGENTS.md
Cursor~/.cursor/skills, ~/.cursor/skills-cursor
Grok~/.grok/skills~/.grok/AGENTS.md
Gemini~/.gemini/skills~/.gemini/GEMINI.md
OpenCode~/.config/opencode/skills~/.config/opencode/AGENTS.md

Duplicates are merged (first one wins). Memories listed under ## Regras de ouro in a MEMORY.md, and global instruction files, come in pinned.

Pull

runelay pull only touches the block between <!-- runelay:start --> and <!-- runelay:end -->. Everything else in your files stays as it is. The brief tells agents to save new facts with write_memory, so memory flows back to runelay instead of local files.

Enabled skills you do not have in any agent folder are written to ~/.claude/skills/<slug>/ with a .runelay marker. Later pulls update only marked folders and push skips them. A folder without the marker is yours and is never overwritten.

CI and env vars

RUNELAY_URL and RUNELAY_API_KEY override the saved config, so a pipeline can run runelay push with a key created in the panel.

Inside a clone of the repo, bun run import-context, sync-context, install-clients and import still work and map to push, pull, connect and import.

On this page