Releases
v0.1.0
Compare
Sorry, something went wrong.
No results found
🚀 Enhancements
m2: Write-parity kickoff — idempotency infra + 3 tools (0eec93a )
m2: Add set_opacity / set_visible / rename_node / delete_nodes (4eda9d0 )
m2: Add create_text/rectangle, set_corner_radius/strokes, move/resize_nodes (cb2c3b3 )
m2: Add set_auto_layout/blend_mode/constraints, rotate/lock/unlock_nodes, clone_node (9f96d7e )
m2: Add 8 style + 6 variable write tools (34/52) (652e855 )
m2: Add structural + bulk-text write tools (40/52) (0d8b7e0 )
m2: Add page write tools (44/52) (4a8d40c )
m2: Add prototype + component-nav write tools (48/52) (5405744 )
m2: Add import_image write tool (49/52) (e6e307e )
m2: Add create_ellipse / create_component / create_section — 52/52 tool count (bb25810 )
m2: Add batch atomic write tool — 53 tools, all-or-nothing rollback (ba6d4d4 )
m2: Add create_instance — fills the component-side planning gap (54 tools) (45bad2a )
m2.5: Gradient paints — read + write (round-trippable) (9341f4a )
m2.5: Text truncation/maxLines (read+write) + FLOAT alias regression test (3bed475 )
design-context: P1 surface grounding fields (52c226e )
design-context: P2 resolve token ids to names (84cd506 )
design-context: P3 globalVars dedup + structured values + metrics (69ccea9 )
design-context: P3.1 surface + dedup strokes & effects (3583b60 )
m3: Analyze_project — JS/TS profile detector (Tailwind v3+v4 aware) (4a9ce62 )
m3: Scan_components — oxc-based local component scanner (a460176 )
m3: Component_map — join Figma component names to local code components (be0fb7c )
m3: Wire scan_components + component_map; demote analyze_project to internal helper (7a02671 )
m3: Expose analyze_project as a standalone MCP tool (revert demotion) (b12ec5b )
m3: Token_map — join Figma variables to project design tokens (87ae2f8 )
m3: Token_map B3 — Tailwind/Figma namespace synonyms (a58aeda )
m3: Component_map emits per-instance props (instances[]) (cdaafc1 )
m3: Component_map reports unmatchedProps (component-extension TODOs) (b15fb89 )
m3: Token_map opens size↔text via the variable's collection (5a437bf )
m3: MCP prompts capability + figma_to_code (cross-client codegen) (8de7066 )
relay: Multi-plugin routing on most-recently-active session (1613dad )
plugin: Emit activity on window focus/visibility (56b8422 )
codegen: Asset-export step — close the no-codegen fidelity gap (2f61138 )
token_map: Framework-builtin scale recognition + codegen effect-fidelity guidance (5ea3d11 )
token_map: Font-weight framework-builtin (weight/* → font-bold etc.) (f8972fd )
get_design_context: Per-instance textOverrides on deduped instances (f55d3d1 )
serializer: Surface per-side stroke weights for mixed borders (d34a2b6 )
profile: Svg-handling detection + icon import/use guidance (838043b )
scan: Gitignore-aware shared repo walker (e47ca2a )
screenshot: Flag empty exports (clipped/off-canvas/hidden nodes) (9301e89 )
write: Tier 1 write-surface hardening — typography, per-side strokes, variable CRUD, child layout (0047d72 )
write: Add combine_as_variants — combine COMPONENTs into a COMPONENT_SET (07aa2bb )
codegen: Gradient + image object-fit fidelity (close two silent grounding misses) (0b9fae7 )
codegen: StrokeAlign semantics (close the application-side miss behind Framelink #386) (893ac03 )
grounding: Surface auto-layout to get_design_context + GRID auto-layout (read+write) (fcb4028 )
plugin-ui: Slim the panel, add "Run in background", fix Context overflow (0bc5c1d )
grounding: Icon_map — reuse curated .svg icons + color contract (28405b2 )
grounding: Get_variable_defs emits hex for COLOR values (30a0aec )
grounding: Surface per-corner radius, blendMode, mask in read path (cf8f07d )
write: Per-corner set_corner_radius + new set_mask tool (7437460 )
Derive displayed versions from the single product version (ee176fa )
mcp: Accept a Figma URL or dash-form node id in id args (e18cb14 )
mcp: Bind a color variable to a fill/stroke paint (dfd740b )
skill: Add figma-build skill + code_to_figma prompt (write direction) (01e5d11 )
mcp: Delete a variable collection by id (ac5d532 )
plugin: Show the payload fed to the LLM in the Activity tab (12f6734 )
plugin: Tidy payload row + use vueuse clipboard (53d44ba )
plugin: Copyable diagnostic bundle for bug reports (efc87a5 )
mcp: Export a node or page to a single PDF file (4edac47 )
get_design_context: Warn on multi-breakpoint selection to keep mixed codegen grounded (adf2505 )
Keep the connection alive through heavy operations (busy ≠ dead) (7ee504d )
get_design_context: Surface text typography so codegen stops eyeballing it (a0952ec )
🔥 Performance
component-map: Resolve set name from grounding, drop doc-wide scan (0640441 )
scan: Prune ignored dirs at the glob level, not after (d42264b )
plugin: Skip full serialization for minimal/compact get_design_context (1d8f623 )
🩹 Fixes
m2: Set_variable_value — type the polymorphic value so it isn't stringified (55a9ea4 )
design-context: Emit node style refs before children (1025117 )
hook: Scope format-on-edit to files inside the project root (1ac4f7f )
m3: A/B-driven accuracy fixes for component_map + token_map (3440cac )
component-map: Degrade gracefully when get_local_components times out (84ab5fa )
relay: Session affinity for multi-call tools (9b0042b )
component-map: Merge a component across sibling frames into one usage (96c6d30 )
routing: Visibility-gated activity + no-selection scope guards (af164f7 )
scan: Single-extension profiles (Vue/Svelte) silently scanned nothing (0070a84 )
routing: A reconnect must not steal routing from the active file (eab1c42 )
token_map: Emit var() ref on non-Tailwind projects, not a bogus utility (300efb7 )
variables: Parse stringified VARIABLE_ALIAS for FLOAT vars (go #22 last edge) (92de535 )
mcp: Move @figwright/shared to devDependencies (e731482 )
plugin: Auto-reconnect when plugin opens before the relay server (fa8ac9a )
plugin: Recover clipped/off-canvas exports via useAbsoluteBounds (24dc2d6 )
💅 Refactors
m2: Registry guards + honest batch rollback (post-M2 retrospective) (44cf086 )
server: Tool-spec helper + first reads to Zod (Phase 1) (766c6ff )
server: Convert simple read tools to Zod specs (Phase 1) (f33a056 )
server: Convert remaining read tools to Zod specs (Phase 1) (b561c1b )
server: Convert server-local tools to Zod specs (Phase 1) (7c21003 )
server: Convert all write tools to Zod specs (Phase 1 complete) (c4acdba )
server: Cut over to McpServer (registerTool/registerPrompt) (72824a7 )
server: Move schema-derivation helper out of src to test-only (f211529 )
Convert shared + plugin + election layer to Zod (387015e )
m3: Hardening review — SFC props, CSS-var token grounding, cleanup (ffd44aa )
plugin-ui: Adopt vueuse composables in App.vue (83a2531 )
repo: Rename packages/server → packages/mcp (6e31a91 )
Move skills to repo root for skills.sh discovery (3f28078 )
skill: Split figma-codegen into a router + references (3587be3 )
skill: Split figma-build into a router + references (7770218 )
📖 Documentation
plan: Record Framelink borrowed techniques for M3 (1f49745 )
skills: Rewrite figma-codegen to orchestrate the shipped M3 tools (f12b502 )
skills: Figma-codegen drills repeated unmapped components (eaba36c )
server: Correct spec bridge comments + record McpServer migration done (e590564 )
codegen: Tell codegen to read deduped instances' textOverrides (faf4cdc )
codegen: Responsive-by-default + breakpoint-discovery guidance (316266d )
codegen: Full-bleed pages need a body reset — conditionally (6f3b313 )
codegen: The conditional reset must be complete, not body-only (54a3bb9 )
plan: M5 re-evaluation — converge visual verification to skill self-verify, cut 2 screenshot tools (388d8e3 )
codegen: Large-design section-by-section + ground-every-section guidance (82adee5 )
Add AGENTS.md (project guide) + CLAUDE.md pointer (87cebf2 )
skill: Broaden figma-codegen trigger description (8540a27 )
skill: Note delete_variable_collection in author-design-system (538ce08 )
skill: Prefer min-w over hard width for fixed-width hug controls (a3134eb )
skill: Treat a same-size sibling artboard as an overlay state, not a fixed-width sidebar (c06c222 )
skill: Ground each breakpoint's own values for mixed desktop/mobile selection (0b3f9d5 )
mcp: Note cornerRadius binds all four corners in bind_variable_to_node (0335503 )
Use 2026-present in license copyright (c04a902 )
figma-codegen: Translate absolute positioning + constraints in grounding (1d9ee11 )
🏡 Chore
Pin all latest dependency specifiers to caret ranges (7976012 )
Align @types/node to the Node 24 major (^24.12.4) (557dd83 )
Auto-format/lint edited files via PostToolUse hook (9e88144 )
Move format-on-edit hook script under .claude/hooks/ (ddf2c4c )
server: Add zod dep for McpServer migration (Phase 0) (66ef4df )
Remove routing/timeout debug instrumentation (c78e939 )
format: Bump oxfmt 0.51→0.53 and reformat the tree (197f52d )
Stop tracking PLAN.md (internal dev doc, not for publication) (ce9bff8 )
skills: Vendor skill-creator under .claude/skills (eeeb502 )
skills: Vendor create-readme skill under .claude/skills (b501f52 )
rename: Figma-mcp-relay → figwright (cead534 )
rename: Point .mcp.json at ~/Desktop/figwright (2c366a9 )
rename: Plugin UI color tokens relay-_ → fig-_ (4618dd9 )
mcp: Use repo-relative path in .mcp.json (262af53 )
knip: Make knip pass so it can gate CI (0a158ac )
knip: Drop redundant config flagged by knip's own hints (7e93814 )
lint: Clear the remaining oxlint warnings (0ceda52 )
Tidy local-only files into .local/ (bcd1139 )
Set author/copyright to Roya (395f7e8 )
Remove lefthook git hooks (3be457d )
Upgrade dev dependencies and quiet new oxlint warning (69f7323 )
skills: Mirror skills/ into .claude/skills via postinstall instead of symlinks (11e6ca0 )
Upgrade pnpm to 11.8.0 and node to 24.17.0 (e4cc32c )
vscode: Run oxc format and fixAll on save (7387524 )
🎨 Styles
Format sync-skills.mjs with oxfmt (62cf9e8 )
🤖 CI
Add CI workflow (typecheck, lint, knip, build, test) (fda58c5 )
Validate PR titles follow Conventional Commits (99a546c )
Add format:check gate; ignore vendored skills in oxfmt config (9c9070a )
Add release pipeline (changelogen + OIDC npm publish) (ba3985f )
Product-level CHANGELOG at root + ship the Figma plugin as a release asset (94a905a )
Validate publish correctness with publint (via tsdown) (8836af5 )
❤️ Contributors
You can’t perform that action at this time.