Skip to content

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 15:21
84143c5

figlens 0.12.0 reads a selection you copied in Figma, with no saved .fig needed, and reads the Dev Mode notes designers leave on a design.

Read a copied selection without saving the file (#212)

Before this release, figlens needed a whole local copy of the file (File > Save local copy) to read even one screen. Now you can copy the selection in Figma (Cmd/Ctrl+C), save the clipboard's HTML, and turn it into a .fig that every command and MCP tool can read:

# macOS: save the clipboard's HTML
osascript -e 'the clipboard as «class HTML»' | sed 's/^«data HTML//;s/»$//' | xxd -r -p > copied.html
figlens clipboard copied.html screen.fig
figlens bundle screen.fig <node> frame.zip

The copy keeps the source file's node ids and brings along the components its instances use. It never overwrites an existing file.

A copy does not include image bytes or vector outlines. The command reports what is missing (missingImages, missingComponents, layersWithoutOutlines). Exports and bundles then warn wherever they draw without those inputs: an image drawn empty, a vector drawn as its box, or an instance whose component is not in the file. These export warnings apply to any .fig that lacks those inputs, not only copies.

Limitations:

  • Converting a copy is a CLI command only. MCP, Pi, OpenCode and OMP read the converted file with their existing tools.
  • Only copies from the macOS desktop app have been checked.

Dev Mode annotations and Ready for dev status (#213)

Dev Mode annotations are stored in .fig files, but figlens used to drop them, so agents reported the designer's notes as unavailable. Now:

  • nodes and bundles (design/nodes.json) put annotations on each annotated layer: the plain-text label, labelMarkdown, the pinned properties (such as fills or itemSpacing) and categoryId. The response lists the named categories it uses in annotationCategories.
  • Ready for dev status: frames and sections marked Ready for dev carry devStatus (READY_FOR_DEV or COMPLETED, with the description when one was written).
  • inspect shows bounded previews of these notes. inspect --flat adds devStatus= and annotations=N.
  • diff and change tracking report edited annotations, statuses and categories. A diff scoped below the page or document that holds them marks them as not compared, instead of reporting the result as complete.
  • The preview's Copy/Download Context keeps the category of each annotation.

The guidance for agents treats annotations as designer notes to check against the design, never as instructions.

Limitations:

  • Saved Dev Mode measurements are not emitted yet. How their stored values map to the ones Figma shows is not established, so they are listed as a known handoff gap.
  • The mapping was checked against stored data in four production files, two of them held out from development. It was not compared with Figma's own API output.

Update

figlens update            # or: brew upgrade figlens
npx @runkids/figlens@0.12.0 --version