openpencil/packages/docs/reference/cli.md
Danila Poyarkov e5b147148e Add AI & Automation docs section, CLI reference, formatting fixes
New 'AI & Automation' top-level nav section with 9 pages:
- AI Chat: setup, 87 tools, example prompts
- Collaboration: room sharing, cursors, follow mode
- JSX Renderer: elements, style props, visual diffing
- CLI (4 pages): inspecting, exporting, analyzing, scripting
- MCP Server: moved from Reference, setup + 90 tools

New CLI reference page in Reference with all 12 commands,
every option, alias, and default value.

Formatting fixes across all 7 locales:
- Wrap enum values in backticks (FRAME, SOLID, ROUND, etc.)
- Fix single-backtick code blocks → triple backticks
- Use <kbd> for all keyboard shortcuts
- Remove implementation details from user guide
- Delete stale eval-command.md and mcp-tools.md (14 files)
- Update dead links to new locations
2026-03-08 18:25:35 +03:00

4.3 KiB
Raw Blame History

title description
CLI Reference Complete reference for all open-pencil commands, options, and flags.

CLI Reference

All commands accept a .fig file as a positional argument. When omitted, the CLI connects to the running desktop app via RPC.

info

Show document info — pages, node counts, fonts, file size.

open-pencil info [file] [--json]
Option Description
--json Output as JSON

tree

Print the node hierarchy.

open-pencil tree [file] [options]
Option Description
--page Page name (default: first page)
--depth Max depth (default: unlimited)
--json Output as JSON

find

Search nodes by name or type.

open-pencil find [file] [options]
Option Description
--name Node name (partial match, case-insensitive)
--type Node type: FRAME, TEXT, RECTANGLE, INSTANCE, etc.
--page Page name (default: all pages)
--limit Max results (default: 100)
--json Output as JSON

node

Show detailed properties of a node.

open-pencil node [file] --id <id> [--json]
Option Description
--id Required. Node ID (e.g. 1:23)
--json Output as JSON

pages

List all pages in the document.

open-pencil pages [file] [--json]
Option Description
--json Output as JSON

variables

List design variables and collections.

open-pencil variables [file] [options]
Option Description
--collection Filter by collection name
--type Filter by type: COLOR, FLOAT, STRING, BOOLEAN
--json Output as JSON

export

Export to PNG, JPG, WEBP, SVG, or JSX.

open-pencil export [file] [options]
Option Alias Description
--format -f png (default), jpg, webp, svg, jsx
--output -o Output file path (default: <name>.<format>)
--scale -s Export scale (default: 1)
--quality -q Quality 0–100, JPG/WEBP only (default: 90)
--page Page name (default: first page)
--node Node ID to export (default: all top-level nodes)
--style JSX style: openpencil (default), tailwind
--thumbnail Export page thumbnail instead of full render
--width Thumbnail width (default: 1920)
--height Thumbnail height (default: 1080)

eval

Execute JavaScript with the Figma Plugin API.

open-pencil eval [file] [options]
Option Alias Description
--code -c JavaScript code to execute
--stdin Read code from stdin
--write -w Write changes back to the input file
--output -o Write to a different file
--json Output as JSON
--quiet -q Suppress output

analyze colors

Analyze color palette usage across the document.

open-pencil analyze colors [file] [options]
Option Description
--limit Max colors to show (default: 30)
--threshold Distance threshold for clustering similar colors, 0–50 (default: 15)
--similar Show similar color clusters
--json Output as JSON

analyze typography

Analyze font family, size, and weight distribution.

open-pencil analyze typography [file] [options]
Option Description
--group-by Group by: family, size, weight (default: show all styles)
--limit Max styles to show (default: 30)
--json Output as JSON

analyze spacing

Analyze gap and padding values across auto-layout frames.

open-pencil analyze spacing [file] [options]
Option Description
--grid Base grid size to check against (default: 8)
--json Output as JSON

analyze clusters

Find repeated node patterns — potential components.

open-pencil analyze clusters [file] [options]
Option Description
--limit Max clusters to show (default: 20)
--min-size Min node size in px (default: 30)
--min-count Min instances to form a cluster (default: 2)
--json Output as JSON