runpoint-cli
v0.3.11
Published
Runpoint CLI for project credentials management
Downloads
33
Maintainers
Readme
Runpoint CLI (rp)
Command-line tool for linking your local project directories to Runpoint. Handles authentication, Linear integration credentials, and Claude Code skills distribution.
Version: 0.3.7 | Requires: Node.js 18+ | Published: npm
Install
curl -fsSL https://os.runpoint.ai/install.sh | bashThis runs npm install -g runpoint-cli, which puts the rp binary on your PATH. Nothing else is installed. If npm requires elevated permissions on your system, it will retry with sudo.
To update later:
rp updateQuick Start
# 1. Authenticate (opens browser for Google SSO)
rp login
# 2. Navigate to your project directory
cd /path/to/your/project
# 3. Link it to a Runpoint project
rp link
# 4. You're set - Claude Code skills like /linear are now availableWhat Does It Actually Do?
The CLI does three things:
1. Authenticates you with Runpoint
rp login opens your browser to os.runpoint.ai, you sign in with Google, and the CLI stores a session token locally. That's it.
2. Links your project directory
rp link lets you pick which Runpoint project this directory belongs to. It then:
- Creates a
.runpointfile (project ID and name) - Creates a
.env.runpointfile (Linear API key, project ID, workspace slug) - Adds both to
.gitignoreso they're never committed
3. Syncs Claude Code skills
The CLI downloads skill files (markdown templates for Claude Code slash commands like /linear) and writes them to ~/.claude/commands/. It tracks versions so it only downloads what's changed.
That's the full scope. No background processes, no daemons, no system modifications beyond the files listed below.
Commands Reference
Authentication
| Command | What it does |
|---------|-------------|
| rp login | Opens browser for Google SSO. Stores token at ~/.config/rp/credentials. |
| rp logout | Deletes the credentials file. |
Project Management
| Command | What it does |
|---------|-------------|
| rp link | Interactive prompt to select a Runpoint project. Creates .runpoint and .env.runpoint in the current directory. Syncs skills. |
| rp unlink | Removes .runpoint and .env.runpoint from the current directory. |
| rp link-github [repo] | Associates the linked project with a GitHub repo (format: owner/repo). Auto-detects from git remote if not specified. |
| rp status | Shows linked project info, Linear configuration, and installed skill versions. |
Skills
| Command | What it does |
|---------|-------------|
| rp skills | Force re-downloads all Claude Code skills to ~/.claude/commands/. |
| rp skills --list | Lists installed skills and their version numbers. |
Updates
| Command | What it does |
|---------|-------------|
| rp update | Checks for a newer version and installs it via the install script. |
| rp update --force | Re-installs even if already on the latest version. |
Integrations
| Command | What it does |
|---------|-------------|
| rp jira setup | Checks if acli (Atlassian CLI) is installed and helps configure it. |
| rp jira status | Shows Jira integration status for the linked project. |
| rp granola setup | Configures Granola meeting transcript sync (folder mappings, optional daemon). |
| rp granola sync | Manually syncs transcripts from mapped Granola folders. |
| rp granola folders | Lists Granola folders and their mapping status. |
| rp granola status | Shows sync status and daemon health. |
| rp granola uninstall | Removes the background sync daemon. |
Files Created on Your Machine
Here's every file the CLI creates or modifies, and why:
User-level files (in your home directory)
| File | Purpose | Permissions |
|------|---------|-------------|
| ~/.config/rp/credentials | Session token + email from rp login | 600 (owner read/write only) |
| ~/.config/rp/skills-version.json | Tracks which skill versions are installed locally | Default |
| ~/.claude/commands/*.md | Claude Code skill files (e.g., linear.md) | Default |
| ~/.runpoint/.update-check | Cached update check result (avoids hitting the API every run) | Default |
Project-level files (in the directory where you run rp link)
| File | Purpose | Git? |
|------|---------|------|
| .runpoint | Project ID and name (JSON) | Added to .gitignore |
| .env.runpoint | Linear API key, project ID, workspace slug | Added to .gitignore |
The CLI also appends two lines to your .gitignore if they're not already there:
.env.runpoint
.runpointNothing else
- No launch agents or background services (unless you explicitly run
rp granola setupand choose to install the daemon) - No modifications to your shell profile (
.zshrc,.bashrc, etc.) beyond whatnpm install -gdoes - No telemetry or analytics
- No access to your code, git history, or any files outside the ones listed above
Network Requests
The CLI communicates with one server: os.runpoint.ai (the Runpoint OS backend).
| When | Endpoint | What's sent |
|------|----------|------------|
| rp login | os.runpoint.ai/cli/auth | Opens browser. Callback receives session token. |
| rp link | /api/cli/projects | Fetches your project list (authenticated). |
| rp link | /api/cli/link | Creates the project link (authenticated). |
| rp link | /api/cli/linear-config | Fetches Linear credentials for the project (authenticated). |
| rp link | /api/cli/skills | Downloads Claude Code skill files (authenticated). |
| rp skills | /api/cli/skills | Downloads Claude Code skill files (authenticated). |
| rp update | /api/cli/version | Checks latest CLI version (no auth required). |
| rp status | /api/cli/projects/[id] | Fetches project details (authenticated). |
| rp granola sync | /api/cli/transcripts | Uploads transcript content (authenticated). |
The update check is throttled to once every 4 hours and cached locally.
All authenticated requests use a Bearer token in the Authorization header. The token is the one stored in ~/.config/rp/credentials from rp login.
How Authentication Works
- You run
rp login - The CLI starts a temporary HTTP server on localhost (random available port)
- It opens
https://os.runpoint.ai/cli/auth?callback_url=http://localhost:<port>&state=<csrf>in your browser - You sign in with Google SSO on the Runpoint website
- The website redirects back to
http://localhost:<port>with your session token - The CLI saves the token to
~/.config/rp/credentials(file permissions:600) - The temporary server shuts down
The token is used for all subsequent API calls. Run rp logout to delete it.
How Skills Work
"Skills" are Claude Code slash commands (like /linear) that Runpoint distributes through the CLI. They're just markdown files.
When you run rp link or rp skills:
- CLI fetches the skill list from
/api/cli/skills(name, version, content for each) - Compares versions against
~/.config/rp/skills-version.json - Writes new/updated skills to
~/.claude/commands/<name>.md - Updates the version tracking file
Skills are plain text markdown files. You can read them at any time:
ls ~/.claude/commands/
cat ~/.claude/commands/linear.mdWhat .env.runpoint Contains
After rp link, this file holds your Linear integration credentials:
# Runpoint CLI - Linear Integration
# Project: My Project
# Account: ACME Corp
LINEAR_API_KEY=lin_api_xxxxx
LINEAR_PROJECT_ID=abc123
LINEAR_WORKSPACE_SLUG=acme
LINEAR_PROJECT_NAME=My Project
LINEAR_USER_ID=user123Claude Code skills (like /linear) read this file to authenticate with your Linear workspace. The file is gitignored and never leaves your machine.
Uninstalling
Remove the CLI and all files it created:
# Remove the npm package
npm uninstall -g runpoint-cli
# Remove user-level config
rm -rf ~/.config/rp
# Remove update cache
rm -rf ~/.runpoint
# Remove project-level files (run in each linked project)
rm -f .runpoint .env.runpoint
# Skills (optional - only if you want to remove Claude Code skills too)
# rm ~/.claude/commands/linear.md # etc.Troubleshooting
rp: command not found after install
Your npm global bin directory isn't on your PATH. Find it with npm config get prefix and add <prefix>/bin to your PATH.
rp login browser doesn't open
Copy the URL from the terminal and open it manually.
rp link shows no projects
You need to be assigned to at least one project in Runpoint. Ask your team lead to add you.
Not authenticated errors
Run rp login again. Sessions can expire.
Permission denied on install
Try sudo npm install -g runpoint-cli, or configure npm to use a local directory: npm docs.
Source Code
The CLI source lives at packages/cli/ in the runpoint-OS monorepo.
| File | Purpose |
|------|---------|
| src/index.ts | Entry point, command definitions |
| src/api.ts | HTTP client for Runpoint API |
| src/config.ts | Credential storage (~/.config/rp/credentials) |
| src/skills.ts | Claude Code skills sync logic |
| src/updater.ts | Version checking and self-update |
| src/git.ts | Git repo detection (reads .git/config, no subprocess calls) |
| src/env.ts | Environment variable loading |
| src/commands/login.ts | OAuth browser flow |
| src/commands/link.ts | Project linking + credential setup |
| src/commands/status.ts | Status display |
| src/commands/skills.ts | Skills sync command |
| src/commands/granola.ts | Granola transcript sync |
| src/commands/jira.ts | Jira integration |
Built with Commander (argument parsing), chalk (colors), ora (spinners), and @inquirer/prompts (interactive prompts).
License
Proprietary - Runpoint Partners. All rights reserved.
