İçeriğe geç

bee lint

bee lint tek bir soruyu cevaplar: bu proje bu dosyalardan ne bekliyor?

Terminal window
bee lint src/Catalog/Data/ProductDataSource.cs
# bee — rules for src/Catalog/Data/ProductDataSource.cs
# - a DataSource never calls GetCollection
# ↳ matched: *DataSource.cs

Bir kod denetleyicisi değildir. Dosyayı ayrıştırmaz, kendine ait bir görüşü yoktur, ve size hiçbir zaman bir satırın yanlış olduğunu söylemez. Verdiğiniz yollarla glob’ları eşleşen kuralları raporlar — burada geçerli olan sözleşmeleri, review’da keşfedilmek yerine yazmadan önce getirir.

Alışıldık anlamda bir linter, zaten var olan kodu okur ve itiraz eder. Bu döngünün geç yarısıdır: iş yapılmıştır ve geri bildirim yeniden-iş olarak gelir.

bee lint erken yarısıdır. Aynı sözleşmeler, geri alınacak bir şey daha yokken teslim edilir.

Terminal window
bee lint src/Catalog/Data/ProductDataSource.cs src/Catalog/Services/ProductService.cs

Aynı anda birden çok yol — kurallar birleştirilir, her biri onu eşleyen glob ile etiketlenir.

- a DataSource never calls GetCollection
↳ matched: *DataSource.cs

↳ matched: satırı bilinçli olarak ayrıdır. Glob kural metninin yanına satır içi yazıldığında, onu okuyan bir model glob’u dosyanın içine yorum olarak kopyaladı — // LICENCE-7 (*.cs). Kaynağı kendi satırına almak bunu durdurdu.

Terminal window
bee lint --json src/Catalog/Data/ProductDataSource.cs

Bir CI adımı, bir editör entegrasyonu ya da başka bir ajan için.

bee lint, yazma öncesi hook’un koşturduğu sorgunun aynısıdır — bir insanın, bir betiğin ya da hook’lara bağlanmamış bir ajanın doğrudan sorabilmesi için komut olarak açılmıştır.

  • Hook onu otomatik sorar, ve cevap modele araç sonucuyla birlikte ulaşır — bir düzeltme, önleme değil.
  • Komut onu bilinçli olarak, hiçbir şey yazılmadan önce sorar.

--path ile bir kural eklemek onu ikisine birden görünür kılar.