Skip to content

CLI Referansı ​

baseforge komutu BaseForge.CodeGen .NET tool'u ile kurulur:

bash
dotnet tool install -g BaseForge.CodeGen --prerelease
dotnet tool update  -g BaseForge.CodeGen --prerelease

Komutlar ​

KomutAçıklama
baseforge new <servis>Designer'ı boş bir spec ile açar
baseforge update <servis>Designer'ı <servis>/spec.yaml (ve varsa identity/auth.yaml) yüklenmiş olarak açar
baseforge new-service --spec <dosya.yaml>ER diyagramını üretir, onay ister, sonra servisi üretir
baseforge new-identity --spec <auth.yaml>Config-driven merkezi Identity servisini üretir
baseforge er --spec <dosya.yaml>Spec'ten yalnızca draw.io ER diyagramı üretir

Seçenekler ​

SeçenekGeçerli olduğuAçıklama
--spec <dosya>new-service, new-identity, erYAML spec dosyası (zorunlu)
--output <klasör>new-service, new-identity, erÇıktı klasörü (er: ., new-service: ./<servis>)
--yesnew-serviceOnay sormadan devam et
--port <n>new, updateDesigner portu (varsayılan 3500)
--no-browsernew, updateTarayıcıyı otomatik açma (uzak/headless makineler)

Workspace yapısı ​

CLI'yı bir workspace klasöründen çalıştır. Her servis kendi alt klasörüne üretilir; kökteki paylaşılan services.json kaydı portları ve Identity adresini tutar, böylece servisler birbirini bulabilir:

my-platform/
├── services.json        ← paylaşılan kayıt (portlar, authority)
├── observability/       ← Loki + Grafana, ilk üretimde oluşur
├── identity/
│   ├── auth.yaml
│   └── …
├── products/
│   ├── spec.yaml
│   └── …
└── orders/
    ├── spec.yaml
    └── …

Birbirine referans veren spec'ler (externalRefs, subscribes) aynı workspace'teki kardeş spec'ler aranarak çözülür.

EF Core modelinden ER diyagramı ​

baseforge er (spec → draw.io) dışında, BaseForge.Tools paketi herhangi bir EF Core modelini dbdiagram.io'ya yapıştırabileceğin DBML'e çevirir:

csharp
using BaseForge.Tools;

// Yalnızca model okunur — veritabanı bağlantısı gerekmez.
string dbml = DbmlGenerator.Generate(dbContext);
File.WriteAllText("docs/er.dbml", dbml);

Gerçek tablo/kolon adları, provider'a özgü kolon tipleri (ör. PostgreSQL uuid / timestamptz), birincil anahtarlar ve foreign key ilişkileri yansıtılır.

MIT Lisansı ile yayınlanmıştır.