Seçili işlere dön
Gamified VS Code extension · Ocak 2026 — Şubat 2026

Code Buddy

Kod yazma ritmini yaşayan bir piksel dosta dönüştüren; aktivite, terminal olayları ve odak seanslarıyla evrilen bir VS Code üretkenlik deneyimi.

code-buddy.lab
EXPLORERANIL.TS
const focus = true;await buddy.levelUp();// commit detected ✓
LV. 08
ENERJİ
ODAK
MUTLULUK
20+dil kostümü
6yerel geliştirme sinyali
0runtime bağımlılığı
01 / BAĞLAM

Neden yaptım?

Problem

Geliştirici araçları çoğu zaman yalnızca işlevsel. Uzun odak seanslarını sürdürülebilir kılacak geri bildirim ve küçük bir duygusal bağ eksik kalıyor.

Yaklaşım

VS Code’un editör, diagnostics, task ve workspace olaylarını küçük bir pet durum modeline bağladım. Pet’in enerjisi, hijyeni, mutluluğu ve kostümü çalışma ritmine göre değişiyor; 25 dakikalık odak döngüsü ise bu sinyalleri kullanıcıyı bölmeden görünür kılıyor.

02 / MİMARİ

Parçalar değil,
veri akışı.

Her katman tek bir sorumluluğu taşıyor; ürün davranışı sınırların arasında kaybolmuyor.

01VS Code Extension Host
02ActivityTracker · edit/save/task/diagnostic olayları
03PetStateManager · durum ve seviye kuralları
04Extension globalState · kalıcı pet verisi
05Git HEAD watcher · commit sinyali
06Tema uyumlu WebviewViewProvider
03 / PROBLEM ÇÖZME

Zor kısımlar.

CHALLENGE 01

Restart’lar arasında tutarlı durum

Pet istatistiklerini VS Code globalState üzerinde saklayıp yeni alanları varsayılan durumla birleştirdim; extension yeniden başladığında kullanıcı ilerlemesini kaybetmeden güvenli bir başlangıç ürettim.

CHALLENGE 02

Sinyali kullanıcıyı izlemeye dönüştürmemek

Yazma, kaydetme, diagnostics, task sonucu ve commit gibi editörün zaten ürettiği yerel olaylarla çalıştım. Harici analitik veya runtime bağımlılığı eklemeden geri bildirimi editör içinde tuttum.

04 / STACK

Doğru iş için
doğru araç.

01
VS Code Extension API

Yazma, kaydetme, diagnostics, task ve aktif dil sinyallerini ek bir ajan ya da telemetri olmadan yerelden dinlemek için.

02
TypeScript

Event payload’larıyla pet durumunu ve komut sözleşmelerini extension geliştikçe güvenli tutmak için.

03
WebviewViewProvider

Piksel karakteri ve etkileşimleri Activity Bar içinde zengin bir yüzeyde gösterirken VS Code tema değişkenlerine uyum sağlamak için.

04
Extension globalState

Pet seviyesini ve istatistiklerini harici veritabanı kurmadan yeniden başlatmalar arasında korumak için.

05
FileSystemWatcher

Git commit’ini uzaktaki bir servise veri göndermeden yerel HEAD günlüğünden sinyal olarak almak için.

05 / RETROSPECTIVE

Öğrendiklerim.

01

İyi bir extension, VS Code’un olay modelini kullanır ve ayrı bir web uygulaması gibi davranmaz.

02

Gamification ancak commit, başarılı task veya odak süresi gibi gerçek geliştirme davranışlarıyla bağ kurduğunda anlamlı olur.

03

Küçük state modelleri bile kalıcılık, varsayılan değerler ve yeniden başlatma davranışı ister.

06 / FUTURE PLANS

Bir sonraki sürüm.

Yeni pet evrimleriTakım odak serileriMarketplace yeniden yayını