components-as-structured-data¶
Insight: Components should be defined as structured data (YAML/JSON) independent of any platform including Figma. This data-first approach enables AI integration — LLMs can query, compare, and propose improvements on structured component definitions. However, LLMs produce inconsistent component descriptions (renaming props, adding/removing options unpredictably), so deterministic extraction tools are needed for canonical component data.
Detail: Curtis describes a catalog-wide component-by-component refactor where components are defined in core.yaml files (30–50 components, 10,000+ lines). Benefits include: Git-versioned component lifecycle, automated Figma asset generation from data, automated documentation that stays in sync, and AI-queryable component descriptions. He contrasts this with Figma's Dev Mode MCP Server, which he calls "stochastic, incomplete, and imprecise" — biased toward one platform. The companion Anova Figma plugin extracts deterministic, repeatable component data conforming to a JSON schema, solving the consistency problem. This is the most concrete vision yet for how design systems become truly machine-readable — not through MCP inference but through intentional structured data authoring.
Sources
- Nathan Curtis — "Components as Data" (2025-09-23)
- Nathan Curtis — "Analysis of Variants" (2025-10-07)
Related: Samsen knowledge/design-systems/token-architecture.md — COMPLEMENTS