CLI Tool
restume-cli is a beautiful terminal client for managing your RESTume profile.
Authenticate, CRUD your skills and experience, import resumes, ask AI questions, and pipe JSON output to other tools.
Why a CLI?
The CLI gives you full access to the RESTume API from your terminal. It handles authentication, formats output as Rich tables or JSON/YAML for piping, stores credentials securely in your system keyring, and provides interactive prompts for complex operations like resume import.
Full CRUD
Profile, skills, experience, education, projects, API keys — all manageable from the command line.
Pipe-friendly
UX output goes to stderr, data goes to stdout. Pipe --json output to jq seamlessly.
Secure Auth
System keyring storage (macOS Keychain, Windows Credential Locker, Linux Secret Service).
Installation
Install from GitHub
Install directly from the repository with pip or pipx.
From source (development)
$ cd RESTume/cli
$ pip install -e ".[dev]"
Quick Start
Authentication
The CLI supports three authentication methods. Credentials are stored securely in your system keyring.
Interactive login (recommended)
Prompts for username and password, obtains a JWT, then auto-generates an API key for subsequent requests.
Direct token (scripting)
Pass an existing API key directly. Useful for CI/CD or automation scripts.
Environment variable (CI/CD)
Set RESTUME_API_KEY to bypass keyring entirely. Perfect for GitHub Actions and containers.
$ restume-cli skills list
Command Reference
20+ commandsTop-level Commands
These are available directly as restume-cli <command>.
| Command | Description |
|---|---|
login | Authenticate with a RESTume server (interactive or --with-token) |
logout | Clear stored credentials from keyring |
whoami | Show current authentication status and user info |
status | Check server health and connectivity |
ask | Ask AI questions about any developer's profile |
import | Import a resume from PDF, DOCX, or JSON Resume file |
Profile
| Command | Description |
|---|---|
profile show | View your profile (or --username for a public profile) |
profile update | Update profile fields (--full-name, --bio, etc.) |
profile export | Export resume as JSON or YAML (--output to save to file) |
Skills / Experience / Education / Projects
Each resource supports the same four subcommands:
| Subcommand | Description |
|---|---|
list | List all items (supports --json, --format yaml) |
add | Add a new item with interactive prompts or flags |
update | Update an existing item by ID |
remove | Remove an item by ID (--yes to skip confirmation) |
API Keys & Config
| Command | Description |
|---|---|
api-keys list | List active API keys |
api-keys create | Create a new API key (--name) |
api-keys revoke | Revoke an API key (--yes to skip confirmation) |
config show | Show current configuration |
config set | Set a configuration value |
config get | Get a single configuration value |
config path | Show config file location |
Output Formats
Every list and show command supports three output modes. UX messages (spinners, success/error indicators) go to stderr so they never interfere with piped data.
Table (default)
Beautiful Rich tables for human consumption.
JSON (pipeable)
Machine-readable output for scripting and jq.
YAML
Human-readable structured output.
Configuration
The CLI uses a three-layer config priority: environment variables > config file > defaults.
Config file
Stored in TOML format at the platform-appropriate config directory.
~/.config/restume-cli/config.toml
$ restume-cli config set base_url https://restume.com
✔ base_url = https://restume.com
$ restume-cli config set output_format json
Environment variables
| Variable | Description |
|---|---|
RESTUME_CLI_BASE_URL | Server URL (overrides config file) |
RESTUME_CLI_OUTPUT_FORMAT | Default output format (table, json, yaml) |
RESTUME_API_KEY | API key for CI/CD (bypasses keyring) |
Examples
Full workflow: register, populate, and export
Resume import with preview
CI/CD integration (GitHub Actions)
Built With
Typer
CLI framework
Rich
Terminal formatting
httpx
HTTP client
keyring
Secure auth
See also: Developer Portal · REST API docs · MCP Server