Özellik detayı · 2 / 8

Geliştirme Günlüğü

Dünkü kararını unutma. Proje bazlı, etiketli, aranabilir.

Kanka'nın günlük sistemi telemetri yok, lokal JSONL — kararlarını, fix'lerini, deployment notlarını sen ne zaman istersen kayda alırsın. Tag desteği, etiket bazlı arama, proje izolasyonu.

TL;DR
  • Proje bazlı: her klasör için ayrı dosya (~/.kanka/gunlukler/<proje>.jsonl)
  • Append-only JSONL — kolayca okunur, version control'a uygun
  • #etiket sentaksıyla otomatik tag parse
  • Bugün / son N / arama / istatistik komutları
  • Tamamen lokal — bulut yok, telemetri yok, verin sende

Komutlar

/gunluk yaz <metin>Yeni giriş ekle (#etiket otomatik parse)
/gunluk bugunBugünün girişlerini listele
/gunluk son 10Son N giriş (varsayılan 10, max 100)
/gunluk ara authSubstring + etiket arama
/gunluk istatistikToplam, ilk/son, top 5 etiket
/günlükTürkçe karakter alias (tüm alt komutlar)

Format

Her satır bağımsız bir JSON object. Bozuk satır olursa diğerleri etkilenmez:

~/.kanka/gunlukler/my-app.jsonl· json
{"ts":"2026-05-18T14:23:12.000Z","proje":"my-app","metin":"auth refresh token bug düzeltildi","etiketler":["fix","auth"]}
{"ts":"2026-05-18T15:01:45.000Z","proje":"my-app","metin":"NextJS 15 migration başladı","etiketler":["frontend","nextjs"]}
{"ts":"2026-05-18T16:30:00.000Z","proje":"my-app","metin":"Prod'da PostgreSQL connection pool tükendi, pgbouncer eklendi","etiketler":["fix","prod","db","incident"]}

Tipik bir gün

günlük kullanımı
>/gunluk yaz auth refresh bug fix #fix #auth
Günlüğe yazdım [#fix #auth]
→ auth refresh bug fix
 
>/gunluk yaz pgbouncer eklendi prod'a #fix #prod #db
Günlüğe yazdım [#fix #prod #db]
 
>/gunluk bugun
 
📓 Bugün (2 giriş) — my-app
─────────────────────────────
18.05.2026 14:23 [#fix #auth]
→ auth refresh bug fix
 
18.05.2026 16:30 [#fix #prod #db]
→ pgbouncer eklendi prod'a

İstatistik

/gunluk istatistik komutu sana hangi konularda en çok not aldığını gösterir:

istatistik çıktısı
📊 Günlük istatistik — my-app
═════════════════════════════════
 
Toplam giriş : 47
İlk : 01.04.2026
Son : 18.05.2026 (bugün)
Bugün : 3
 
🏷️ Top 5 etiket
#fix 18 ████████████████████
#refactor 12 █████████████
#auth 8 █████████
#prod 5 █████
#db 4 ████

Neden JSONL?

  • Append-only — race condition yok, paralel yazıma uygun
  • cat | grep ile bash'te de okunabilir
  • Bozuk satır → sadece o atlanır, diğerleri sağlam
  • jq ile filtreleme kolay (jq 'select(.etiketler[] | contains("fix"))')
  • Git'e commit edebilirsin — proje history'sinin bir parçası
  • SQLite/JSON'dan daha hızlı write (yalnızca dosyaya append)

Git'e commit etmek

Günlüğünü repo ile birlikte versiyonlamak istersen .gitignore'dan çıkar ve commit et. Takım üyelerin de görür:

# .kanka/ klasörünü repo'na sembolik link veya copy et
mkdir .kanka
ln -s ~/.kanka/gunlukler/my-app.jsonl .kanka/gunluk.jsonl

git add .kanka/gunluk.jsonl
git commit -m "docs: günlük güncellendi"
Dikkat
Günlükte hassas bilgi olabilir (server IP, geçici API key, müşteri ismi). Commit etmeden önce gözden geçir veya .gitignore'da tut.

Bash'te de kullan

Son 7 günün özet· bash
# Tüm projelerin son 7 günlük girişleri
find ~/.kanka/gunlukler -name "*.jsonl" -mtime -7 -exec cat {} \;

# Etikete göre filtre
cat ~/.kanka/gunlukler/my-app.jsonl | jq 'select(.etiketler[] | contains("incident"))'

# Bugün kaç giriş?
cat ~/.kanka/gunlukler/my-app.jsonl | grep "$(date +%Y-%m-%d)" | wc -l

Sıkça Sorulanlar

Aynı proje birden fazla klasörde olursa?

Klasör adı baz alınır (path.basename). Aynı isimde 2 klasörün varsa girişleri tek dosyada birleşir. İstersen klasör adlarını farklılaştır.

Sınırsız büyür mü?

Teorik olarak evet — ama 10K giriş bile sadece ~2MB. Çok büyüdüğünde manuel rotate edebilirsin (mv app.jsonl app-2025.jsonl).

Cron job ile yazabilir miyim?

Şu an /gunluk yaz interaktif komut. Programatik için: doğrudan ~/.kanka/gunlukler/<proje>.jsonl dosyasına JSON satırı append edersin. Format dokümante.

📓 Geliştirme Günlüğü'ni dene

npm üzerinden 30 saniyede kur, hemen kullan.

$npm install -g @thorrangonak/kanka
GitHub →
← Tüm özelliklere dön