@lymo/cli
v0.0.11
Published
Lymo command-line interface — review sales calls, coach reps, power agents over MCP.
Downloads
39
Readme
@lymo/cli
The lymo command-line interface for sales-call review, coaching, and agent-native workflows.
Two surfaces in one binary:
- Deterministic commands —
lymo summary latest,lymo calls,lymo search "budget", etc. - MCP server —
lymo mcp serveexposes the same data to Claude Desktop, Claude Code, Cursor, Codex, Gemini CLI, Windsurf, and OpenCode.
Install
One-liner (macOS / Linux)
curl -fsSL https://cdn.lymo.jp/install.sh | shOne-liner (Windows)
irm https://cdn.lymo.jp/install.ps1 | iexBoth scripts:
- Detect your OS and architecture.
- Resolve the latest production release from
https://cdn.lymo.jp/manifest/latest.json. - Download the matching archive (
.tar.gzon Unix,.zipon Windows) and verify its SHA-256 checksum. - Install
lymointo a sensible default —~/.local/binon Unix,%LOCALAPPDATA%\Programs\lymoon Windows. Override withLYMO_INSTALL_DIR. - Configure
PATH(Windows: appended to userHKCU:\Environment\Path, broadcastWM_SETTINGCHANGEso existing shells refresh; Unix: print a hint, leave the rc edit tolymo shell install).
Windows on ARM64 (Surface Pro X, Copilot+ PCs) is not yet a native target; the installer falls back to the x64 binary, which Windows 11 runs under built-in x64 emulation. Native ARM64 support is on the roadmap.
Pin to a specific release:
# Unix
curl -fsSL https://cdn.lymo.jp/install.sh | LYMO_VERSION=cli-v0.0.1 sh
# Windows
$env:LYMO_VERSION = 'cli-v0.0.1'; irm https://cdn.lymo.jp/install.ps1 | iexPoint at a different CDN (self-hosted mirror or staging channel):
# Unix
curl -fsSL https://cdn.lymo.jp/install.sh | LYMO_CDN=https://your-mirror.example.com LYMO_VERSION=cli-staging-20260427120000-abc1234 sh
# Windows
$env:LYMO_CDN = 'https://your-mirror.example.com'
$env:LYMO_VERSION = 'cli-staging-20260427120000-abc1234'
irm $env:LYMO_CDN/install.ps1 | iexSkip the auto-PATH append on Windows with $env:LYMO_NO_PATH = '1' before invoking the installer.
Manual
Binaries are published to the public Supabase Storage bucket cli-releases and served via cdn.lymo.jp. To download a specific archive yourself:
# Latest production (macOS arm64)
curl -fsSLO https://cdn.lymo.jp/versions/$(curl -fsSL https://cdn.lymo.jp/manifest/latest.json | grep -o '"version":"[^"]*"' | cut -d'"' -f4)/lymo-darwin-arm64.tar.gz
# Or pin to a tag
curl -fsSLO https://cdn.lymo.jp/versions/cli-v0.0.1/lymo-darwin-arm64.tar.gz
# Windows x64
curl -fsSLO https://cdn.lymo.jp/versions/cli-v0.0.1/lymo-windows-x64.zipExtract with tar -xzf (Unix) or Expand-Archive (Windows) and put lymo (or lymo.exe) on your PATH. SHA-256 checksums are published alongside each archive (same URL + .sha256). GitHub releases still exist for changelog/history but do not carry binary attachments.
Quickstart
lymo setup # guided: sign in, choose role, run doctor
lymo calls # list recent calls
lymo summary latest # briefing for the most recent call
lymo search "budget" # cross-video; add --call or --deal to filter
lymo mcp install --all # expose the CLI to every installed agent clientThen, in your MCP client (Claude Desktop, Cursor, etc.), ask:
"Use the Lymo MCP to summarize my latest call."
Commands
Canonical form is flat, verb-first. See lymo --help for the full surface; below is a snapshot.
Identity
| Command | Purpose |
|---|---|
| lymo login | Browser-OAuth sign-in via localhost callback. |
| lymo logout | Clear the active profile. |
| lymo whoami | Show authenticated user + active org. |
| lymo doctor | Health checks: config, auth, API, MCP clients. |
| lymo setup | Guided onboarding wizard. |
Discovery
| Command | Purpose |
|---|---|
| lymo calls [--limit N] | Recent calls in the org (newest first, max 100). |
| lymo deals [--limit N] | Recent deals. |
Call analysis
| Command | Purpose |
|---|---|
| lymo summary <call-selector> | Summary sections for a call. |
| lymo transcript <call-selector> [--from MM:SS] [--to MM:SS] | Transcript, optionally windowed. |
| lymo checklist <call-selector> | Qualification checklist. |
| lymo events <call-selector> [--type <substring>] | Sales events. |
| lymo export <call-selector> --sections summary,transcript,... [--format md\|json] [--output path] | Bundled export. |
| lymo search <query> [--call <selector>] [--deal <selector>] | Transcript search. No filter searches the whole org; --call and --deal AND together. |
MCP
| Command | Purpose |
|---|---|
| lymo mcp serve | Run the stdio MCP server (started by your client). |
| lymo mcp install [--client <id> \| --all] | Register the server with one or every detected client. |
| lymo mcp uninstall [--client <id> \| --all] | Remove the server from client configs. |
| lymo mcp status | Show which clients have Lymo installed. |
Supported clients: claude-desktop, claude-code, codex, cursor, gemini-cli, windsurf, opencode.
Shell integration
lymo setup configures shell integration as part of onboarding. To manage it manually:
lymo shell install # detects $SHELL; install for a specific shell with --shell zsh|bash|fish
lymo shell status # show what's currently configured
lymo shell uninstall # remove the managed block + completion fileNative completion paths:
| Shell | Completion file | Activation |
|---|---|---|
| zsh | ~/.zsh/completions/_lymo | fpath + compinit block in ~/.zshrc |
| fish | ~/.config/fish/completions/lymo.fish | autoloaded by fish — no rc edits |
| bash | ~/.local/share/bash-completion/completions/lymo | [ -f X ] && source X in ~/.bash_profile (macOS) or ~/.bashrc (Linux) |
lymo shell install also adds the install dir (~/.local/bin by default, override with LYMO_INSTALL_DIR) to $PATH if it isn't already there. Pass --no-path or --no-completion to opt out.
To pipe the completion script directly without managing files (the gh / kubectl pattern):
eval "$(lymo completion zsh)" # or bash, or fishOutput formats
Every command supports three renderings of the same canonical envelope:
lymo summary latest # human (default)
lymo summary latest --json # machine-readable envelope
lymo summary latest --md # markdown for agent contextJSON envelope shape:
{
"ok": true,
"scope": { "organizationId": "...", "entityType": "call", "entityId": "..." },
"summary": "Summary for ...",
"data": { /* command-specific payload */ },
"meta": { "generatedAt": "2026-04-16T15:11:24+09:00", "version": "v1", "format": "json" }
}Selectors
Commands that take a <call-selector> accept:
- UUID — exact match against
videoId. latest— the most recent completed call in the org.
Exit codes
| Code | Meaning |
|---|---|
| 0 | OK |
| 1 | Generic failure (API error, unexpected bug) |
| 2 | Selector / argument validation |
| 4 | Not authenticated |
| 5 | API connectivity |
| 6 | Confirmation required but absent |
| 64 | Command not yet implemented |
Troubleshooting
lymo doctorfails on auth — runlymo loginagain. Tokens rotate automatically when a refresh token is present; if refresh fails you'll see an explicit message.- Browser didn't open — pass
--no-browsertolymo loginorlymo setupand copy the printed URL. - MCP client doesn't pick up Lymo — restart the client after
lymo mcp install. Checklymo mcp statusto confirm the config path and binary path are correct. - Config location —
$LYMO_CONFIG_DIRoverrides~/.config/lymo/. The config file is written with0600perms.
License & source
Source: github.com/lymo-inc/lymo.
