JSPM

  • Created
  • Published
  • Downloads 628
  • Score
    100M100P100Q121998F
  • License MIT

Official CLI for CareerVivid — publish articles, diagrams, and portfolio updates from your terminal or AI agent

Package Exports

  • careervivid
  • careervivid/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (careervivid) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

CareerVivid CLI

Official command-line interface for CareerVivid — publish articles, architecture diagrams, and portfolio updates directly from your terminal or an AI coding agent.


Quick Start

# 1. Clone and build (one-time setup)
git clone https://github.com/Jastalk/CareerVivid
cd CareerVivid/cli
npm install && npm run build

# 2. Install globally
npm install -g .

# 3. Authenticate and publish
cv auth set-key
cv publish article.md

Installation

# Build from source and install globally
git clone https://github.com/Jastalk/CareerVivid
cd CareerVivid/cli && npm install && npm run build
npm install -g .

# If you already have the repo:
cd path/to/careervivid/cli
npm install && npm run build && npm install -g .

Authentication

Get your API key at careervivid.app/#/developer.

# Interactive setup
cv auth set-key

# Or pass it directly (no prompts)
cv auth set-key cv_live_your_key_here

# Verify it works
cv auth check

# See current config
cv auth whoami

Your key is stored in ~/.careervividrc.json with chmod 600 permissions. It is never printed to stdout.

Alternatively, set the CV_API_KEY environment variable (takes priority over the config file):

export CV_API_KEY=cv_live_...

Publishing Content

Publish a Markdown article

cv publish article.md
cv publish article.md --title "My Custom Title" --tags "typescript,firebase,saas"

The title is automatically inferred from the first # Heading in your file.

Publish a Mermaid diagram

cv publish diagram.mmd --type whiteboard

Files with .mmd or .mermaid extensions are automatically detected as Mermaid diagrams.

Publish from stdin (pipe-friendly for AI agents)

cat article.md | cv publish - --title "Architecture Deep Dive"
echo "# My Post\n\nHello world!" | cv publish - --tags "ai,demo"

Dry run (validate without publishing)

cv publish article.md --dry-run

Machine-readable JSON output (for AI agents and scripts)

Every command supports --json:

cv publish article.md --json
# → {"success":true,"postId":"abc123","url":"https://careervivid.app/community/post/abc123"}

cat article.md | cv publish - --title "Post" --json
# → {"success":true,"postId":"abc123","url":"..."}

Command Reference

cv publish [file]
  [file]             Path to a .md / .mmd file, or "-" to read stdin
  --title <title>    Post title (required for stdin / if no # heading)
  --type             article | whiteboard  (default: inferred)
  --format           markdown | mermaid    (default: inferred from extension)
  --tags <tags>      Comma-separated tags, max 5
  --cover <url>      URL to a cover image
  --dry-run          Validate without publishing
  --json             Machine-readable output

cv auth set-key [apiKey]
cv auth check
cv auth whoami
cv auth revoke

cv config show
cv config get <key>         (keys: apiKey, apiUrl)
cv config set <key> <val>

AI Agent & MCP Integration

With Cursor / Claude Desktop (MCP)

The MCP server is the recommended way to integrate with AI coding agents. See mcp-server/README.md.

Direct CLI from an AI agent

# Agent publishes an article it just wrote:
echo "${ARTICLE_CONTENT}" | cv publish - \
  --title "${TITLE}" \
  --tags "${TAGS}" \
  --json

# Agent parses the JSON response:
# {"success":true,"postId":"abc123","url":"https://careervivid.app/community/post/abc123"}

For full agentic pipelines, prefer the MCP server — it integrates natively with AI tool calling.


Environment Variables

Variable Description
CV_API_KEY API key (overrides config file)
CV_API_URL Override the publish endpoint (for self-hosting or staging)

Configuration File

Location: ~/.careervividrc.json (mode 600 — readable only by your user)

{
  "apiKey": "cv_live_...",
  "apiUrl": "https://careervivid.app/api/publish"
}

Building from Source

cd cli
npm install
npm run build      # TypeScript → dist/
node dist/index.js --help

Security

  • API keys are never written to stdout — only stderr diagnostics and masked previews
  • The config file is created with chmod 600
  • Never commit ~/.careervividrc.json or CV_API_KEY to version control
  • Revoke a compromised key immediately at careervivid.app/#/developer