Several tools can write into Figma. This one gates the write inside the plugin: a raw hex where a colour variable exists, a raw pixel size where a text style exists, a font outside the system, or a primitive frame where the library already has a component, are refused rather than merely discouraged. Where the design system genuinely has no equivalent, that becomes a line in the build report instead of a raw value quietly left in the file. The knowledge store is the other half — confirmed component recipes and your corrections carry into later builds, scoped per library.
A server that drives a companion Figma plugin to build screens from HTML using your design system. It discovers the library's components, variables, text styles and fill styles, turns them into an enforcement profile, then builds with them — refusing a raw value wherever a design-system equivalent exists, and recording the gap where one does not.
- Design-system discovery first: mimic_discover_ds in two steps, plus figma_discover_library_styles, figma_discover_library_variables and figma_discover_library_components, all cached and compiled into a session profile by figma_set_session_defaults
- Primitives placed with DS values — figma_create_frame with auto-layout, figma_create_text carrying a DS text style and colour variable, rectangles, ellipses with arcData for donut charts, and figma_create_svg for icons
- Component instances inserted from the library, with text set by node name, by exact node ID, or all overrides in one batch call, variants set, main components swapped, instances replaced, and SLOT properties filled or reset
- Node editing: fills from a DS style, a colour variable or a raw colour, layout sizing with padding and gap, visibility, text styles, absolute position, reparenting and deletion — with top-level artboards protected from deletion
- Reading back what exists: node properties, children to a depth, parent, pages, page nodes, component variants, detailed text info and the current selection, plus selecting a node and scrolling it into view
- figma_validate_ds_compliance checks a node against the active enforcement profile, and mimic_generate_build_report compiles the session into a Markdown or HTML report naming the components used, the primitives built and why, and where the design system had no equivalent
- A knowledge store read and written across builds — component recipes, patterns and recorded DS gaps — and mimic_generate_design_md compiles what it has learned into DESIGN.md form
- Whole-object builders: mimic_build_table constructs a data table in one call and mimic_build_chart a chart, with mimic_compute_chart returning the geometry first, and figma_batch running up to six operations through the plugin bridge at once
Published as @miapre/mimic-ai and launched over stdio with npx, on Node.js 20.6 or newer, macOS or Windows. It is half of a pair: the companion Figma plugin does the writing and holds the enforcement gate, so Figma has to be open with the plugin running and the design-system library reachable by file key. Everything runs locally, and the project states that design data does not leave the machine.
One command plus a key — npx -y @miapre/mimic-ai, then supply credentials
