using System.ComponentModel; using ModelContextProtocol.Server; namespace Sozsoft.Mcp.Tools; /// /// Gelistirme dongusunun hazir prompt'lari. Proseduru tekrar etmez, rehberin 0.11 (uretim) ve /// 0.12 (analiz) bolumlerine yonlendirir; boylece adimlar tek yerde (lowcode.instructions.md) /// degisir. Durum kurallari start_dev_request ve save_dev_request_analysis'te sunucu tarafinda /// uygulanir. /// [McpServerPromptType] public static class McpDevelopPrompts { [McpServerPrompt(Name = McpPromptNames.AnalyzeDevRequest)] [Description("Tek bir gelistirme talebini analiz eder ve Analysis durumuna alir. Talep Backlog ya da Analysis durumunda olmalidir.")] public static string AnalyzeDevRequest( [Description("Talebin Id'si (GUID) ya da tam basligi.")] string request) => $"App.DevRequests kuyrugundaki '{request}' talebini analiz et; yalnizca bu talebi. " + "Once get_dev_guide ile lowcode 0.12 bolumunu oku ve oradaki standarda uy. " + "Talebi ve gorsellerini get_dev_request ile oku; analizi save_dev_request_analysis ile yaz. " + "Hicbir sey uretme (tablo, wizard, bilesen yok) ve Description'a dokunma. " + "Arac reddederse (talep Backlog ya da Analysis degil, bulunamadi ya da birden fazla eslesme var) nedenini bildir ve dur. " + "Sonunda kisa rapor ver: menu yeri, uretilecek artefaktlar, (onay) etiketli kararlar ve Uretime hazir satiri; talebi Ready to Start'a kullanicinin alacagini belirt."; [McpServerPrompt(Name = McpPromptNames.AnalyzeBacklogRequests)] [Description("Backlog durumundaki tum gelistirme taleplerini SortOrder sirasiyla analiz eder ve Analysis durumuna alir.")] public static string AnalyzeBacklogRequests() => "App.DevRequests kuyrugundaki Backlog taleplerini query_list ile SortOrder sirasiyla oku ve tek tek analiz et. " + "Once get_dev_guide ile lowcode 0.12 bolumunu oku ve oradaki standarda uy. " + "Her talebi get_dev_request ile oku, analizi save_dev_request_analysis ile yaz; reddedilen talebi atla ve rapora yaz. " + "Hicbir sey uretme ve Description'a dokunma. " + "Sonunda parti raporu ver: talep basina menu yeri, (onay) etiketli karar sayisi ve Uretime hazir durumu; talepleri Ready to Start'a kullanicinin alacagini tek satirda belirt."; [McpServerPrompt(Name = McpPromptNames.ProcessDevRequest)] [Description("Tek bir gelistirme talebini isler. Talep Ready to Start durumunda olmalidir.")] public static string ProcessDevRequest( [Description("Talebin Id'si (GUID) ya da tam basligi.")] string request) => $"App.DevRequests kuyrugundaki '{request}' talebini isle; yalnizca bu talebi. " + "Once get_dev_guide ile lowcode 0.11 bolumunu oku ve oradaki adimlari uygula. " + "Talebi start_dev_request ile ustlen. Arac reddederse (talep Ready to Start degil, bulunamadi ya da " + "birden fazla eslesme var) hicbir sey uretme, baska bir talebe gecme: nedenini bildir ve dur. " + "Talep (Description) ve onaylanmis analizi (Analysis) birlikte tarifin kendisidir: soru sorma, DB Migrate'i bekleme. " + "Testing'e almadan once uretilen ekranin modul dokumani bolumunu get_module_doc ile ekran koduyla oku, todo alt bolumlerini save_module_doc ile ayni kodla doldur (lowcode 0.13); sonra talebi Testing'e alip bitir. " + "Sonunda rapor ver: uretilen artefaktlar, talebin son durumu ve DB Migrate gerektigi."; [McpServerPrompt(Name = McpPromptNames.ProcessReadyRequests)] [Description("Ready to Start durumundaki tum gelistirme taleplerini SortOrder sirasiyla isler.")] public static string ProcessReadyRequests() => "App.DevRequests kuyrugundaki Ready to Start taleplerini query_list ile SortOrder sirasiyla oku ve tek tek isle. " + "Once get_dev_guide ile lowcode 0.11 bolumunu oku ve oradaki adimlari uygula. " + "Her talebi start_dev_request ile ustlen; reddedilen talebi atla ve rapora yaz. " + "Talep (Description) ve onaylanmis analizi (Analysis) birlikte tarifin kendisidir: soru sorma, DB Migrate'i bekleme. " + "Her talepte Testing'e almadan once ekranin modul dokumani bolumunu save_module_doc ile doldur (lowcode 0.13), sonra talebi Testing'e alip digerine gec. " + "Sonunda parti raporu ver: talep basina uretilen artefaktlar ve son durum; DB Migrate gerektigini tek satirda belirt."; }