Skip to main content
dotnet new komut satırına ek olarak, bu repo VS Code / Cursor içinde çalışan görsel bir sihirbaz da sunar: Diyanet Studio. Activity Bar’dan açılır, template’i klonlar, sorularla yapılandırır ve çözümü üretir. Eklentinin kaynağı repoda tools/DiyanetCleanArchitecture.Studio.Vsix altındadır (TypeScript + React, VS Code extension). .slnx’e dâhil değildir; bağımsız bir geliştirici aracıdır.
Sihirbaz ham dotnet new çağırmaz; template’in tools/ dizinindeki diyanet-cli new komutunu sürer. Bu komut provider seçimini, modül/servis budamayı, Initial migration üretimini ve build’i tek adımda yapar.

Nasıl çalışır

Gereksinimler

1. Eklentiyi oluştur (.vsix paketle)

1

Eklenti dizinine geç

2

Bağımlılıkları kur ve derle

Kurumsal ağ dışında npm install SSL hatası (UNABLE_TO_GET_ISSUER_CERT_LOCALLY) verirse, projedeki .npmrc kurumsal CA’ya işaret ediyordur. Kurulum süresince geçici devre dışı bırakın: mv .npmrc .npmrc.bak && npm install && mv .npmrc.bak .npmrc
3

Paketle

Çıktı: çalışma dizininde diyanet-studio-<sürüm>.vsix. Sürüm package.jsonversion’dan gelir. (--no-dependencies: React zaten webview bundle’ına gömülüdür, node_modules paketlenmez.)

2. Kur

  1. Extensions panelini aç (Ctrl+Shift+X)
  2. Sağ üstteki ... menüsü → Install from VSIX…
  3. Ürettiğin diyanet-studio-<sürüm>.vsix dosyasını seç
'code' is not recognized (Windows): CLI PATH’te değilse Ctrl+Shift+P → "Shell Command: Install 'code' command in PATH" çalıştır, ya da arayüzden kur. Tam yolla da çağırabilirsin: & "$env:LOCALAPPDATA\Programs\Microsoft VS Code\bin\code.cmd" --install-extension <dosya>.vsix
Aynı sürüme tekrar kurarsan editör eski kodu cache’ler (örn. sihirbaz Bilinmeyen işlem: loadModules der). İki çözüm: package.json’da sürümü artır (0.1.0 → 0.1.1) ve yeniden paketle/kur, veya kurulumdan sonra Ctrl+Shift+P → "Developer: Reload Window" ile pencereyi tazele.

3. Kullan

1

Sihirbazı aç

Activity Bar’daki Diyanet Studio ikonu → “Yeni Solution Oluştur”. Sihirbaz panel olarak açılır.
2

Template ve yapılandırma

Template git URL’ini ver. Sihirbaz template.json sembollerini okuyup şu adımları sunar: proje adı → veritabanı (PostgreSQL/MSSQL) → modüller → altyapı servisleri → Keycloak client öneki (ProjectKeycloakId).
3

Oluştur

Çıktı klasörünü seç ve Oluştur. Sihirbaz diyanet-cli new ile çözümü üretir; canlı log akar. Bitince proje hazırdır.
Keycloak alanına girdiğin değer template’e -P <ProjectKeycloakId> olarak geçer ve yalnızca client öneklerini (<id>-website, <id>-admin) belirler. Realm adları sabittir (diyanet-vatandas-…, diyanet-yonetim-…) çünkü realm, projeler arası paylaşılan kimlik alanıdır (SSO). Ayrıntı: Şablonu Kullanmak.

Sorun giderme

Editör eski extension sürümünü bellekte çalıştırıyordur (aynı sürüme --force kurulum). package.json sürümünü artırıp yeniden paketle/kur, ya da Developer: Reload Window yap.
Sihirbaz, klonlanan template’in tools/ dizininde *Studio.Cli/*.csproj bekler. Verdiğin template URL’i bu projeyi içermelidir (bu repo içerir).
dotnet --list-sdks ile kontrol et; 10.x yoksa dotnet.microsoft.com/download/dotnet/10.0 adresinden kur.
Güncel sürümde düzeltildi: seçilen çıktı dizini zaten proje adıyla bitiyorsa tekrar eklenmez.