@atezer/figma-mcp-bridge 1.7.8 → 1.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,382 +1,408 @@
1
1
  # Changelog
2
2
 
3
- Bu dosya [Keep a Changelog](https://keepachangelog.com/tr/1.1.0/) bicimine uygundur. Surum numaralari [`package.json`](package.json) ile uyumludur.
3
+ Bu dosya [Keep a Changelog](https://keepachangelog.com/tr/1.1.0/) biçimine uygundur. Sürüm numaraları [`package.json`](package.json) ile uyumludur.
4
4
 
5
- **Surum takibi (kullanicilar icin):**
5
+ **Sürüm takibi (kullanıcılar için):**
6
6
 
7
- | Kanal | Aciklama |
7
+ | Kanal | Açıklama |
8
8
  |-------|----------|
9
- | [GitHub Releases](https://github.com/atezer/FMCP/releases) | Surum etiketleri ve (yayimlandiginda) derlenmis notlar |
10
- | [npm - @atezer/figma-mcp-bridge](https://www.npmjs.com/package/@atezer/figma-mcp-bridge) | Yayinlanan paket surumu; `npm view @atezer/figma-mcp-bridge version` ile kontrol |
11
- | Bu dosya | Repoda her surum icin ozet degisiklik listesi |
9
+ | [GitHub Releases](https://github.com/atezer/FMCP/releases) | Sürüm etiketleri ve (yayımlandığında) derlenmiş notlar |
10
+ | [npm - @atezer/figma-mcp-bridge](https://www.npmjs.com/package/@atezer/figma-mcp-bridge) | Yayınlanan paket sürümü; `npm view @atezer/figma-mcp-bridge version` ile kontrol |
11
+ | Bu dosya | Repoda her sürüm için özet değişiklik listesi |
12
12
 
13
- Bu changelog'a ekleme oncesi surumlerin tam ayrintilari icin `git log` kullanilabilir.
13
+ Bu changelog'a ekleme öncesi sürümlerin tam ayrıntıları için `git log` kullanılabilir.
14
+
15
+ ## [1.7.9] - 2026-04-05
16
+
17
+ ### Türkçe Karakter Düzeltmesi (Kapsamlı)
18
+
19
+ **Kök neden düzeltmesi:**
20
+ - **7 skill'e Türkçe Karakter Kuralı eklendi:** generate-figma-screen, generate-figma-library, implement-design, ai-handoff-export, component-documentation, figma-a11y-audit, figma-screen-analyzer. Tüm Türkçe metin üretiminde doğru Unicode karakter kullanımı artık zorunlu.
21
+
22
+ **Skill iç düzeltmeleri:**
23
+ - **component-documentation/SKILL.md:** Dosyanın tamamı (~52 satır) ASCII Türkçe → doğru Unicode'a dönüştürüldü
24
+ - **generate-figma-library/SKILL.md:** Satır 166-425 arası Kritik Kurallar bölümü (~35 satır) düzeltildi
25
+
26
+ **Test output dosyaları:**
27
+ - **HANDOFF.md:** ~37 düzeltme (Geliştirici → Geliştirici, Şifre, Bileşen, Erişebilirlik vb.)
28
+ - **LoginScreen.tsx:** 2 düzeltme ("Sifre" → "Şifre")
29
+ - **LoginView.swift:** 3 düzeltme ("Sifre" → "Şifre", "Hesabiniz" → "Hesabınız")
30
+ - **LoginScreen.kt:** 2 düzeltme ("Sifre" → "Şifre", "Hesabiniz" → "Hesabınız")
31
+
32
+ **Figma tasarım dosyası:**
33
+ - 48+ text node ve frame ismi düzeltildi (A11y Annotations panel, component documentation frame dahil)
34
+ - İteratif doğrulama döngüsü: 3 tur tarama ile 327 text node'da 0 kalan hata
35
+
36
+ **Dokümantasyon:**
37
+ - TEST_REPORT.md, FUTURE.md, CHANGELOG.md — tüm ASCII Türkçe düzeltildi
38
+
39
+ **Yanlış pozitif koruması:** "Şifremi unuttum" (6 instance korundu), kod identifier'ları ve token isimleri değişmedi.
14
40
 
15
41
  ## [1.7.8] - 2026-04-05
16
42
 
17
43
  ### Fix
18
- - **CI version consistency:** Kaynak dosyalardaki (local.ts, local-plugin-only.ts, plugin-bridge-server.ts) versiyon stringleri package.json ile senkronize edildi. CI "Version consistency check" artik basarili.
44
+ - **CI version consistency:** Kaynak dosyalardaki (local.ts, local-plugin-only.ts, plugin-bridge-server.ts) versiyon stringleri package.json ile senkronize edildi. CI "Version consistency check" artık başarılı.
19
45
 
20
46
  ## [1.7.6] - 2026-04-05
21
47
 
22
- ### component-documentation Skill (YENi — 18. skill)
48
+ ### component-documentation Skill (YENİ — 18. skill)
23
49
 
24
- - **Format secimi zorunlu:** Standard (~2400px) ve Compact (~1300px) secenekleri kullaniciya sunulur, onay olmadan frame olusturulmaz
25
- - **Gorsel Do/Dont ornekleri:** Gercek component instance'lariyla dogru/yanlis cift kartlar (hiyerarsi, etiket, variant kullanimi)
26
- - **Endustri standartlari referansi:** `reference_industry_design_standards.md` hafiza dosyasi (14 bolum: M3, HIG, WCAG 2.2, shadcn/ui, Tailwind, Radix, Lucide, DTCG)
27
- - **Yillik guncelleme:** Standart kontrolu 1 yildan eskiyse kullaniciya guncelleme onerisi (9 kaynak)
28
- - **SKILL_INDEX.md:** 17→18 skill, "Dokumantasyon" kategorisi eklendi
50
+ - **Format seçimi zorunlu:** Standard (~2400px) ve Compact (~1300px) seçenekleri kullanıcıya sunulur, onay olmadan frame oluşturulmaz
51
+ - **Görsel Do/Dont örnekleri:** Gerçek component instance'larıyla doğru/yanlış çift kartlar (hiyerarşi, etiket, variant kullanımı)
52
+ - **Endüstri standartları referansı:** `reference_industry_design_standards.md` hafıza dosyası (14 bölüm: M3, HIG, WCAG 2.2, shadcn/ui, Tailwind, Radix, Lucide, DTCG)
53
+ - **Yıllık güncelleme:** Standart kontrolü 1 yıldan eskiyse kullanıcıya güncelleme önerisi (9 kaynak)
54
+ - **SKILL_INDEX.md:** 17→18 skill, "Dokümantasyon" kategorisi eklendi
29
55
 
30
- ### generate-figma-library Skill (Zenginlestirme)
56
+ ### generate-figma-library Skill (Zenginleştirme)
31
57
 
32
- - **Token baglama tablosu:** fill, text fill, stroke, strokeWeight, radius, padding, gap, minHeight, fontSize — tum degerlerin variable'a bagli olmasi zorunlu
33
- - **Text hizalama kurali:** Bilesen tipine gore textAlignHorizontal tablosu (Button=CENTER, Input=LEFT vb.)
34
- - **Bilesen sizing kurali:** Button/Tag=HUG, Input=FILL — Fixed width butonlarda yazi ortalanmaz
35
- - **Code only props:** `layoutPositioning = "ABSOLUTE"` zorunlu — auto-layout gap'te bosluk yaratmayi onler
36
- - **Component set olusturma:** `figma_arrange_component_set` + sonrasinda `figma_execute` ile stroke/auto-layout/rename
58
+ - **Token bağlama tablosu:** fill, text fill, stroke, strokeWeight, radius, padding, gap, minHeight, fontSize — tüm değerlerin variable'a bağlı olması zorunlu
59
+ - **Text hizalama kuralı:** Bileşen tipine göre textAlignHorizontal tablosu (Button=CENTER, Input=LEFT vb.)
60
+ - **Bileşen sizing kuralı:** Button/Tag=HUG, Input=FILL — Fixed width butonlarda yazı ortalanmaz
61
+ - **Code only props:** `layoutPositioning = "ABSOLUTE"` zorunlu — auto-layout gap'te boşluk yaratmayı önler
62
+ - **Component set oluşturma:** `figma_arrange_component_set` + sonrasında `figma_execute` ile stroke/auto-layout/rename
37
63
 
38
64
  ### Plugin Bug Fix
39
65
 
40
- - **`figma_arrange_component_set`:** `getNodeById` → `getNodeByIdAsync` duzeltildi (documentAccess: dynamic-page hatasi)
66
+ - **`figma_arrange_component_set`:** `getNodeById` → `getNodeByIdAsync` düzeltildi (documentAccess: dynamic-page hatası)
41
67
 
42
68
  ### FUTURE.md
43
69
 
44
- - P2: Component documentation skill'inin diger bilesen tiplerinde testi (Input, Card, Modal, Nav)
70
+ - P2: Component documentation skill'inin diğer bileşen tiplerinde testi (Input, Card, Modal, Nav)
45
71
 
46
72
  ## [1.7.4] - 2026-04-04
47
73
 
48
- ### Graceful Port Takeover — Oturum Gecisi Sorunu Cozuldu
74
+ ### Graceful Port Takeover — Oturum Geçişi Sorunu Çözüldü
49
75
 
50
76
  **Bridge (plugin-bridge-server.ts):**
51
- - **Graceful shutdown endpoint (`POST /shutdown`):** HTTP server'a `/shutdown` endpoint'i eklendi. Yeni bridge instance'i eskisine shutdown istegi gonderir, eski bridge gracefully kapanir.
52
- - **`requestShutdownAndRetry()` metodu (YENi):** Port mesgulse ve baska bir F-MCP bridge tespit edilirse, otomatik olarak shutdown istegi gonderir + ayni portu devralir. Plugin port degisikligi gerektirmez.
53
- - **Port stratejisi guncellendi:** "no auto-scanning" → "graceful takeover". Eski oturum kapandiginda yeni oturum ayni portu (varsayilan 5454) devralir, plugin otomatik baglanir.
54
- - **Eski davranis (kaldirildi):** Port mesgulse hata verip kullanicidan `figma_set_port` cagrisi bekliyordu. Artik otomatik devralma yapiyor.
77
+ - **Graceful shutdown endpoint (`POST /shutdown`):** HTTP server'a `/shutdown` endpoint'i eklendi. Yeni bridge instance'ı eskisine shutdown isteği gönderir, eski bridge gracefully kapanır.
78
+ - **`requestShutdownAndRetry()` metodu (YENİ):** Port meşgulse ve başka bir F-MCP bridge tespit edilirse, otomatik olarak shutdown isteği gönderir + aynı portu devralır. Plugin port değişikliği gerektirmez.
79
+ - **Port stratejisi güncellendi:** "no auto-scanning" → "graceful takeover". Eski oturum kapandığında yeni oturum aynı portu (varsayılan 5454) devralır, plugin otomatik bağlanır.
80
+ - **Eski davranış (kaldırıldı):** Port meşgulse hata verip kullanıcıdan `figma_set_port` çağrısı bekliyordu. Artık otomatik devralma yapıyor.
55
81
 
56
- **Etki:** Claude Code / Cursor'da yeni oturum baslatildiginda eski oturumun bridge'i portu tutuyordu. Kullanicinin plugin'de portu elle degistirmesi gerekiyordu. Artik yeni bridge eskisini otomatik kapatip portu devralir.
82
+ **Etki:** Claude Code / Cursor'da yeni oturum başlatıldığında eski oturumun bridge'i portu tutuyordu. Kullanıcının plugin'de portu elle değiştirmesi gerekiyordu. Artık yeni bridge eskisini otomatik kapatıp portu devralır.
57
83
 
58
84
  ## [1.7.2] - 2026-04-04
59
85
 
60
- ### Kapsamli Entegrasyon Testi + 11 Skill Guncelleme + Code-Only Props
86
+ ### Kapsamlı Entegrasyon Testi + 11 Skill Güncelleme + Code-Only Props
61
87
 
62
88
  **Test:**
63
- - Uctan uca entegrasyon testi: 46 arac, 17 skill, 11 faz
89
+ - Uçtan uca entegrasyon testi: 46 araç, 17 skill, 11 faz
64
90
  - 120 token (Primitives + Primitives Dark + Semantic), 6 ekran (3 boyut x 2 tema), 1 component set (5 variant)
65
- - 10 dosya uretildi: 3 kod (React/Swift/Kotlin), 5 token (CSS/Tailwind/Swift/Kotlin/JSON), 1 handoff
66
- - WCAG AA erisebilirlik: tum renk ciftleri PASS, tum touch target >= 44px
91
+ - 10 dosya üretildi: 3 kod (React/Swift/Kotlin), 5 token (CSS/Tailwind/Swift/Kotlin/JSON), 1 handoff
92
+ - WCAG AA erişebilirlik: tüm renk çiftleri PASS, tüm touch target >= 44px
67
93
 
68
- **Skill duzeltmeleri (9):**
94
+ **Skill düzeltmeleri (9):**
69
95
  - `audit/apply-figma-design-system`: figma_take_screenshot → figma_capture_screenshot
70
96
  - `ai-handoff-export`: figma_get_component_details → figma_get_component_for_development
71
97
  - `implement-design`: componentId → nodeId
72
- - `figma-screen-analyzer`: DS compliance formulu duzeltildi
73
- - `ds-impact-analysis`: sayfa limiti 5→20, transitif bagimlilik eklendi
74
- - `fix-figma-design-system-finding`: 3 remediasyon modu kod ornegi
75
- - `generate-figma-library`: batch hata yonetimi pattern
76
-
77
- **Skill zenginlestirmeleri (20):**
78
- - Token description + code syntax (Web/Android/iOS) zorunlu adimi
79
- - Semantic Token = Alias zorunlu kurali
80
- - Breakpoint / ekran boyut token'lari
98
+ - `figma-screen-analyzer`: DS compliance formülü düzeltildi
99
+ - `ds-impact-analysis`: sayfa limiti 5→20, transitif bağımlılık eklendi
100
+ - `fix-figma-design-system-finding`: 3 remediasyon modu kod örneği
101
+ - `generate-figma-library`: batch hata yönetimi pattern
102
+
103
+ **Skill zenginleştirmeleri (20):**
104
+ - Token description + code syntax (Web/Android/iOS) zorunlu adımı
105
+ - Semantic Token = Alias zorunlu kuralı
106
+ - Breakpoint / ekran boyut token'ları
81
107
  - Dark mode token stratejisi (Pro+ native vs Free workaround)
82
- - Code-Only Props katmani (Nathan Curtis yaklasimi)
108
+ - Code-Only Props katmanı (Nathan Curtis yaklaşımı)
83
109
  - Responsive boyut presetleri (3 boyut + dark = 6 ekran zorunlu)
84
- - MinHeight token binding zorunlu adimi
85
- - A11y annotation frame (baslik hiyerarsisi, form iliskilendirme, odak sirasi, alt text, dinamik icerik)
86
- - Erisebilirlik-tasarim tutarlilik kontrolu (7 kural)
87
- - Code-Only Props spec data cikarma (handoff)
110
+ - MinHeight token binding zorunlu adımı
111
+ - A11y annotation frame (başlık hiyerarşisi, form ilişkilendirme, odak sırası, alt text, dinamik içerik)
112
+ - Erişebilirlik-tasarım tutarlılık kontrolü (7 kural)
113
+ - Code-Only Props spec data çıkarma (handoff)
88
114
 
89
115
  **FUTURE.md eklemeleri:**
90
- - P0: Figma Make entegrasyonu + canli prototip sureci
91
- - P0: Figma prototip baglantilari + animasyonlar
116
+ - P0: Figma Make entegrasyonu + canlı prototip süreci
117
+ - P0: Figma prototip bağlantıları + animasyonlar
92
118
  - P1: Figma Dev Mode entegrasyonu
93
119
 
94
- ## [1.7.0] - 2026-04-04 (guncelleme)
120
+ ## [1.7.0] - 2026-04-04 (güncelleme)
95
121
 
96
- ### Claude Code Destegi ve Test Raporu (YENi)
122
+ ### Claude Code Desteği ve Test Raporu (YENİ)
97
123
 
98
- - **README: Claude Code kurulum bolumu eklendi.** `.mcp.json` dosyasi ile NPX tabanli config. `~/.claude/settings.json`'in MCP icin calismadigina dair uyari notu.
99
- - **`.mcp.json` guncellendi:** Cursor'a ozel bash script yerine evrensel NPX config (hem Claude Code hem Cursor ile uyumlu).
100
- - **`docs/TEST_REPORT.md` (YENi):** 46 aracin tamami test edildi (40 PASS, 4 beklenen Figma kisiti, 2 guvenlik nedeniyle SKIP). Free/Pro/Org/Enterprise plan bazli yetenek matrisi. Adim adim test rehberi.
124
+ - **README: Claude Code kurulum bölümü eklendi.** `.mcp.json` dosyası ile NPX tabanlı config. `~/.claude/settings.json`'in MCP için çalışmadığına dair uyarı notu.
125
+ - **`.mcp.json` güncellendi:** Cursor'a özel bash script yerine evrensel NPX config (hem Claude Code hem Cursor ile uyumlu).
126
+ - **`docs/TEST_REPORT.md` (YENİ):** 46 aracın tamamı test edildi (40 PASS, 4 beklenen Figma kısıtı, 2 güvenlik nedeniyle SKIP). Free/Pro/Org/Enterprise plan bazlı yetenek matrisi. Adım adım test rehberi.
101
127
 
102
128
  ## [1.7.0] - 2026-04-03
103
129
 
104
- ### Coklu Port + Otomatik AI Araci Tespiti (YENi)
130
+ ### Çoklu Port + Otomatik AI Aracı Tespiti (YENİ)
105
131
 
106
- - **Plugin coklu port baglantisi:** 5454-5470 arasini periyodik tarar (10s), bulunan tum bridge'lere sessizce baglanir.
107
- - **AI araci otomatik tespiti:** Bridge parent process'ten (Claude, Cursor, Claude Code, Windsurf) veya `FIGMA_MCP_CLIENT_NAME` env var'dan otomatik tespit. Welcome mesajinda `clientName` gonderilir.
108
- - **Port gecis UI:** ◀▶ ok tuslariyla bagli portlar arasi gecis. Status bar'da "Ready" + aktif port etiketi.
109
- - **(i) info paneli:** Tiklaninca bagli portlar listesi acilir (● aktif ○ digerleri).
110
- - **"Otomatik tara" butonu kaldirildi:** Coklu port bunu otomatik yapar.
111
- - **SVG/PNG export duzeltmesi:** `batchExportNodes` handler + result case eklendi (timeout sorunu cozuldu).
112
- - **Token disabled:** Token girildikten sonra input + sure secici disabled (sadece sil + yeniden ekle).
113
- - **Responsive layout:** Icerik tasma onlendi, sabit genislik sadece yukseklik dinamik.
114
- - **Plugin max height:** 420→700 (icerik kesilmez).
132
+ - **Plugin çoklu port bağlantısı:** 5454-5470 arasını periyodik tarar (10s), bulunan tüm bridge'lere sessizce bağlanır.
133
+ - **AI aracı otomatik tespiti:** Bridge parent process'ten (Claude, Cursor, Claude Code, Windsurf) veya `FIGMA_MCP_CLIENT_NAME` env var'dan otomatik tespit. Welcome mesajında `clientName` gönderilir.
134
+ - **Port geçiş UI:** ◀▶ ok tuşlarıyla bağlı portlar arası geçiş. Status bar'da "Ready" + aktif port etiketi.
135
+ - **(i) info paneli:** Tıklanınca bağlı portlar listesi açılır (● aktif ○ diğerleri).
136
+ - **"Otomatik tara" butonu kaldırıldı:** Çoklu port bunu otomatik yapar.
137
+ - **SVG/PNG export düzeltmesi:** `batchExportNodes` handler + result case eklendi (timeout sorunu çözüldü).
138
+ - **Token disabled:** Token girildikten sonra input + süre seçici disabled (sadece sil + yeniden ekle).
139
+ - **Responsive layout:** İçerik taşma önlendi, sabit genişlik sadece yükseklik dinamik.
140
+ - **Plugin max height:** 420→700 (içerik kesilmez).
115
141
 
116
142
  ## [1.6.3] - 2026-04-03
117
143
 
118
- ### Dokumantasyon temizligi
144
+ ### Dokümantasyon temizliği
119
145
 
120
- - **28→21 aktif dokuman:** 10 dosya arsivlendi (OAUTH_SETUP, SELF_HOSTING, DEPLOYMENT_COMPARISON, CLAUDE_DESKTOP_CONFIG, FIGMA_USE, FMCP_AGENT_CANVAS_COMPAT, RECONSTRUCTION_FORMAT, PUBLISH-PLUGIN, DEPENDENCY_LAYERS, RELEASE_NOTES_TEMPLATE + root: SECURITY_FIXES_ANALYSIS, HANDOFF_TEMPLATE)
121
- - **Kirik link: 0** — tum referanslar guncellendi veya kaldirildi
122
- - **README sadeleştirildi:** Dokuman tablosu kullanici odakli, gereksiz satirlar kaldirildi
123
- - **TOOLS.md:** Agent Canvas referanslari v1.6 araclariyla guncellendi
146
+ - **28→21 aktif doküman:** 10 dosya arşivlendi (OAUTH_SETUP, SELF_HOSTING, DEPLOYMENT_COMPARISON, CLAUDE_DESKTOP_CONFIG, FIGMA_USE, FMCP_AGENT_CANVAS_COMPAT, RECONSTRUCTION_FORMAT, PUBLISH-PLUGIN, DEPENDENCY_LAYERS, RELEASE_NOTES_TEMPLATE + root: SECURITY_FIXES_ANALYSIS, HANDOFF_TEMPLATE)
147
+ - **Kırık link: 0** — tüm referanslar güncellendi veya kaldırıldı
148
+ - **README sadeleştirildi:** Doküman tablosu kullanıcı odaklı, gereksiz satırlar kaldırıldı
149
+ - **TOOLS.md:** Agent Canvas referansları v1.6 araçlarıyla güncellendi
124
150
 
125
151
  ## [1.6.2] - 2026-04-02
126
152
 
127
- ### Dokumantasyon duzeltmeleri
153
+ ### Dokümantasyon düzeltmeleri
128
154
 
129
- - README: 5 kirik archived link duzeltildi, figma_export_nodes eklendi, REST_API_GUIDE + CONTRIBUTING referanslari eklendi
130
- - README: "33 arac" → "46 arac", tekrar eden satirlar kaldirildi
131
- - FUTURE.md: 9 tamamlanan P0-P3 maddesi isaretlendi
155
+ - README: 5 kırık archived link düzeltildi, figma_export_nodes eklendi, REST_API_GUIDE + CONTRIBUTING referansları eklendi
156
+ - README: "33 araç" → "46 araç", tekrar eden satırlar kaldırıldı
157
+ - FUTURE.md: 9 tamamlanan P0-P3 maddesi işaretlendi
132
158
  - KURULUM.md: versiyon 1.2.0 → 1.6.2
133
159
 
134
160
  ## [1.6.1] - 2026-04-02
135
161
 
136
- ### Batch Export (YENi — 1 tool)
162
+ ### Batch Export (YENİ — 1 tool)
137
163
 
138
- - **`figma_export_nodes`**: SVG/PNG/JPG/PDF batch export (1-50 node). Plugin exportAsync kullanir, REST token gerektirmez. Base64 ciktisi, olceklendirilebilir (0.5-4x). SVG vektorel koruma, outline text ve node ID options.
139
- - **`BATCH_EXPORT_NODES`** plugin handler eklendi (code.js). Promise.all ile paralel export, node basina hata yonetimi.
164
+ - **`figma_export_nodes`**: SVG/PNG/JPG/PDF batch export (1-50 node). Plugin exportAsync kullanır, REST token gerektirmez. Base64 çıktısı, ölçeklendirilebilir (0.5-4x). SVG vektörel koruma, outline text ve node ID options.
165
+ - **`BATCH_EXPORT_NODES`** plugin handler eklendi (code.js). Promise.all ile paralel export, node başına hata yönetimi.
140
166
  - **Connector**: `batchExportNodes()` metodu eklendi.
141
- - **Tip tanimlari**: `PluginExportResult`, `PluginBatchExportPayload` (types/figma.ts).
167
+ - **Tip tanımları**: `PluginExportResult`, `PluginBatchExportPayload` (types/figma.ts).
142
168
 
143
- ### Toplam: 46 arac (onceki: 45)
169
+ ### Toplam: 46 araç (önceki: 45)
144
170
 
145
171
  ## [1.6.0] - 2026-04-02
146
172
 
147
- ### Tasarim Olusturma Araclari (YENi — 4 tool)
173
+ ### Tasarım Oluşturma Araçları (YENİ — 4 tool)
148
174
 
149
- - **`figma_create_frame`**: Yeni frame olusturma (x, y, boyut, renk, parentId)
175
+ - **`figma_create_frame`**: Yeni frame oluşturma (x, y, boyut, renk, parentId)
150
176
  - **`figma_create_text`**: Yeni metin node'u (font, boyut, renk)
151
- - **`figma_create_rectangle`**: Dikdortgen olusturma (boyut, renk, cornerRadius)
152
- - **`figma_create_group`**: Mevcut node'lari gruplama
177
+ - **`figma_create_rectangle`**: Dikdörtgen oluşturma (boyut, renk, cornerRadius)
178
+ - **`figma_create_group`**: Mevcut node'ları gruplama
153
179
 
154
- ### Kutüphane ve Tanilama (YENi — 2 tool)
180
+ ### Kütüphane ve Tanılama (YENİ — 2 tool)
155
181
 
156
- - **`figma_search_assets`**: Takim kutuphanesi variable collection arama (plugin teamLibrary API)
157
- - **`figma_plugin_diagnostics`**: Plugin saglik kontrolu (uptime, bellek, baglanti, port, rate limit)
182
+ - **`figma_search_assets`**: Takım kütüphanesi variable collection arama (plugin teamLibrary API)
183
+ - **`figma_plugin_diagnostics`**: Plugin sağlık kontrolü (uptime, bellek, bağlantı, port, rate limit)
158
184
 
159
- ### Dokumantasyon
185
+ ### Dokümantasyon
160
186
 
161
- - **CONTRIBUTING.md**: Yerel kurulum, test, tool ekleme, versiyon guncelleme rehberi
162
- - **docs/REST_API_GUIDE.md**: Token kurulumu, ornek cagrilar, hibrit akis, rate limit yonetimi
187
+ - **CONTRIBUTING.md**: Yerel kurulum, test, tool ekleme, versiyon güncelleme rehberi
188
+ - **docs/REST_API_GUIDE.md**: Token kurulumu, örnek çağrılar, hibrit akış, rate limit yönetimi
163
189
  - **npm keywords**: design-system, design-tokens, ui-automation, zero-trust, cursor, agent eklendi
164
190
 
165
- ### Toplam: 45 arac (onceki: 39)
191
+ ### Toplam: 45 araç (önceki: 39)
166
192
 
167
193
  ## [1.5.2] - 2026-04-02
168
194
 
169
- ### Test altyapisi
195
+ ### Test altyapısı
170
196
 
171
197
  - **36 test:** response-guard.ts (18 test) + figma-url.ts (16 test) + basic (2 test)
172
- - **CI'a test adimi eklendi:** `npm test` her push/PR'da otomatik calisir
173
- - **Coverage config:** Plugin-only modula odakli; tam mod dosyalari haric tutuldu
174
- - **Test dosyalari:** `tests/core/response-guard.test.ts`, `tests/core/figma-url.test.ts`
198
+ - **CI'a test adımı eklendi:** `npm test` her push/PR'da otomatik çalışır
199
+ - **Coverage config:** Plugin-only modüla odaklı; tam mod dosyaları hariç tutuldu
200
+ - **Test dosyaları:** `tests/core/response-guard.test.ts`, `tests/core/figma-url.test.ts`
175
201
 
176
202
  ## [1.5.1] - 2026-04-02
177
203
 
178
- ### TypeScript tip guvenligi
204
+ ### TypeScript tip güvenliği
179
205
 
180
- - **Yeni tip dosyasi:** `src/core/types/figma.ts` — RGBColor, FigmaVariable, FigmaVariableCollection, FigmaPaintStyle, FigmaTextStyle, FigmaComponent, PluginVariablesPayload, PluginStylesPayload, PluginComponentPayload vb.
181
- - **Plugin-only `any` azaltma:** 34 → 5 (%85 azalma). Kalan 5: Zod sema (z.any) ve resolvedType cast.
182
- - **Connector `any` azaltma:** 46 → 1 (%98 azalma). Tum Promise<any> donusleri tipli hale getirildi.
183
- - **Bridge server `any` azaltma:** 3 → 1 (%67). WebSocket mesaj tipleri iyilestirildi.
184
- - **Plugin minify geri alindi:** esbuild minify Figma sandbox'inda "Syntax error" olusturuyordu. Orijinal code.js geri yuklendi.
206
+ - **Yeni tip dosyası:** `src/core/types/figma.ts` — RGBColor, FigmaVariable, FigmaVariableCollection, FigmaPaintStyle, FigmaTextStyle, FigmaComponent, PluginVariablesPayload, PluginStylesPayload, PluginComponentPayload vb.
207
+ - **Plugin-only `any` azaltma:** 34 → 5 (%85 azalma). Kalan 5: Zod şema (z.any) ve resolvedType cast.
208
+ - **Connector `any` azaltma:** 46 → 1 (%98 azalma). Tüm Promise<any> dönüşleri tipli hale getirildi.
209
+ - **Bridge server `any` azaltma:** 3 → 1 (%67). WebSocket mesaj tipleri iyileştirildi.
210
+ - **Plugin minify geri alındı:** esbuild minify Figma sandbox'ında "Syntax error" oluşturuyordu. Orijinal code.js geri yüklendi.
185
211
 
186
212
  ## [1.5.0] - 2026-04-02
187
213
 
188
214
  ### Plugin optimizasyonu
189
215
 
190
- - **Plugin minify:** `f-mcp-plugin/code.js` esbuild ile minify (101KB→65KB, %37 kucuk). `build:plugin` script eklendi; `prepublishOnly` otomatik minify.
216
+ - **Plugin minify:** `f-mcp-plugin/code.js` esbuild ile minify (101KB→65KB, %37 küçük). `build:plugin` script eklendi; `prepublishOnly` otomatik minify.
191
217
 
192
- ### CI/CD guclendirme
218
+ ### CI/CD güçlendirme
193
219
 
194
- - **TypeScript tip kontrolu:** `tsc --noEmit` CI'a eklendi — derleme hatalari artik otomatik yakalaniyor.
195
- - **Build dogrulama:** `npm run build:local` CI'da calistirilir.
196
- - **Versiyon tutarlilik kontrolu:** CI, `package.json` versiyonunun `src/` dosyalariyla eslesip eslesmedigini otomatik kontrol ediyor.
197
- - **Guvenlik taramas:**: `npm audit` CI'a eklendi.
220
+ - **TypeScript tip kontrolü:** `tsc --noEmit` CI'a eklendi — derleme hataları artık otomatik yakalanıyor.
221
+ - **Build doğrulama:** `npm run build:local` CI'da çalıştırılır.
222
+ - **Versiyon tutarlılık kontrolü:** CI, `package.json` versiyonunun `src/` dosyalarıyla eşleşip eşleşmediğini otomatik kontrol ediyor.
223
+ - **Güvenlik taraması:** `npm audit` CI'a eklendi.
198
224
 
199
225
  ### Temizlik
200
226
 
201
- - **Archive silindi:** 8.1 MB gereksiz dosya (eski zip, gorseller, eski surum dosyalari) — git gecmisinde mevcut.
202
- - **Belgeler arsivlendi:** 6 tekrar eden / eski belge `docs/archived/` klasorune tasinarak aktif belge sayisi 30→24'e indirildi.
203
- - **TODO'lar temizlendi:** `enrichment-service.ts` ve `style-resolver.ts`'deki 6 TODO/FIXME notu aciklayici yorumlarla degistirildi. Kaynak kodda sifir TODO.
227
+ - **Archive silindi:** 8.1 MB gereksiz dosya (eski zip, görseller, eski sürüm dosyaları) — git geçmişinde mevcut.
228
+ - **Belgeler arşivlendi:** 6 tekrar eden / eski belge `docs/archived/` klasörüne taşınarak aktif belge sayısı 30→24'e indirildi.
229
+ - **TODO'lar temizlendi:** `enrichment-service.ts` ve `style-resolver.ts`'deki 6 TODO/FIXME notu açıklayıcı yorumlarla değiştirildi. Kaynak kodda sıfır TODO.
204
230
 
205
231
  ## [1.4.4] - 2026-04-02
206
232
 
207
- ### Versiyon tutarliligi (kesin duzeltme)
233
+ ### Versiyon tutarlılığı (kesin düzeltme)
208
234
 
209
- - Tum kaynak kod, dokuman, config ve dist dosyalarindaki versiyon string'leri 1.4.4 olarak senkronize.
210
- - npm paketi guncel dist ile yeniden yayinlandi (onceki 1.4.3 npm'de eski dist icerebiliyordu).
211
- - NPX ornekleri @latest kullanacak sekilde guncellendi.
235
+ - Tüm kaynak kod, doküman, config ve dist dosyalarındaki versiyon string'leri 1.4.4 olarak senkronize.
236
+ - npm paketi güncel dist ile yeniden yayınlandı (önceki 1.4.3 npm'de eski dist içerebiliyordu).
237
+ - NPX örnekleri @latest kullanacak şekilde güncellendi.
212
238
 
213
- ## [1.4.3] - 2026-04-02 [NOT: npm paketi eski dist icerebilir, 1.4.4 kullanin]
239
+ ## [1.4.3] - 2026-04-02 [NOT: npm paketi eski dist içerebilir, 1.4.4 kullanın]
214
240
 
215
- ### Versiyon tutarliligi
241
+ ### Versiyon tutarlılığı
216
242
 
217
- - Tum kaynak kod, dokuman ve config dosyalarindaki versiyon referanslari senkronize edildi.
243
+ - Tüm kaynak kod, doküman ve config dosyalarındaki versiyon referansları senkronize edildi.
218
244
 
219
245
  ## [1.4.2] - 2026-04-02
220
246
 
221
- ### Kritik duzeltme
247
+ ### Kritik düzeltme
222
248
 
223
- - **dist/browser pakete geri eklendi:** v1.4.1'de tam mod (local.js) `dist/browser/local.js`'i import ediyordu ama dosya paketten cikarilmisti → MODULE_NOT_FOUND hatasi. `dist/cloudflare/` haric tutuldu (bu kullanilmiyor).
249
+ - **dist/browser pakete geri eklendi:** v1.4.1'de tam mod (local.js) `dist/browser/local.js`'i import ediyordu ama dosya paketten çıkarılmıştı → MODULE_NOT_FOUND hatası. `dist/cloudflare/` hariç tutuldu (bu kullanılmıyor).
224
250
 
225
- ## [1.4.1] - 2026-04-02 [YANLIS — tam mod kirik, 1.4.2 kullanin]
251
+ ## [1.4.1] - 2026-04-02 [YANLIŞ — tam mod kırık, 1.4.2 kullanın]
226
252
 
227
253
  ### npm paket optimizasyonu
228
254
 
229
- - **Paket boyutu:** 284 KB → 230 KB (%19 kucuk), acik 1.7 MB → 1.2 MB (%30 kucuk)
230
- - **Dosya sayisi:** 128 → 96 (32 gereksiz dosya cikarildi)
231
- - **Cikarilan:** `dist/cloudflare/` (440 KB), `dist/browser/` (44 KB) — plugin-only modda kullanilmiyordu
232
- - **Korunan:** `dist/local.js` (tam mod), `dist/core/` (paylasimli), `f-mcp-plugin/`
255
+ - **Paket boyutu:** 284 KB → 230 KB (%19 küçük), açık 1.7 MB → 1.2 MB (%30 küçük)
256
+ - **Dosya sayısı:** 128 → 96 (32 gereksiz dosya çıkarıldı)
257
+ - **Çıkarılan:** `dist/cloudflare/` (440 KB), `dist/browser/` (44 KB) — plugin-only modda kullanılmıyordu
258
+ - **Korunan:** `dist/local.js` (tam mod), `dist/core/` (paylaşımlı), `f-mcp-plugin/`
233
259
 
234
260
  ## [1.4.0] - 2026-04-02
235
261
 
236
- ### Figma REST API entegrasyonu (YENi)
262
+ ### Figma REST API entegrasyonu (YENİ)
237
263
 
238
- - **`figma_set_rest_token`**: Figma REST API token girisi (figd_... formati). Token dogrulama (/v1/me), 10s timeout.
239
- - **`figma_rest_api`**: Direkt REST API cagrisi (export, comments, versions, teams). Endpoint-bazli akilli kirpma, 429 retry (3 deneme, exponential backoff), rate limit on kontrolu.
240
- - **`figma_get_rest_token_status`**: Token durumu, rate limit bilgisi, dusuk limit uyarisi.
264
+ - **`figma_set_rest_token`**: Figma REST API token girişi (figd_... formatı). Token doğrulama (/v1/me), 10s timeout.
265
+ - **`figma_rest_api`**: Direkt REST API çağrısı (export, comments, versions, teams). Endpoint-bazlı akıllı kırpma, 429 retry (3 deneme, exponential backoff), rate limit ön kontrolü.
266
+ - **`figma_get_rest_token_status`**: Token durumu, rate limit bilgisi, düşük limit uyarısı.
241
267
  - **`figma_clear_rest_token`**: Token temizleme.
242
268
 
243
- ### Response Guard — Context korumasi
269
+ ### Response Guard — Context koruması
244
270
 
245
- - **`response-guard.ts`**: Paylasimli cevap kirpma modulu. AI context penceresi tasmamasini onler.
246
- - **Endpoint-bazli kirpma**: comments → son 20, versions → son 10, files → ilk 20 sayfa (children stripped).
247
- - **Boyut limitleri**: 200KB ustu otomatik kirpma. Gercek test: 237KB → 10KB (comments), 533KB → 1KB (file).
248
- - **AI bilgilendirme**: Kirpilan cevaplara `_truncated` ve `_responseGuard` metadata eklenir.
271
+ - **`response-guard.ts`**: Paylaşımlı cevap kırpma modülü. AI context penceresi taşmasını önler.
272
+ - **Endpoint-bazlı kırpma**: comments → son 20, versions → son 10, files → ilk 20 sayfa (children stripped).
273
+ - **Boyut limitleri**: 200KB üstü otomatik kırpma. Gerçek test: 237KB → 10KB (comments), 533KB → 1KB (file).
274
+ - **AI bilgilendirme**: Kırpılan cevaplara `_truncated` ve `_responseGuard` metadata eklenir.
249
275
 
250
- ### 429 Rate Limit korumalari
276
+ ### 429 Rate Limit korumaları
251
277
 
252
278
  - **Otomatik retry**: 429 durumunda 3 deneme, Retry-After header veya exponential backoff (5s→10s→20s), max 45s.
253
- - **On kontrol**: remaining=0 → kisa devre hata; remaining<10 → cevaba uyari blogu.
254
- - **Rate limit broadcast**: Her REST cagrisindan sonra guncellenen limitler tum plugin'lere bildirilir.
279
+ - **Ön kontrol**: remaining=0 → kısa devre hata; remaining<10 → cevaba uyarı bloğu.
280
+ - **Rate limit broadcast**: Her REST çağrısından sonra güncellenen limitler tüm plugin'lere bildirilir.
255
281
 
256
- ### Plugin UI — Token ve limit yonetimi
282
+ ### Plugin UI — Token ve limit yönetimi
257
283
 
258
- - **Token girisi**: Advanced panelinde sifrelenmis input + sure secici (1/7/30/90 gun).
259
- - **Kalici depolama**: `figma.clientStorage` ile token plugin kapatilip acilsa bile kalir. Sure dolunca otomatik temizlenir.
260
- - **Otomatik restore**: Plugin acildiginda → clientStorage → UI + bridge otomatik gonderi.
261
- - **Rate limit gostergesi**: Kullanim bar'i (yesil/sari/kirmizi), dusuk limit uyarisi (%20), kritik uyari (%5, nabiz animasyonu), doldu mesaji.
262
- - **Token suresi**: Kalan gun sayaci + bitis tarihi; ≤7 gun sari uyari, dolmuskirmizi + otomatik silme.
284
+ - **Token girişi**: Advanced panelinde şifrelenmiş input + süre seçici (1/7/30/90 gün).
285
+ - **Kalıcı depolama**: `figma.clientStorage` ile token plugin kapatılıp açılsa bile kalır. Süre dolunca otomatik temizlenir.
286
+ - **Otomatik restore**: Plugin açıldığında → clientStorage → UI + bridge otomatik gönderi.
287
+ - **Rate limit göstergesi**: Kullanım bar'ı (yeşil/sarı/kırmızı), düşük limit uyarısı (%20), kritik uyarı (%5, nabız animasyonu), doldu mesajı.
288
+ - **Token süresi**: Kalan gün sayacı + bitiş tarihi; ≤7 gün sarı uyarı, dolmuşkırmızı + otomatik silme.
263
289
 
264
290
  ### Kod kalitesi
265
291
 
266
- - **`response-guard.ts`** yeni modul: `estimateTokens()`, `calculateSizeKB()`, `truncateResponse()`, `truncateRestResponse()`.
267
- - **Port degisiminde token koruma**: `restart()` token'i save/restore eder.
268
- - **Token reconnect**: WebSocket yeniden baglandiginda kaydedilmis token otomatik gonderilir.
292
+ - **`response-guard.ts`** yeni modül: `estimateTokens()`, `calculateSizeKB()`, `truncateResponse()`, `truncateRestResponse()`.
293
+ - **Port değişiminde token koruma**: `restart()` token'ı save/restore eder.
294
+ - **Token reconnect**: WebSocket yeniden bağlandığında kaydedilmiş token otomatik gönderilir.
269
295
 
270
296
  ## [1.3.2] - 2026-04-02
271
297
 
272
- ### Bridge (hata duzeltmeleri)
298
+ ### Bridge (hata düzeltmeleri)
273
299
 
274
- - **Hafiza sizintisi duzeltmesi:** `tryListenAsync()` timeout yolunda `_listenResolve` temizlenmiyordu; tekrarlanan port degisikliklerinde bellek sisiyordu.
275
- - **bridgeVersion:** Plugin welcome mesajinda `"1.1.0"` → `"1.3.2"` olarak guncellendi.
276
- - **Versiyon tutarliligi:** McpServer version, `.cursor-plugin/plugin.json`, `package-lock.json` hepsi senkronize edildi.
277
- - **Stale dist temizligi:** Silinen `figma-style-extractor` kaynak dosyasinin artik dist/ kopyalari kaldirildi.
300
+ - **Hafıza sızıntısı düzeltmesi:** `tryListenAsync()` timeout yolunda `_listenResolve` temizlenmiyordu; tekrarlanan port değişikliklerinde bellek şişiyordu.
301
+ - **bridgeVersion:** Plugin welcome mesajında `"1.1.0"` → `"1.3.2"` olarak güncellendi.
302
+ - **Versiyon tutarlılığı:** McpServer version, `.cursor-plugin/plugin.json`, `package-lock.json` hepsi senkronize edildi.
303
+ - **Stale dist temizliği:** Silinen `figma-style-extractor` kaynak dosyasının artık dist/ kopyaları kaldırıldı.
278
304
 
279
305
  ## [1.3.1] - 2026-04-02
280
306
 
281
- ### Bridge (hata duzeltmeleri)
307
+ ### Bridge (hata düzeltmeleri)
282
308
 
283
- - **`restart()` race condition duzeltmesi:** `tryListenSync()` fire-and-forget yaklasimi yerine async Promise tabanli `tryListenAsync()` — port bind sonucu kesin olarak beklenir (500ms sabit delay kaldirildi).
284
- - **`figma_set_port` concurrent koruma:** Mutex flag ile esanli cagrilarda "devam ediyor" hatasi; ikinci cagri onceki tamamlanmadan baslamaz.
285
- - **`probePort().then()` eksik `.catch()`:** Probe hatalarinda `startError` set edilir, sessiz hata onlenir.
286
- - **`_listenResolve` callback:** Basarili/basarisiz bind sonrasi async restart akisini bilgilendirir.
309
+ - **`restart()` race condition düzeltmesi:** `tryListenSync()` fire-and-forget yaklaşımı yerine async Promise tabanlı `tryListenAsync()` — port bind sonucu kesin olarak beklenir (500ms sabit delay kaldırıldı).
310
+ - **`figma_set_port` concurrent koruma:** Mutex flag ile eşanlı çağrılarda "devam ediyor" hatası; ikinci çağrı önceki tamamlanmadan başlamaz.
311
+ - **`probePort().then()` eksik `.catch()`:** Probe hatalarında `startError` set edilir, sessiz hata önlenir.
312
+ - **`_listenResolve` callback:** Başarılı/başarısız bind sonrası async restart akışını bilgilendirir.
287
313
 
288
- ### Versiyon tutarliligi
314
+ ### Versiyon tutarlılığı
289
315
 
290
316
  - McpServer version: `"1.1.2"` → `"1.3.0"` (`local-plugin-only.ts`, `local.ts`)
291
317
  - `.cursor-plugin/plugin.json`: `"1.2.1"` → `"1.3.0"`
292
318
  - `package-lock.json` senkronize edildi
293
319
 
294
- ### Dokumantasyon
320
+ ### Dokümantasyon
295
321
 
296
- - `docs/TOOLS_FULL_LIST.md`: `figma_set_port` eklendi; arac sayisi 34 → 35
322
+ - `docs/TOOLS_FULL_LIST.md`: `figma_set_port` eklendi; araç sayısı 34 → 35
297
323
 
298
324
  ### Temizlik
299
325
 
300
- - **Atil kod:** `figma-style-extractor.ts` (hic import edilmiyor) silindi; `extractVariant()` (hic cagrilmiyor) silindi
326
+ - **Atıl kod:** `figma-style-extractor.ts` (hiç import edilmiyor) silindi; `extractVariant()` (hiç çağrılmıyor) silindi
301
327
  - **Orphan script'ler:** `launch-figma-debug.ps1/.sh`, `launch-figma-with-plugin.sh`, `plugin-ac.py` silindi
302
- - **Archive duplicate:** `archive/skills-root-duplicate/` silindi (`.cursor/skills/f-mcp/` ile ayni)
328
+ - **Archive duplicate:** `archive/skills-root-duplicate/` silindi (`.cursor/skills/f-mcp/` ile aynı)
303
329
 
304
330
  ## [1.3.0] - 2026-04-02
305
331
 
306
- ### Bridge (port yonetimi)
332
+ ### Bridge (port yönetimi)
307
333
 
308
- - **`figma_set_port` araci (YENi):** Runtime'da WebSocket bridge portunu degistirme. Port mesgulse AI araci (Claude/Cursor) `figma_set_port(5456)` cagirarak baska bir porta gecer; Figma plugin'de ayni portu secince baglanti kurulur. Aralik: 5454-5470.
309
- - **Port catismasi artik oldurucu degil:** Port mesgulse `process.exit(1)` yerine MCP stdio sunucusu ayakta kalir ve `figma_get_status` uzerinden hata mesaji doner. Kullanici `figma_set_port` ile farkli porta gecebilir.
310
- - **`figma_get_status` genisledi:** `bridgeListening`, `startError` alanlari eklendi; bridge dinlemiyorsa net hata mesaji ve port degistirme yonlendirmesi.
311
- - **`PluginBridgeServer` yeni API'ler:** `restart(port)`, `getPort()`, `isListening()`, `getStartError()` metodlari eklendi.
334
+ - **`figma_set_port` aracı (YENİ):** Runtime'da WebSocket bridge portunu değiştirme. Port meşgulse AI aracı (Claude/Cursor) `figma_set_port(5456)` çağırarak başka bir porta geçer; Figma plugin'de aynı portu seçince bağlantı kurulur. Aralık: 5454-5470.
335
+ - **Port çatışması artık öldürücü değil:** Port meşgulse `process.exit(1)` yerine MCP stdio sunucusu ayakta kalır ve `figma_get_status` üzerinden hata mesajı döner. Kullanıcı `figma_set_port` ile farklı porta geçebilir.
336
+ - **`figma_get_status` genişledi:** `bridgeListening`, `startError` alanları eklendi; bridge dinlemiyorsa net hata mesajı ve port değiştirme yönlendirmesi.
337
+ - **`PluginBridgeServer` yeni API'ler:** `restart(port)`, `getPort()`, `isListening()`, `getStartError()` metodları eklendi.
312
338
 
313
- ### Coklu AI araci (ayni anda Claude + Cursor)
339
+ ### Çoklu AI aracı (aynı anda Claude + Cursor)
314
340
 
315
- - Claude Desktop ve Cursor ayni anda calistiginda port catismasini cozen akis: ilk acilan varsayilan portu (5454) alir, ikinci acilan `figma_set_port` ile farkli porta gecer. Her AI araci kendi bridge'i uzerinden bagimsiz calisir.
341
+ - Claude Desktop ve Cursor aynı anda çalıştığında port çatışmasını çözen akış: ilk açılan varsayılan portu (5454) alır, ikinci açılan `figma_set_port` ile farklı porta geçer. Her AI aracı kendi bridge'i üzerinden bağımsız çalışır.
316
342
 
317
- ### Bridge (onceki unreleased)
343
+ ### Bridge (önceki unreleased)
318
344
 
319
- - **Sabit port stratejisi:** Otomatik port taramasi (5454-5470 sirali deneme) kaldirildi. Bridge artik yapilandirilan porta dogrudan baglanir; port mesgulse HTTP health-check ile canli F-MCP / olu surec / farkli servis ayirt edilir; olu port icin kisa gecikmeli tek retry.
320
- - **Graceful shutdown:** `local-plugin-only.ts`'e SIGINT/SIGTERM handler eklendi -- IDE veya Claude kapandiginda `bridge.stop()` cagrilarak port aninda serbest birakilir (olu port sorununun ana duzeltmesi).
321
- - **probePort edge case:** `FIGMA_BRIDGE_HOST=0.0.0.0` durumunda port probe'u `127.0.0.1` uzerinden yapilir.
345
+ - **Sabit port stratejisi:** Otomatik port taraması (5454-5470 sıralı deneme) kaldırıldı. Bridge artık yapılandırılan porta doğrudan bağlanır; port meşgulse HTTP health-check ile canlı F-MCP / ölü süreç / farklı servis ayırt edilir; ölü port için kısa gecikmeli tek retry.
346
+ - **Graceful shutdown:** `local-plugin-only.ts`'e SIGINT/SIGTERM handler eklendi -- IDE veya Claude kapandığında `bridge.stop()` çağrılarak port anında serbest bırakılır (ölü port sorununun ana düzeltmesi).
347
+ - **probePort edge case:** `FIGMA_BRIDGE_HOST=0.0.0.0` durumunda port probe'u `127.0.0.1` üzerinden yapılır.
322
348
 
323
- ### Dokumantasyon
349
+ ### Dokümantasyon
324
350
 
325
- - [docs/MULTI_INSTANCE.md](docs/MULTI_INSTANCE.md): "Tek MCP = tum pencereler ayni oturum" bolumu, **"Paralel gorevler (Claude + Cursor + ikinci hat)"** bolumu (mimari, port tablosu, plugin Advanced uyarisi, Cursor paylasimli MCP notu, audit log cakisma notu).
326
- - [docs/CLAUDE_DESKTOP_CONFIG.md](docs/CLAUDE_DESKTOP_CONFIG.md): coklu `mcpServers` ornegi (5455 + 5470 farkli sunucu adlariyla).
327
- - [KURULUM.md](KURULUM.md): Claude config "sik gorulen hatalar" ozeti.
328
- - [README.md](README.md): Port catismasi uyarisi guncellemesi.
351
+ - [docs/MULTI_INSTANCE.md](docs/MULTI_INSTANCE.md): "Tek MCP = tüm pencereler aynı oturum" bölümü, **"Paralel görevler (Claude + Cursor + ikinci hat)"** bölümü (mimari, port tablosu, plugin Advanced uyarısı, Cursor paylaşımlı MCP notu, audit log çakışma notu).
352
+ - [docs/CLAUDE_DESKTOP_CONFIG.md](docs/CLAUDE_DESKTOP_CONFIG.md): çoklu `mcpServers` örneği (5455 + 5470 farklı sunucu adlarıyla).
353
+ - [KURULUM.md](KURULUM.md): Claude config "sık görülen hatalar" özeti.
354
+ - [README.md](README.md): Port çatışması uyarısı güncellemesi.
329
355
 
330
- ### Araclar
356
+ ### Araçlar
331
357
 
332
- - `npm run check-ports` -- [`scripts/check-ports.sh`](scripts/check-ports.sh): 5454-5470 arasinda LISTEN durumundaki surecleri listeler (paralel gorev dogrulamasi ve sorun giderme icin).
358
+ - `npm run check-ports` -- [`scripts/check-ports.sh`](scripts/check-ports.sh): 5454-5470 arasında LISTEN durumundaki süreçleri listeler (paralel görev doğrulaması ve sorun giderme için).
333
359
 
334
360
  ### Cursor skills (F-MCP)
335
361
 
336
- - Yeni skill'ler: `audit-figma-design-system`, `fix-figma-design-system-finding`, `apply-figma-design-system` (tuval ici design system audit/fix/apply; F-MCP Bridge arac eslemesi).
337
- - Mevcut F-MCP skill'lerine karsilikli **F-MCP skill koordinasyonu** bolumleri eklendi.
338
- - Tuval skill'lerinde `figma_get_metadata` kaldirildi; Bridge ile uyum icin `figma_get_file_data` / `figma_get_component` / `figma_get_design_context` eslemesi; **design-drift-detector** koordinasyonunda tipik sira (implement - drift) netlestirildi; **audit** icinde zincir performans notlari.
339
- - [.cursor/skills/f-mcp/SKILL_INDEX.md](.cursor/skills/f-mcp/SKILL_INDEX.md): tum skill'lerin dizini, workspace koku (FCM) notu, ozet akis.
340
- - `npm run validate:fmcp-skills` -- [`scripts/validate-fmcp-skills-tools.mjs`](scripts/validate-fmcp-skills-tools.mjs): skill `.md` icindeki `figma_*` adlarini `src/local.ts`, `src/local-plugin-only.ts`, `src/core/figma-tools.ts` icindeki `registerTool` birlesimne gore dogrular.
341
- - GitHub Actions: [`.github/workflows/ci.yml`](.github/workflows/ci.yml) -- `master` / `main` icin PR ve push'ta `npm run validate:fmcp-skills` zorunlu.
362
+ - Yeni skill'ler: `audit-figma-design-system`, `fix-figma-design-system-finding`, `apply-figma-design-system` (tuval içi design system audit/fix/apply; F-MCP Bridge araç eşlemesi).
363
+ - Mevcut F-MCP skill'lerine karşılıklı **F-MCP skill koordinasyonu** bölümleri eklendi.
364
+ - Tuval skill'lerinde `figma_get_metadata` kaldırıldı; Bridge ile uyum için `figma_get_file_data` / `figma_get_component` / `figma_get_design_context` eşlemesi; **design-drift-detector** koordinasyonunda tipik sıra (implement - drift) netleştirildi; **audit** içinde zincir performans notları.
365
+ - [.cursor/skills/f-mcp/SKILL_INDEX.md](.cursor/skills/f-mcp/SKILL_INDEX.md): tüm skill'lerin dizini, workspace kökü (FCM) notu, özet akış.
366
+ - `npm run validate:fmcp-skills` -- [`scripts/validate-fmcp-skills-tools.mjs`](scripts/validate-fmcp-skills-tools.mjs): skill `.md` içindeki `figma_*` adlarını `src/local.ts`, `src/local-plugin-only.ts`, `src/core/figma-tools.ts` içindeki `registerTool` birleşimine göre doğrular.
367
+ - GitHub Actions: [`.github/workflows/ci.yml`](.github/workflows/ci.yml) -- `master` / `main` için PR ve push'ta `npm run validate:fmcp-skills` zorunlu.
342
368
 
343
369
  ### Plugin (F-MCP Bridge)
344
370
 
345
- - Gelismis panel: **Otomatik tara** dugmesi -- port alaniyla tek porta kilitlenmeyi kaldirip 5454-5470 taramasini yeniden baslatir.
346
- - Advanced panel kapatildiginda ayni kilit kalkar (ilk yuklemede cift baglanti tetiklenmez).
371
+ - Gelişmiş panel: **Otomatik tara** düğmesi -- port alanıyla tek porta kilitlenmeyi kaldırıp 5454-5470 taramasını yeniden başlatır.
372
+ - Advanced panel kapatıldığında aynı kilit kalkar (ilk yüklemede çift bağlantı tetiklenmez).
347
373
 
348
- ### Surec (bakimcilar)
374
+ ### Süreç (bakımcılar)
349
375
 
350
- - Sonraki surum: `CHANGELOG.md` guncelle - `docs/releases/vX.Y.Z-body.md` olustur - [RELEASE_NOTES_TEMPLATE.md](docs/RELEASE_NOTES_TEMPLATE.md) icindeki `gh release create` / `gh release edit` ile GitHub Release ac veya guncelle.
376
+ - Sonraki sürüm: `CHANGELOG.md` güncelle - `docs/releases/vX.Y.Z-body.md` oluştur - [RELEASE_NOTES_TEMPLATE.md](docs/RELEASE_NOTES_TEMPLATE.md) içindeki `gh release create` / `gh release edit` ile GitHub Release veya güncelle.
351
377
 
352
378
  ## [1.2.1] - 2026-04-01
353
379
 
354
- GitHub Release: [v1.2.1](https://github.com/atezer/FMCP/releases/tag/v1.2.1); govde: [docs/releases/v1.2.1-body.md](docs/releases/v1.2.1-body.md).
380
+ GitHub Release: [v1.2.1](https://github.com/atezer/FMCP/releases/tag/v1.2.1); gövde: [docs/releases/v1.2.1-body.md](docs/releases/v1.2.1-body.md).
355
381
 
356
382
  ### Bridge
357
383
 
358
- - **`figma_search_components`:** Cikti ozetine bileşen **`key`** alani eklendi; `figma_instantiate_component(componentKey)` akisi ile uyum.
359
- - **`prepublishOnly`:** `npm publish` oncesi `build:local` + `validate:fmcp-skills` (Worker `build:cloudflare` ayri; npm paketi bin'leri `dist/local*.js`).
384
+ - **`figma_search_components`:** Çıktı özetine bileşen **`key`** alanı eklendi; `figma_instantiate_component(componentKey)` akışı ile uyum.
385
+ - **`prepublishOnly`:** `npm publish` öncesi `build:local` + `validate:fmcp-skills` (Worker `build:cloudflare` ayrı; npm paketi bin'leri `dist/local*.js`).
360
386
 
361
- ### Dokumantasyon
387
+ ### Dokümantasyon
362
388
 
363
- - **`docs/TOOLS.md`**, **`docs/TOOLS_FULL_LIST.md`:** `dist/local-plugin-only.js` ile parite; `figma_search_assets` / `figma_get_code_connect` / `figma_use` bu build'de kayitli degildir notu; `figma_search_components` + `key` aciklamasi.
364
- - **`docs/FMCP_AGENT_CANVAS_COMPAT.md`:** Bolum 3 guncel envanter / planlanan ayrimi.
365
- - **`docs/FIGMA_USE_STRUCTURED_INTENT.md`:** `figma_use` taslak; canli araç `figma_execute` notu.
389
+ - **`docs/TOOLS.md`**, **`docs/TOOLS_FULL_LIST.md`:** `dist/local-plugin-only.js` ile parite; `figma_search_assets` / `figma_get_code_connect` / `figma_use` bu build'de kayıtlı değildir notu; `figma_search_components` + `key` açıklaması.
390
+ - **`docs/FMCP_AGENT_CANVAS_COMPAT.md`:** Bölüm 3 güncel envanter / planlanan ayrımı.
391
+ - **`docs/FIGMA_USE_STRUCTURED_INTENT.md`:** `figma_use` taslak; canlı araç `figma_execute` notu.
366
392
 
367
393
  ## [1.2.0] - 2026-03-27
368
394
 
369
- ### Dokumantasyon
395
+ ### Dokümantasyon
370
396
 
371
- - Surum takibi ve guncelleme adimlari: [README.md](README.md#surum-ve-guncellemeler), [KURULUM.md](KURULUM.md#surum-takibi-ve-guncelleme-notlari).
372
- - Bu changelog dosyasi eklendi; GitHub Releases ve npm ile birlikte tek referans olarak kullanilmalidir.
373
- - GitHub [Release v1.2.0](https://github.com/atezer/FMCP/releases/tag/v1.2.0); govde: [docs/releases/v1.2.0-body.md](docs/releases/v1.2.0-body.md). Bakimci akisi: [docs/RELEASE_NOTES_TEMPLATE.md](docs/RELEASE_NOTES_TEMPLATE.md).
397
+ - Sürüm takibi ve güncelleme adımları: [README.md](README.md#surum-ve-guncellemeler), [KURULUM.md](KURULUM.md#surum-takibi-ve-guncelleme-notlari).
398
+ - Bu changelog dosyası eklendi; GitHub Releases ve npm ile birlikte tek referans olarak kullanılmalıdır.
399
+ - GitHub [Release v1.2.0](https://github.com/atezer/FMCP/releases/tag/v1.2.0); gövde: [docs/releases/v1.2.0-body.md](docs/releases/v1.2.0-body.md). Bakımcı akışı: [docs/RELEASE_NOTES_TEMPLATE.md](docs/RELEASE_NOTES_TEMPLATE.md).
374
400
 
375
- ### Bakim ve dogrulama (2026-03)
401
+ ### Bakım ve doğrulama (2026-03)
376
402
 
377
- - [FUTURE.md](FUTURE.md) kod taramasi: npm `@atezer/figma-mcp-bridge@1.2.0` dogrulandi; `dist/` ile `docs/TOOLS.md` Agent Canvas uclusu uyumsuzlugu not edildi (dokuman duzeltmesi S7'de acik).
378
- - Figma Organization private plugin yayini tamamlandi (FUTURE S5).
403
+ - [FUTURE.md](FUTURE.md) kod taraması: npm `@atezer/figma-mcp-bridge@1.2.0` doğrulandı; `dist/` ile `docs/TOOLS.md` Agent Canvas üçlüsü uyumsuzluğu not edildi (doküman düzeltmesi S7'de açık).
404
+ - Figma Organization private plugin yayını tamamlandı (FUTURE S5).
379
405
 
380
406
  ### Not
381
407
 
382
- Bu surum, npm paketi `@atezer/figma-mcp-bridge@1.2.0` ve depo kokundeki `package.json` ile hizalidir. Onceki surumlerin ayrintili kaydi bu dosyada baslamaktadir.
408
+ Bu sürüm, npm paketi `@atezer/figma-mcp-bridge@1.2.0` ve depo kökündeki `package.json` ile hizalıdır. Önceki sürümlerin ayrıntılı kaydı bu dosyada başlamaktadır.
@@ -326,7 +326,7 @@ export class PluginBridgeServer {
326
326
  logger.info({ clientId, fileKey: incomingFileKey, fileName: incomingFileName }, "Plugin bridge: client registered (fileKey=%s, fileName=%s)", incomingFileKey, incomingFileName);
327
327
  ws.send(JSON.stringify({
328
328
  type: "welcome",
329
- bridgeVersion: "1.7.8",
329
+ bridgeVersion: "1.7.9",
330
330
  port: this.port,
331
331
  clientId,
332
332
  multiClient: true,
@@ -89,7 +89,7 @@ export async function main() {
89
89
  bridge.start();
90
90
  const server = new McpServer({
91
91
  name: "F-MCP ATezer Bridge (Plugin-only)",
92
- version: "1.7.8",
92
+ version: "1.7.9",
93
93
  });
94
94
  // ---- figma_list_connected_files (multi-client discovery) ----
95
95
  server.registerTool("figma_list_connected_files", {
package/dist/local.js CHANGED
@@ -48,7 +48,7 @@ class LocalFigmaMCP {
48
48
  this.variablesCache = new Map();
49
49
  this.server = new McpServer({
50
50
  name: "F-MCP ATezer (Local)",
51
- version: "1.7.8",
51
+ version: "1.7.9",
52
52
  });
53
53
  }
54
54
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atezer/figma-mcp-bridge",
3
- "version": "1.7.8",
3
+ "version": "1.7.9",
4
4
  "description": "F-MCP ATezer: MCP server and Figma plugin bridge for Claude/Cursor. No REST token required.",
5
5
  "type": "module",
6
6
  "main": "dist/local.js",