@softdesignbrasil/productdock-cli
v0.4.0
Published
ProductDock CLI — manage MCP setup, project linking, and skills
Keywords
Readme
ProductDock CLI
Official CLI for ProductDock — connects your local development environment to the ProductDock platform via MCP, handling authentication, project linking, and IDE configuration automatically.
Installation
Option 1 — npx (requires Node ≥ 18)
No installation needed. Run any command directly:
npx @softdesignbrasil/productdock-cli loginOption 2 — Global npm install
npm install -g @softdesignbrasil/productdock-cli
productdock loginOption 3 — Standalone binary (no Node required)
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/softdesignbrasil/productdock-cli/main/install.sh | shWindows (PowerShell):
irm https://raw.githubusercontent.com/softdesignbrasil/productdock-cli/main/install.ps1 | iexBinaries are available for darwin-arm64, darwin-x64, linux-x64, linux-arm64, and windows-x64 on the Releases page.
Quick Start
# 1. Authenticate with your Azure AD account
productdock login
# 2. Link your project directory to a ProductDock project
cd my-project
productdock link
# 3. Write MCP configuration for your IDEs
productdock mcp setup
# 4. Verify everything is working
productdock doctorCommands
productdock login
Authenticates with Azure AD using OAuth 2.1 + PKCE. Opens a browser window and saves credentials to ~/.productdock/credentials.json.
productdock loginproductdock logout
Revokes tokens and removes local credentials.
productdock logoutproductdock link
Links the current directory to a ProductDock project. Creates a productdock.json file in the current directory. Prompts you to select a project and choose which IDEs your team uses.
productdock link
# Skip interactive prompts
productdock link --project-id <uuid> --ide claude-code,cursor| Flag | Description |
| --------------------- | -------------------------------------------------------- |
| --project-id <uuid> | Skip interactive project selection |
| --ide <ides> | Comma-separated list of IDEs (skips multi-select prompt) |
productdock mcp setup
Writes MCP server configuration for the IDEs declared in productdock.json. Points each IDE directly at the ProductDock MCP server — this is a one-time operation.
productdock mcp setup
# Target a specific IDE only
productdock mcp setup --ide vscode
# Preview changes without writing files
productdock mcp setup --dry-run| Flag | Description |
| ------------- | ----------------------------------------------------------------- |
| --ide <ide> | Write config for one IDE only (overrides productdock.json list) |
| --dry-run | Print what would be written without making any changes |
productdock mcp status
Checks token validity and IDE configuration status.
productdock mcp statusproductdock doctor
Runs a full diagnostic and reports any configuration issues with suggested fixes.
productdock doctor
# Automatically fix detected issues
productdock doctor --fixChecks performed:
~/.productdock/credentials.jsonexists and is valid- Access token is renewable (refresh token not expired)
productdock.jsonexists in the current directory- MCP server is reachable
- MCP config files exist for each configured IDE
- IDE configs point to the correct MCP server URL
Supported IDEs
| Key | Display Name | Config file |
| ---------------- | ----------------- | ----------------------------- |
| claude-code | Claude Code | .mcp.json |
| cursor | Cursor | .cursor/mcp.json |
| vscode | VS Code / Copilot | .vscode/mcp.json |
| claude-desktop | Claude Desktop | Platform-specific (see below) |
Claude Desktop config locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
How authentication works
IDEs connect directly to the ProductDock MCP server using OAuth 2.1. The server handles token refresh natively — credentials are stored in ~/.productdock/credentials.json and renewed automatically on each request.
IDE (Claude Code / Cursor / VS Code)
│ MCP config: url = https://productdock-api.softdesign.com.br/mcp
│
▼
ProductDock MCP server
│ OAuth 2.1 token refresh (RFC 6749)
│ PKCE authorization (RFC 7636)
▼
Authenticated tool dispatchEnvironment variables
| Variable | Default | Description |
| -------------------------- | ------------------ | ---------------------------------------------- |
| PRODUCTDOCK_MCP_URL | (production URL) | Override MCP server URL (useful for local dev) |
| PRODUCTDOCK_SUPABASE_URL | (production URL) | Override Supabase URL |
| PRODUCTDOCK_ANON_KEY | (production key) | Override Supabase anon key |
Development
Requirements: Bun ≥ 1.1
git clone https://github.com/softdesignbrasil/productdock-cli
cd productdock-cli
bun install
# Run any command directly from TypeScript source (no build step)
bun run bin/productdock.ts login
bun run bin/productdock.ts link
bun run bin/productdock.ts doctorBuilding
# npm distribution (Node-compatible JS bundle)
bun run build:npm
# Standalone binaries for all platforms (cross-compiled from any host)
bun run build:binariesOutput:
dist/productdock.js— npm bundle (run withnode dist/productdock.js)dist/productdock-darwin-arm64dist/productdock-darwin-x64dist/productdock-linux-x64dist/productdock-linux-arm64dist/productdock-windows-x64.exe
