Projeler 2026 yayında
todo-harvest
Vikunja, Plane, Jira, Microsoft To Do ve Notion'daki görevleri ortak bir şemayla tek bir yerel dosyada topluyor, değişiklikleri Vikunja ve Plane'e geri gönderiyor.
Python

Görevlerim beş ayrı yerde duruyor. İş Jira'da, ekip panosu Plane'de, aile listesi Microsoft To Do'da, onay kutulu notlar da Notion'da. Kendi sunucumdaki Vikunja bunların hepsinin yerini alacaktı, alamadı.
todo-harvest beşini de tek bir dosyada, tek bir şemayla topluyor ve çakışmaları zaman damgasına bakarak çözüyor. Sonra sonucu yazmaya izin veren iki servise, Vikunja ile Plane'e geri gönderiyor. Her görevin alanları aynı: kimlik, başlık, durum, öncelik, tarihler, etiketler, kategori ve bağlantı. Servisin kendi verisi de raw altında olduğu gibi saklanıyor.
Arka planda çalışan ya da servisleri yoklayan bir süreç yok. pull, push ve sync yalnızca çağrıldıklarında çalışıyor ve adları ne diyorsa onu yapıyor. inspect ve export ise ağa hiç bağlanmıyor.
Her görev ilk kez çekildiğinde SQLite'taki eşleme tablosunda sabit bir yerel kimlik alıyor. Tablo, aynı görevin her servisteki kimliğini de tutuyor. Bu sayede push ile bir serviste açılan görev, sonraki pull'da aynı görev olarak tanınıyor. Kendi terimlerini kullanan kurulumlar için status_map, priority_map ve Notion tarafında field_map ayarları var.
Yerel durum dosyası tek doğru kaynak kabul ediliyor. Pull, yerelde daha yeni bir düzenleme varsa onun üzerine yazmıyor. Push da varsayılan bir proje tanımlanmadıkça, eşlemesi olmayan bir serviste kendiliğinden görev açmıyor. Python ile yazıldı. Token'lar .gitignore'a eklenmiş tek bir config.yaml dosyasında duruyor.