@atezer/figma-mcp-bridge 1.7.7 → 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,377 +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.
40
+
41
+ ## [1.7.8] - 2026-04-05
42
+
43
+ ### Fix
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ı.
14
45
 
15
46
  ## [1.7.6] - 2026-04-05
16
47
 
17
- ### component-documentation Skill (YENi — 18. skill)
48
+ ### component-documentation Skill (YENİ — 18. skill)
18
49
 
19
- - **Format secimi zorunlu:** Standard (~2400px) ve Compact (~1300px) secenekleri kullaniciya sunulur, onay olmadan frame olusturulmaz
20
- - **Gorsel Do/Dont ornekleri:** Gercek component instance'lariyla dogru/yanlis cift kartlar (hiyerarsi, etiket, variant kullanimi)
21
- - **Endustri standartlari referansi:** `reference_industry_design_standards.md` hafiza dosyasi (14 bolum: M3, HIG, WCAG 2.2, shadcn/ui, Tailwind, Radix, Lucide, DTCG)
22
- - **Yillik guncelleme:** Standart kontrolu 1 yildan eskiyse kullaniciya guncelleme onerisi (9 kaynak)
23
- - **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
24
55
 
25
- ### generate-figma-library Skill (Zenginlestirme)
56
+ ### generate-figma-library Skill (Zenginleştirme)
26
57
 
27
- - **Token baglama tablosu:** fill, text fill, stroke, strokeWeight, radius, padding, gap, minHeight, fontSize — tum degerlerin variable'a bagli olmasi zorunlu
28
- - **Text hizalama kurali:** Bilesen tipine gore textAlignHorizontal tablosu (Button=CENTER, Input=LEFT vb.)
29
- - **Bilesen sizing kurali:** Button/Tag=HUG, Input=FILL — Fixed width butonlarda yazi ortalanmaz
30
- - **Code only props:** `layoutPositioning = "ABSOLUTE"` zorunlu — auto-layout gap'te bosluk yaratmayi onler
31
- - **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
32
63
 
33
64
  ### Plugin Bug Fix
34
65
 
35
- - **`figma_arrange_component_set`:** `getNodeById` → `getNodeByIdAsync` duzeltildi (documentAccess: dynamic-page hatasi)
66
+ - **`figma_arrange_component_set`:** `getNodeById` → `getNodeByIdAsync` düzeltildi (documentAccess: dynamic-page hatası)
36
67
 
37
68
  ### FUTURE.md
38
69
 
39
- - 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)
40
71
 
41
72
  ## [1.7.4] - 2026-04-04
42
73
 
43
- ### Graceful Port Takeover — Oturum Gecisi Sorunu Cozuldu
74
+ ### Graceful Port Takeover — Oturum Geçişi Sorunu Çözüldü
44
75
 
45
76
  **Bridge (plugin-bridge-server.ts):**
46
- - **Graceful shutdown endpoint (`POST /shutdown`):** HTTP server'a `/shutdown` endpoint'i eklendi. Yeni bridge instance'i eskisine shutdown istegi gonderir, eski bridge gracefully kapanir.
47
- - **`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.
48
- - **Port stratejisi guncellendi:** "no auto-scanning" → "graceful takeover". Eski oturum kapandiginda yeni oturum ayni portu (varsayilan 5454) devralir, plugin otomatik baglanir.
49
- - **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.
50
81
 
51
- **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.
52
83
 
53
84
  ## [1.7.2] - 2026-04-04
54
85
 
55
- ### Kapsamli Entegrasyon Testi + 11 Skill Guncelleme + Code-Only Props
86
+ ### Kapsamlı Entegrasyon Testi + 11 Skill Güncelleme + Code-Only Props
56
87
 
57
88
  **Test:**
58
- - Uctan uca entegrasyon testi: 46 arac, 17 skill, 11 faz
89
+ - Uçtan uca entegrasyon testi: 46 araç, 17 skill, 11 faz
59
90
  - 120 token (Primitives + Primitives Dark + Semantic), 6 ekran (3 boyut x 2 tema), 1 component set (5 variant)
60
- - 10 dosya uretildi: 3 kod (React/Swift/Kotlin), 5 token (CSS/Tailwind/Swift/Kotlin/JSON), 1 handoff
61
- - 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
62
93
 
63
- **Skill duzeltmeleri (9):**
94
+ **Skill düzeltmeleri (9):**
64
95
  - `audit/apply-figma-design-system`: figma_take_screenshot → figma_capture_screenshot
65
96
  - `ai-handoff-export`: figma_get_component_details → figma_get_component_for_development
66
97
  - `implement-design`: componentId → nodeId
67
- - `figma-screen-analyzer`: DS compliance formulu duzeltildi
68
- - `ds-impact-analysis`: sayfa limiti 5→20, transitif bagimlilik eklendi
69
- - `fix-figma-design-system-finding`: 3 remediasyon modu kod ornegi
70
- - `generate-figma-library`: batch hata yonetimi pattern
71
-
72
- **Skill zenginlestirmeleri (20):**
73
- - Token description + code syntax (Web/Android/iOS) zorunlu adimi
74
- - Semantic Token = Alias zorunlu kurali
75
- - 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ı
76
107
  - Dark mode token stratejisi (Pro+ native vs Free workaround)
77
- - Code-Only Props katmani (Nathan Curtis yaklasimi)
108
+ - Code-Only Props katmanı (Nathan Curtis yaklaşımı)
78
109
  - Responsive boyut presetleri (3 boyut + dark = 6 ekran zorunlu)
79
- - MinHeight token binding zorunlu adimi
80
- - A11y annotation frame (baslik hiyerarsisi, form iliskilendirme, odak sirasi, alt text, dinamik icerik)
81
- - Erisebilirlik-tasarim tutarlilik kontrolu (7 kural)
82
- - 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)
83
114
 
84
115
  **FUTURE.md eklemeleri:**
85
- - P0: Figma Make entegrasyonu + canli prototip sureci
86
- - P0: Figma prototip baglantilari + animasyonlar
116
+ - P0: Figma Make entegrasyonu + canlı prototip süreci
117
+ - P0: Figma prototip bağlantıları + animasyonlar
87
118
  - P1: Figma Dev Mode entegrasyonu
88
119
 
89
- ## [1.7.0] - 2026-04-04 (guncelleme)
120
+ ## [1.7.0] - 2026-04-04 (güncelleme)
90
121
 
91
- ### Claude Code Destegi ve Test Raporu (YENi)
122
+ ### Claude Code Desteği ve Test Raporu (YENİ)
92
123
 
93
- - **README: Claude Code kurulum bolumu eklendi.** `.mcp.json` dosyasi ile NPX tabanli config. `~/.claude/settings.json`'in MCP icin calismadigina dair uyari notu.
94
- - **`.mcp.json` guncellendi:** Cursor'a ozel bash script yerine evrensel NPX config (hem Claude Code hem Cursor ile uyumlu).
95
- - **`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.
96
127
 
97
128
  ## [1.7.0] - 2026-04-03
98
129
 
99
- ### Coklu Port + Otomatik AI Araci Tespiti (YENi)
130
+ ### Çoklu Port + Otomatik AI Aracı Tespiti (YENİ)
100
131
 
101
- - **Plugin coklu port baglantisi:** 5454-5470 arasini periyodik tarar (10s), bulunan tum bridge'lere sessizce baglanir.
102
- - **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.
103
- - **Port gecis UI:** ◀▶ ok tuslariyla bagli portlar arasi gecis. Status bar'da "Ready" + aktif port etiketi.
104
- - **(i) info paneli:** Tiklaninca bagli portlar listesi acilir (● aktif ○ digerleri).
105
- - **"Otomatik tara" butonu kaldirildi:** Coklu port bunu otomatik yapar.
106
- - **SVG/PNG export duzeltmesi:** `batchExportNodes` handler + result case eklendi (timeout sorunu cozuldu).
107
- - **Token disabled:** Token girildikten sonra input + sure secici disabled (sadece sil + yeniden ekle).
108
- - **Responsive layout:** Icerik tasma onlendi, sabit genislik sadece yukseklik dinamik.
109
- - **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).
110
141
 
111
142
  ## [1.6.3] - 2026-04-03
112
143
 
113
- ### Dokumantasyon temizligi
144
+ ### Dokümantasyon temizliği
114
145
 
115
- - **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)
116
- - **Kirik link: 0** — tum referanslar guncellendi veya kaldirildi
117
- - **README sadeleştirildi:** Dokuman tablosu kullanici odakli, gereksiz satirlar kaldirildi
118
- - **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
119
150
 
120
151
  ## [1.6.2] - 2026-04-02
121
152
 
122
- ### Dokumantasyon duzeltmeleri
153
+ ### Dokümantasyon düzeltmeleri
123
154
 
124
- - README: 5 kirik archived link duzeltildi, figma_export_nodes eklendi, REST_API_GUIDE + CONTRIBUTING referanslari eklendi
125
- - README: "33 arac" → "46 arac", tekrar eden satirlar kaldirildi
126
- - 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
127
158
  - KURULUM.md: versiyon 1.2.0 → 1.6.2
128
159
 
129
160
  ## [1.6.1] - 2026-04-02
130
161
 
131
- ### Batch Export (YENi — 1 tool)
162
+ ### Batch Export (YENİ — 1 tool)
132
163
 
133
- - **`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.
134
- - **`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.
135
166
  - **Connector**: `batchExportNodes()` metodu eklendi.
136
- - **Tip tanimlari**: `PluginExportResult`, `PluginBatchExportPayload` (types/figma.ts).
167
+ - **Tip tanımları**: `PluginExportResult`, `PluginBatchExportPayload` (types/figma.ts).
137
168
 
138
- ### Toplam: 46 arac (onceki: 45)
169
+ ### Toplam: 46 araç (önceki: 45)
139
170
 
140
171
  ## [1.6.0] - 2026-04-02
141
172
 
142
- ### Tasarim Olusturma Araclari (YENi — 4 tool)
173
+ ### Tasarım Oluşturma Araçları (YENİ — 4 tool)
143
174
 
144
- - **`figma_create_frame`**: Yeni frame olusturma (x, y, boyut, renk, parentId)
175
+ - **`figma_create_frame`**: Yeni frame oluşturma (x, y, boyut, renk, parentId)
145
176
  - **`figma_create_text`**: Yeni metin node'u (font, boyut, renk)
146
- - **`figma_create_rectangle`**: Dikdortgen olusturma (boyut, renk, cornerRadius)
147
- - **`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
148
179
 
149
- ### Kutüphane ve Tanilama (YENi — 2 tool)
180
+ ### Kütüphane ve Tanılama (YENİ — 2 tool)
150
181
 
151
- - **`figma_search_assets`**: Takim kutuphanesi variable collection arama (plugin teamLibrary API)
152
- - **`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)
153
184
 
154
- ### Dokumantasyon
185
+ ### Dokümantasyon
155
186
 
156
- - **CONTRIBUTING.md**: Yerel kurulum, test, tool ekleme, versiyon guncelleme rehberi
157
- - **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
158
189
  - **npm keywords**: design-system, design-tokens, ui-automation, zero-trust, cursor, agent eklendi
159
190
 
160
- ### Toplam: 45 arac (onceki: 39)
191
+ ### Toplam: 45 araç (önceki: 39)
161
192
 
162
193
  ## [1.5.2] - 2026-04-02
163
194
 
164
- ### Test altyapisi
195
+ ### Test altyapısı
165
196
 
166
197
  - **36 test:** response-guard.ts (18 test) + figma-url.ts (16 test) + basic (2 test)
167
- - **CI'a test adimi eklendi:** `npm test` her push/PR'da otomatik calisir
168
- - **Coverage config:** Plugin-only modula odakli; tam mod dosyalari haric tutuldu
169
- - **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`
170
201
 
171
202
  ## [1.5.1] - 2026-04-02
172
203
 
173
- ### TypeScript tip guvenligi
204
+ ### TypeScript tip güvenliği
174
205
 
175
- - **Yeni tip dosyasi:** `src/core/types/figma.ts` — RGBColor, FigmaVariable, FigmaVariableCollection, FigmaPaintStyle, FigmaTextStyle, FigmaComponent, PluginVariablesPayload, PluginStylesPayload, PluginComponentPayload vb.
176
- - **Plugin-only `any` azaltma:** 34 → 5 (%85 azalma). Kalan 5: Zod sema (z.any) ve resolvedType cast.
177
- - **Connector `any` azaltma:** 46 → 1 (%98 azalma). Tum Promise<any> donusleri tipli hale getirildi.
178
- - **Bridge server `any` azaltma:** 3 → 1 (%67). WebSocket mesaj tipleri iyilestirildi.
179
- - **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.
180
211
 
181
212
  ## [1.5.0] - 2026-04-02
182
213
 
183
214
  ### Plugin optimizasyonu
184
215
 
185
- - **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.
186
217
 
187
- ### CI/CD guclendirme
218
+ ### CI/CD güçlendirme
188
219
 
189
- - **TypeScript tip kontrolu:** `tsc --noEmit` CI'a eklendi — derleme hatalari artik otomatik yakalaniyor.
190
- - **Build dogrulama:** `npm run build:local` CI'da calistirilir.
191
- - **Versiyon tutarlilik kontrolu:** CI, `package.json` versiyonunun `src/` dosyalariyla eslesip eslesmedigini otomatik kontrol ediyor.
192
- - **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.
193
224
 
194
225
  ### Temizlik
195
226
 
196
- - **Archive silindi:** 8.1 MB gereksiz dosya (eski zip, gorseller, eski surum dosyalari) — git gecmisinde mevcut.
197
- - **Belgeler arsivlendi:** 6 tekrar eden / eski belge `docs/archived/` klasorune tasinarak aktif belge sayisi 30→24'e indirildi.
198
- - **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.
199
230
 
200
231
  ## [1.4.4] - 2026-04-02
201
232
 
202
- ### Versiyon tutarliligi (kesin duzeltme)
233
+ ### Versiyon tutarlılığı (kesin düzeltme)
203
234
 
204
- - Tum kaynak kod, dokuman, config ve dist dosyalarindaki versiyon string'leri 1.4.4 olarak senkronize.
205
- - npm paketi guncel dist ile yeniden yayinlandi (onceki 1.4.3 npm'de eski dist icerebiliyordu).
206
- - 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.
207
238
 
208
- ## [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]
209
240
 
210
- ### Versiyon tutarliligi
241
+ ### Versiyon tutarlılığı
211
242
 
212
- - 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.
213
244
 
214
245
  ## [1.4.2] - 2026-04-02
215
246
 
216
- ### Kritik duzeltme
247
+ ### Kritik düzeltme
217
248
 
218
- - **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).
219
250
 
220
- ## [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]
221
252
 
222
253
  ### npm paket optimizasyonu
223
254
 
224
- - **Paket boyutu:** 284 KB → 230 KB (%19 kucuk), acik 1.7 MB → 1.2 MB (%30 kucuk)
225
- - **Dosya sayisi:** 128 → 96 (32 gereksiz dosya cikarildi)
226
- - **Cikarilan:** `dist/cloudflare/` (440 KB), `dist/browser/` (44 KB) — plugin-only modda kullanilmiyordu
227
- - **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/`
228
259
 
229
260
  ## [1.4.0] - 2026-04-02
230
261
 
231
- ### Figma REST API entegrasyonu (YENi)
262
+ ### Figma REST API entegrasyonu (YENİ)
232
263
 
233
- - **`figma_set_rest_token`**: Figma REST API token girisi (figd_... formati). Token dogrulama (/v1/me), 10s timeout.
234
- - **`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.
235
- - **`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ı.
236
267
  - **`figma_clear_rest_token`**: Token temizleme.
237
268
 
238
- ### Response Guard — Context korumasi
269
+ ### Response Guard — Context koruması
239
270
 
240
- - **`response-guard.ts`**: Paylasimli cevap kirpma modulu. AI context penceresi tasmamasini onler.
241
- - **Endpoint-bazli kirpma**: comments → son 20, versions → son 10, files → ilk 20 sayfa (children stripped).
242
- - **Boyut limitleri**: 200KB ustu otomatik kirpma. Gercek test: 237KB → 10KB (comments), 533KB → 1KB (file).
243
- - **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.
244
275
 
245
- ### 429 Rate Limit korumalari
276
+ ### 429 Rate Limit korumaları
246
277
 
247
278
  - **Otomatik retry**: 429 durumunda 3 deneme, Retry-After header veya exponential backoff (5s→10s→20s), max 45s.
248
- - **On kontrol**: remaining=0 → kisa devre hata; remaining<10 → cevaba uyari blogu.
249
- - **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.
250
281
 
251
- ### Plugin UI — Token ve limit yonetimi
282
+ ### Plugin UI — Token ve limit yönetimi
252
283
 
253
- - **Token girisi**: Advanced panelinde sifrelenmis input + sure secici (1/7/30/90 gun).
254
- - **Kalici depolama**: `figma.clientStorage` ile token plugin kapatilip acilsa bile kalir. Sure dolunca otomatik temizlenir.
255
- - **Otomatik restore**: Plugin acildiginda → clientStorage → UI + bridge otomatik gonderi.
256
- - **Rate limit gostergesi**: Kullanim bar'i (yesil/sari/kirmizi), dusuk limit uyarisi (%20), kritik uyari (%5, nabiz animasyonu), doldu mesaji.
257
- - **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.
258
289
 
259
290
  ### Kod kalitesi
260
291
 
261
- - **`response-guard.ts`** yeni modul: `estimateTokens()`, `calculateSizeKB()`, `truncateResponse()`, `truncateRestResponse()`.
262
- - **Port degisiminde token koruma**: `restart()` token'i save/restore eder.
263
- - **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.
264
295
 
265
296
  ## [1.3.2] - 2026-04-02
266
297
 
267
- ### Bridge (hata duzeltmeleri)
298
+ ### Bridge (hata düzeltmeleri)
268
299
 
269
- - **Hafiza sizintisi duzeltmesi:** `tryListenAsync()` timeout yolunda `_listenResolve` temizlenmiyordu; tekrarlanan port degisikliklerinde bellek sisiyordu.
270
- - **bridgeVersion:** Plugin welcome mesajinda `"1.1.0"` → `"1.3.2"` olarak guncellendi.
271
- - **Versiyon tutarliligi:** McpServer version, `.cursor-plugin/plugin.json`, `package-lock.json` hepsi senkronize edildi.
272
- - **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ı.
273
304
 
274
305
  ## [1.3.1] - 2026-04-02
275
306
 
276
- ### Bridge (hata duzeltmeleri)
307
+ ### Bridge (hata düzeltmeleri)
277
308
 
278
- - **`restart()` race condition duzeltmesi:** `tryListenSync()` fire-and-forget yaklasimi yerine async Promise tabanli `tryListenAsync()` — port bind sonucu kesin olarak beklenir (500ms sabit delay kaldirildi).
279
- - **`figma_set_port` concurrent koruma:** Mutex flag ile esanli cagrilarda "devam ediyor" hatasi; ikinci cagri onceki tamamlanmadan baslamaz.
280
- - **`probePort().then()` eksik `.catch()`:** Probe hatalarinda `startError` set edilir, sessiz hata onlenir.
281
- - **`_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.
282
313
 
283
- ### Versiyon tutarliligi
314
+ ### Versiyon tutarlılığı
284
315
 
285
316
  - McpServer version: `"1.1.2"` → `"1.3.0"` (`local-plugin-only.ts`, `local.ts`)
286
317
  - `.cursor-plugin/plugin.json`: `"1.2.1"` → `"1.3.0"`
287
318
  - `package-lock.json` senkronize edildi
288
319
 
289
- ### Dokumantasyon
320
+ ### Dokümantasyon
290
321
 
291
- - `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
292
323
 
293
324
  ### Temizlik
294
325
 
295
- - **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
296
327
  - **Orphan script'ler:** `launch-figma-debug.ps1/.sh`, `launch-figma-with-plugin.sh`, `plugin-ac.py` silindi
297
- - **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ı)
298
329
 
299
330
  ## [1.3.0] - 2026-04-02
300
331
 
301
- ### Bridge (port yonetimi)
332
+ ### Bridge (port yönetimi)
302
333
 
303
- - **`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.
304
- - **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.
305
- - **`figma_get_status` genisledi:** `bridgeListening`, `startError` alanlari eklendi; bridge dinlemiyorsa net hata mesaji ve port degistirme yonlendirmesi.
306
- - **`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.
307
338
 
308
- ### Coklu AI araci (ayni anda Claude + Cursor)
339
+ ### Çoklu AI aracı (aynı anda Claude + Cursor)
309
340
 
310
- - 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.
311
342
 
312
- ### Bridge (onceki unreleased)
343
+ ### Bridge (önceki unreleased)
313
344
 
314
- - **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.
315
- - **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).
316
- - **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.
317
348
 
318
- ### Dokumantasyon
349
+ ### Dokümantasyon
319
350
 
320
- - [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).
321
- - [docs/CLAUDE_DESKTOP_CONFIG.md](docs/CLAUDE_DESKTOP_CONFIG.md): coklu `mcpServers` ornegi (5455 + 5470 farkli sunucu adlariyla).
322
- - [KURULUM.md](KURULUM.md): Claude config "sik gorulen hatalar" ozeti.
323
- - [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.
324
355
 
325
- ### Araclar
356
+ ### Araçlar
326
357
 
327
- - `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).
328
359
 
329
360
  ### Cursor skills (F-MCP)
330
361
 
331
- - 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).
332
- - Mevcut F-MCP skill'lerine karsilikli **F-MCP skill koordinasyonu** bolumleri eklendi.
333
- - 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.
334
- - [.cursor/skills/f-mcp/SKILL_INDEX.md](.cursor/skills/f-mcp/SKILL_INDEX.md): tum skill'lerin dizini, workspace koku (FCM) notu, ozet akis.
335
- - `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.
336
- - 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.
337
368
 
338
369
  ### Plugin (F-MCP Bridge)
339
370
 
340
- - Gelismis panel: **Otomatik tara** dugmesi -- port alaniyla tek porta kilitlenmeyi kaldirip 5454-5470 taramasini yeniden baslatir.
341
- - 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).
342
373
 
343
- ### Surec (bakimcilar)
374
+ ### Süreç (bakımcılar)
344
375
 
345
- - 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.
346
377
 
347
378
  ## [1.2.1] - 2026-04-01
348
379
 
349
- 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).
350
381
 
351
382
  ### Bridge
352
383
 
353
- - **`figma_search_components`:** Cikti ozetine bileşen **`key`** alani eklendi; `figma_instantiate_component(componentKey)` akisi ile uyum.
354
- - **`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`).
355
386
 
356
- ### Dokumantasyon
387
+ ### Dokümantasyon
357
388
 
358
- - **`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.
359
- - **`docs/FMCP_AGENT_CANVAS_COMPAT.md`:** Bolum 3 guncel envanter / planlanan ayrimi.
360
- - **`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.
361
392
 
362
393
  ## [1.2.0] - 2026-03-27
363
394
 
364
- ### Dokumantasyon
395
+ ### Dokümantasyon
365
396
 
366
- - Surum takibi ve guncelleme adimlari: [README.md](README.md#surum-ve-guncellemeler), [KURULUM.md](KURULUM.md#surum-takibi-ve-guncelleme-notlari).
367
- - Bu changelog dosyasi eklendi; GitHub Releases ve npm ile birlikte tek referans olarak kullanilmalidir.
368
- - 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).
369
400
 
370
- ### Bakim ve dogrulama (2026-03)
401
+ ### Bakım ve doğrulama (2026-03)
371
402
 
372
- - [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).
373
- - 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).
374
405
 
375
406
  ### Not
376
407
 
377
- 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.4",
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.4",
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.4",
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.7",
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",