Diyagram, kendini güncellemesi gereken çıktılardan biridir. Mimari her merge'de değişir, doküman sayfası bir sürüm geriden gelir ve sonunda biri onu elle düzeltmek için bir çizim aracı açar. LetDraw'un bir diyagram API'si ve bir MCP sunucusu var; böylece bu işi bir betik ya da bir yapay zeka ajanı yapabilir ve kaynak her değiştiğinde yapmaya devam eder.
Diyagramları zaten bir Compose dosyasından ya da bir spesifikasyondan oluşturuyorsan, sonraki adım düğmeye kendin basmayı bırakmaktır. Kişisel bir API token'ı aynı oluşturma işlemini herhangi bir makinenin yapabileceği bir çağrıya dönüştürür: bir build adımı, gece çalışan bir iş ya da isteğini okuyup sonucu çizen bir asistan. Token yalnızca ona verdiğin izinleri taşır; böylece otomasyon varsayılan olarak en az yetki ilkesinde kalır.
Kişisel API token'ları ve kapsamlar
Geliştirici ayarları'nda bir token oluşturursun, ona bir ad verirsin ve kapsamlarını seçersin. Kurulumun tamamı bu. Ad, token'ları sonradan ayırt edebilmen için var; birine "CI betiği", diğerine onu tutacak asistanın adını ver; iptal edilen bir token tam olarak bir çağıranı devre dışı bırakır, başka hiçbir şeyi değil.
Kapsamlar, bir token'ın en az yetkiyle kalmasını sağlar. Her şeye gücü yeten tek bir anahtar yerine her token yalnızca işinin gerektirdiği yetenekleri alır:
- Yalnızca bir çizimin mevcut halini çeken bir iş için diyagramları okuma
- Tuval üreten ya da güncelleyen otomasyon için diyagram oluşturma ve düzenleme
- Commit edilecek bir dosyaya ihtiyaç duyan bir doküman hattı için Mermaid ya da D2'ye dışa aktarma
- Bir isteğin diyagrama dönüştüğü yapay zeka yolu için prompt'tan oluşturma
Bir token, bir iş, iptal edebileceğin bir ad. Güvendiğin otomasyonla dağıtmaya korktuğun bir anahtar arasındaki fark budur.
CI'da ya da cron ile diyagram oluşturma
REST API sıradan bir HTTP endpoint'idir. Bir bearer token ile kimlik doğrula, bir JSON gövdesi gönder ve karşılığında bir diyagram al. İşte prompt'tan oluşturma yolu; her push'ta mimarinin bir spesifikasyondan çizilmesi için bir build adımına koyacağın türden bir çağrı:
# $LD_TOKEN holds a token with the "generate" and "export" scopes # 1) prompt to diagram (uses the AI key stored on your account) curl https://api.letdraw.com/api-v1/documents/generate \ -H "Authorization: Bearer $LD_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "prompt": "web -> api -> postgres, redis cache on api", "name": "Architecture" }' # 2) export it as text to commit next to the code (format=mermaid or d2) curl "https://api.letdraw.com/api-v1/documents/$DOC_ID/export?format=mermaid" \ -H "Authorization: Bearer $LD_TOKEN"
Bunu bir cron işinin arkasına koy, eskimiş doküman diyagramı diye bir şey kalmaz. İş çalışır, diyagram girdinin bugün ne söylediğine göre yeniden oluşturulur ve ekip arkadaşlarının açtığı resim gerçekle örtüşen resim olur. İlk çağrı yeni dokümanı id değeriyle döndürür; dışa aktarma çağrısı onu kodun yanına commit edebileceğin mermaid ya da d2 metnine dönüştürür.
Taze kalan bir hat
Tetikleyici ister bir merge ister bir zamanlama olsun, yapı aynıdır: bir şey değişir, hat API'yi çağırır ve diyagram yeniden kurulur. Kimse bir şeyi yeniden dışa aktarmayı hatırlamak zorunda kalmaz, çünkü hatırlanacak bir şey yoktur.
MCP ile bir yapay zeka asistanına bağla
Aynı yetenekler Model Context Protocol üzerinden de sunulur; böylece bir yapay zeka asistanı sohbet içinde senin için diyagram çizip düzenleyebilir. LetDraw'u bir kez MCP sunucusu olarak kaydedersin, ona bir token verirsin ve asistan, kapsamların izin verdiği araçları kazanır: bir tuval oluşturabilir, var olanı düzenleyebilir, Mermaid ya da D2'ye dışa aktarabilir veya düz bir dille yazdığın açıklamadan bir diyagram oluşturabilir.
{
"mcpServers": {
"letdraw": {
"url": "https://api.letdraw.com/mcp",
"headers": {
"Authorization": "Bearer $LD_TOKEN"
}
}
}
}
Asistan yalnızca ona verdiğin token'ı tuttuğu için erişimi o token'ın kapsamlarıyla sınırlıdır. Taslak çıkaran bir asistana oluşturma-düzenleme ve prompt'tan oluşturma ver; bütün gün diyagram kurup revize edebilir. İnceleme yapan bir asistana yalnızca okuma ve dışa aktarma ver; bakabilir ve bir dosya üretebilir ama tuvalini asla değiştiremez. Token'a onu tutan istemcinin adını ver; bir gün erişimini kesmek istersen tek bir token'ı iptal edersin ve o asistan bir sonraki çağrıda erişimini kaybeder.
İptal et, yenile, tekrarla
Her token, onu oluşturduğun aynı Geliştirici ayarları sayfasından iptal edilebilir. Betiklere ve asistanlara token vermeyi rahat kılan da budur: verdiğin hiçbir şey kalıcı değildir ve hiçbir şey başka bir şeye dolanmış değildir. Sızan bir CI değişkeni, kullanmayı bıraktığın bir istemci, fazla cömert verdiğin bir kapsam; her durumda çözüm o tek token'ı iptal edip gerçekten kastettiğin kapsamlarla yenisini oluşturmaktır.
Hepsi bir araya gelince, net bir kuralı olan küçük bir yüzey çıkıyor ortaya. Makineler ve asistanlar diyagramlara senin eriştiğin gibi erişir: yalnızca işlerinin gerektirdiği izinleri taşıyan, adlandırılmış token'larla. Ve istediğin an herhangi birini geri çekebilirsin. Diyagram, senin bakımını yaptığın bir şey olmaktan çıkar ve hattının ürettiği bir şeye dönüşür.