openpencil/packages/docs/programmable/cli/analyzing.md
2026-05-29 15:56:52 +03:00

66 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Analyzing Designs
description: Audit colors, typography, spacing, and repeated patterns in .fig files.
---
# Analyzing Designs
The `analyze` commands audit an entire design system from the terminal — find inconsistencies, extract the real palette, spot components waiting to be extracted.
## Colors
```sh
openpencil analyze colors design.fig
```
Finds every color in the file, counts usage, and shows a visual histogram:
```
#1d1b20 ██████████████████████████████ 17155×
#49454f ██████████████████████████████ 9814×
#ffffff ██████████████████████████████ 8620×
#6750a4 ██████████████████████████████ 3967×
```
## Typography
```sh
openpencil analyze typography design.fig
```
Lists every font family, size, and weight combination with usage counts. Useful for spotting one-off text styles that should be consolidated.
## Spacing
```sh
openpencil analyze spacing design.fig
```
Audits gap and padding values across auto-layout frames. Helps identify spacing scale inconsistencies — e.g. a stray `13px` gap among otherwise `8/16/24` values.
## Clusters
```sh
openpencil analyze clusters design.fig
```
Finds repeated node patterns that could be extracted into components:
```
3771× frame "container" (100% match)
size: 40×40, structure: Frame > [Frame]
2982× instance "Checkboxes" (100% match)
size: 48×48, structure: Instance > [Frame]
```
## JSON Output
All analyze commands support `--json` for machine-readable output:
```sh
openpencil analyze colors design.fig --json
```
Pipe into `jq`, feed into CI checks, or use in scripts that enforce design token budgets.