Skip to content

v1.7.30 — SUI Design System Integration

Choose a tag to compare

@atezer atezer released this 14 Apr 10:26
· 108 commits to main since this release

SUI Design System Integration — search_assets bridge fix, new library tools, SKILL corrections

F-MCP Bridge ile SUI gibi team library tabanlı tasarım sistemleri kullanmak artık tam destekli. figma_search_assets artık bridge handler'ını doğru kullanıyor (hem variable hem local component döndürür), 3 yeni araç ile team library variable/style import + binding mümkün, SKILL'lerdeki "DS dosyasında çalıştır" çelişkisi giderildi.

🐛 Kritik Bug Fix'leri

  • figma_search_assets artık plugin'in SEARCH_LIBRARY_ASSETS handler'ını kullanıyor (eski inline executeCodeViaUI bypass'ı kaldırıldı). assetTypes, limit, currentPageOnly, figmaUrl, fileKey parametreleri eklendi. Hem variable collection'ları hem local file component'lerini döndürüyor.
  • fileKey: null race condition: Plugin bağlandığında fileKey "ready" mesajıyla set ediliyor, arada gelen istekler hata alıyordu. waitForClient(2s) polling + transient retry eklendi.
  • figma_execute static analysis (_warnings): FILL before appendChild, sync API kullanımı, eksik loadFontAsync, sync currentPage ataması tespit edilip uyarı dönüyor. Uyarılar TÜM response path'lerinde (success + plugin error + try-catch error).

✨ Yeni Araçlar

  • figma_get_library_variables — Team library variable koleksiyonlarını import key'leriyle birlikte listeler. Hedef dosyada çalışır, DS source dosyasına bağlanmak GEREKMEZ. Filter: query, collectionName, libraryName, limit.
  • figma_bind_variable — Library variable'ını import edip node property'sine bağlar. Renkler için setBoundVariableForPaint (fills/strokes), spacing/sizing için setBoundVariable (paddingLeft, itemSpacing, cornerRadius, vb.). Token değişince node otomatik güncellenir.
  • figma_import_style — Team library text/paint/effect style'ını import edip node'a uygular. TEXT style: setTextStyleIdAsync (font + size + weight). PAINT/EFFECT: fillStyleId / effectStyleId. Sadece PUBLISHED LIBRARY style'lar — local style'lar için açık hata mesajı ve çözüm yönlendirmesi.

📚 SKILL Düzeltmeleri

  • figma-canvas-ops/SKILL.md ve generate-figma-screen/SKILL.md: "DS dosyasında çalıştır" yaklaşımı kaldırıldı, figma.teamLibrary API zinciri ile hedef dosyada çalışma akışı eklendi.
  • fmcp-project-rules/SKILL.md: LOCAL vs LIBRARY token ayrımı netleştirildi. figma_get_styles() ve figma_get_variables() sadece dosya içi değerleri döndürüyor — kütüphane token'ları için yeni figma_get_library_variables aracı kullanılmalı.
  • Font fallback: Kullanıcı "sen seç" derse önce DS kütüphanesi text style'larından font çıkarılır, sonra Inter fallback. SUI gibi custom font (SHBGrotesk) kullanan kütüphanelerde doğru çalışır.
  • Cache invalidation: .claude/libraries/<ds>.md cache'i 24 saatten eskiyse yenilenir, lastUpdated alanı eklendi.

🔧 Tool Description İyileştirmeleri

  • figma_execute: FILL ordering, sync API, font loading, setCurrentPageAsync gotcha'ları description'da.
  • figma_create_text: SUI/DS kullanıyorsan SHBGrotesk gibi DS fontunu belirt uyarısı (Inter default).
  • figma_instantiate_component: Library component desteği + setProperties kuralı (findAll(TEXT) yerine).

✅ Test Edildi

Sahifinans Playground (P31qJTP8XVupmZG4BlTtPG) dosyasında SUI kütüphanesi ile uçtan uca doğrulandı:

  • figma_search_assets → 25 variable + 4 lib collection döndürüyor
  • figma_get_library_variables → 84-100 SUI variable key'iyle dönüyor
  • Frame oluşturma → figma_bind_variable ile Surface/background level-0 bağlama → screenshot doğrulaması başarılı
  • _warnings static analiz hem success hem error path'lerinde çalışıyor

📦 Kurulum

```bash
npm install -g @atezer/figma-mcp-bridge@1.7.30
```

veya Claude Desktop / Cursor .mcp.json'da:

```json
{
"mcpServers": {
"figma-mcp-bridge": {
"command": "npx",
"args": ["-y", "@atezer/figma-mcp-bridge@1.7.30"]
}
}
}
```

Full Changelog: v1.7.29...v1.7.30