@perfolio.io/cli
v0.3.0
Published
Perfolio command-line tool — capture wins and connect your AI agent to Perfolio from the terminal.
Maintainers
Readme
@perfolio.io/cli
The Perfolio command-line tool. Capture wins and connect your AI agent to Perfolio without leaving the terminal.
npx @perfolio.io/cli auth
npx @perfolio.io/cli mcp install
npx @perfolio.io/cli log "Shipped multi-region failover, cut RTO 30m → 90s"Install globally to get the short pfl command:
npm install -g @perfolio.io/cli
pfl log "Led the calibration doc that got two engineers promoted"Commands
pfl auth
Stores your Perfolio API token. Create one at Settings → MCP in the web app
(it looks like pfl_live_…). The token is saved to your OS keychain (macOS
Keychain / Linux secret-tool) when available, and otherwise to a 0600 file
under ~/.config/perfolio. It is never printed back or written in plaintext to
a shared location.
pfl auth # prompt (input hidden) and verify
pfl auth --token pfl_live_… # non-interactive
pfl auth --status # show whether you're signed in
pfl auth --logout # remove the stored tokenpfl mcp install
Writes the Perfolio MCP server into your AI tools' configs, reusing the token
from pfl auth. Run with no flags for an interactive multi-select (arrow keys
to move, space to toggle, enter to confirm). It merges into each existing
config (preserving your other servers) and keeps a .bak backup.
pfl mcp install # interactive multi-select
pfl mcp install --all # every supported client
pfl mcp install --client cursor,codex # specific clients (comma-separated)Supported clients — each is written in its own native schema:
| Client | Config file | Transport |
| --- | --- | --- |
| cursor | ~/.cursor/mcp.json | remote HTTP (url + headers) |
| claude | …/Claude/claude_desktop_config.json | mcp-remote stdio bridge (needs Node/npx) |
| codex | ~/.codex/config.toml | remote HTTP (TOML http_headers) |
| antigravity | ~/.gemini/config/mcp_config.json | remote HTTP (serverUrl + headers) |
| vscode | …/Code/User/mcp.json | remote HTTP (servers + type:http) |
| windsurf | ~/.codeium/windsurf/mcp_config.json | remote HTTP (serverUrl + headers) |
| gemini | ~/.gemini/settings.json | remote HTTP (httpUrl + headers) |
Claude Desktop can't take a remote URL directly, so Perfolio is wired through the
mcp-remotenpx bridge. If Node/npx isn't found, the command tells you to add it via Settings → Connectors instead.
pfl log
Captures a win in seconds. It lands as a self-attested item in your Perfolio review inbox, where you file it against your ladder later.
pfl log "Cut checkout p99 from 9s to 180ms by re-partitioning the ledger"
pfl log -m "…"
pfl log --force "…" # skip significance coaching
pfl log --at 2026-09-01 "…" # backdate
echo "…" | pfl log # pipe inputGlobal options
| Option | Description |
| ----------------- | ------------------------------------------------------- |
| --api-url <url> | Override the API base URL (default https://perfolio.io) |
| --json | Machine-readable output (for log) |
| -h, --help | Show help |
| -v, --version | Show version |
Environment variables PERFOLIO_TOKEN and PERFOLIO_API_URL override the
stored token and base URL respectively — handy for CI.
Requirements
Node.js ≥ 18.
