tracker
Her başvurunun hangi aşamada olduğunu hızlıca gör. Günlük kontrol için veya haftalık değerlendirmeye hazırlanırken işe yarar. Klavyeyle kullanılan tam arayüz Go TUI panelinde; bu mod onun sohbetteki özetidir.
Ne yapar?
tracker modu, tracker dosyanı (data/applications.md) okur ve her başvuruyu güncel durumuyla tek bir yanıtta gösterir. Ardından bir istatistik bölümü gelir: toplam başvuru, durum başına sayı, ortalama puan, kaç satırda uyarlanmış PDF ve rapor olduğu ve bir yere başvurduktan sonra başvurularının aşamadan aşamaya ne kadar hızlı ilerlediği.
Ne zaman kullanılır?
tracker'ı günlük on beş saniyelik durum kontrolü için kullan. Ayrıntılara inmen gerektiğinde Go TUI panelini kullan.
Örnek
`/career-ops tracker` — output is a structured status summary in the chat.Bir çalıştırma nasıl görünür?
tracker çalıştırıldığında başvuru tablosunun tamamını ve bir istatistik bölümünü tek bir yanıtta yazdırır; böylece tüm iş aramanı bir bakışta okuyabilirsin. Her satır bir başvurudur: şirket, rol, puan, güncel durum ve uyarlanmış PDF ile değerlendirme raporunun oluşturulup oluşturulmadığı.
# | Date | Company | Role | Score | Status | PDF | Report
1 | 2026-06-14 | Anthropic | AI Engineer | 4.5/5 | Interview | yes | yes
2 | 2026-06-18 | Vercel | Applied AI Eng | 4.2/5 | Applied | yes | yes
3 | 2026-06-21 | Figma | Product Eng, AI | 3.9/5 | Evaluated | yes | yes
Total: 3 Applied: 1 Interview: 1 Evaluated: 1
Average score: 4.2/5 PDF generated: 100% Report generated: 100%Bir başvuru sabit bir durum kümesinden geçer: Evaluated (rapor yazıldı, karar bekleniyor), Applied (başvuruyu sen gönderdin), Responded (şirket yanıt verdi ama henüz mülakat yok), Assessment (çevrimiçi bir değerlendirme veya asenkron bir eleme sürüyor), Interview (aktif bir süreç) ve ardından son durumlardan biri: Offer, Rejected, Discarded, uymayan roller için SKIP veya bir teklifi kabul ettiğinde Hired. Bir durum değişikliğini kaydetmek için sohbette iste ya da node set-status.mjs --report <report#> <state> komutunu kendin çalıştır; değişiklik daha önceki bir günde olduysa --on YYYY-MM-DD ekle. Raporu olmayan bir satır ise şirketiyle seçilir: node set-status.mjs "<company>" <state>; aynı şirkete ait birden fazla satır varsa --role ekle. Komut bilinmeyen durumları reddeder, yazarken tracker'ı kilitler ve geçişi, funnel-velocity istatistiklerinin okuduğu kayıt defteri olan data/status-log.tsv dosyasına işler. Bu yüzden satırı elle düzenlemek yerine bu komutu kullan.
Yeni bir not eklemek yerine mevcut bir notu düzeltmek için eski notu --replace-note ile, yeni metni --note ile ver. Bu olmadan --note yalnızca ekleme yapar ve satırda not applied; applied gibi çelişkiler bırakır. Eşleşme, ; ayırıcıları arasındaki notun tamamı üzerinden yapılır ve iki metin de Notes hücresinde yoksa hiçbir şey yazılmaz:
node set-status.mjs --row 12 Applied --replace-note "not applied" --note "applied via referral"Üç bayrak daha var ve bunlar esas olarak durum değişikliklerini artık set-status.mjs üzerinden kaydeden Go TUI paneli içindir. --report-link N, Report hücresinde N numaralı rapora giden tam olarak bir bağlantı bulunan satırı seçer ve bozuk hücrelerde tahmin yürütmek yerine işlemi reddeder. --repair-status-log ve --repair-followup, zaten Applied olan bir satırda Applied değişikliği yeniden çalıştırıldığında devreye girer: ilk denemenin yazamadığı kayıt defteri girdisini veya takip hatırlatıcısını ekler, zaten varsa hiçbir şey eklemez.
Bozuk rapor bağlantılarını onarma
node verify-pipeline.mjs, bir satırın Report hücresi artık var olmayan bir dosyaya bağlantı verdiğinde Report not found bildirir. npm run fix-report-links bu satırları, yalnızca o hücreyi tracker'ın olağan "rapor yok" işaretiyle değiştirerek onarır. Eksik raporu yeniden oluşturmaz. Önce önizleme yap:
npm run fix-report-links -- --dry-run # list the affected rows, write nothing
npm run fix-report-links # apply; the tracker is backed up to .bak firstDiğer tüm hücreler, satır sırası ve satır sonları olduğu gibi kalır. Tam olarak bir bağlantıdan başka bir şey içeren Report hücreleri, elle kontrol etmen için listelenir ve değiştirilmez. Komutu ikinci kez çalıştırmak hiçbir şeyi değiştirmez.
İlanların hâlâ açık olup olmadığını kontrol etme
Satırlar Evaluated veya Applied durumunda beklerken ilanlar kapanır. node check-liveness.mjs --tracker, her Evaluated ve Applied satırının ilanını kontrol eder; --status= ile başka durumları seçebilirsin. Her ilanı satırın URL hücresinden veya raporundaki **URL:** satırından alır, ikisi de olmayan satırları ise numarasıyla listeler.
İlanı kapanmış Evaluated satırlarını temizlemek için önce önizleme yap:
node check-liveness.mjs --tracker --discard-expired # dry run: lists the rows it would move
node check-liveness.mjs --tracker --discard-expired --apply # moves themYalnızca expired olarak değerlendirilen bir ilanın satırı taşınır: Evaluated'dan Discarded'a, posting closed YYYY-MM-DD notuyla. Sonucu belirsiz olan satırlar olduğu gibi kalır, tüm Applied satırları da öyle.
Toplam rakamları okuma
Kümülatif rakamlar (tam huni, tarayıcı toplamları, portal kapsamı ve takip uyumu) için mod node stats.mjs --summary komutunu çalıştırır ve çıktısını birebir sunar. Bu komut yerel dosyalarını okur ve sıfır token harcar; böylece rakamlar asla elle yeniden hesaplanmaz veya hafızadan tahmin edilmez. Hızlı günlük okuma için yukarıdaki sohbet özetini, tüm iş aramanın güncel toplamlarını görmek istediğinde ise stats komutunu kullan.
Onarılmış bir kopyayı dışa aktarma
Yüzlerce satırda bir markdown tablosu hasar alır: mojibake yer tutucular, durum sütununda kalmış bir puan, yinelenen kimlikler, başıboş dikey çizgiler. node tracker.mjs sync, bunları SQLite dizini data/applications.db içinde bulup onarır ve markdown dosyasına dokunmaz. tracker.mjs bu dizin için Node 22.13 veya üzerini (Node 23'te 23.4 veya üzerini) ister; markdown tracker onsuz da çalışmaya devam eder. Kendi tracker'ının onarılmış bu kopyasını node tracker.mjs export ile devralırsın:
node tracker.mjs export # rebuilt table on stdout
node tracker.mjs export --out repaired.md # write to a file; an existing one is backed up to repaired.md.bak first
node tracker.mjs export --out repaired.md --force # write even when something would be lostexport, --out olarak vermediğin sürece data/applications.md dosyasına asla dokunmaz.
Yalnızca değerleri değil, okuduğu düzeni de korur: başlık satırın, career-ops'un eşlemediği sütunlar (Location, Via, URL veya kendi sütunların), başlık, giriş ve son satırlar ve CRLF ya da LF satır sonları. Ek sütunlar kendi konumlarında geri gelir, ancak query bunlara göre filtreleme yapamaz.
Yeniden üretemediği her şey stderr'de adıyla belirtilir. Bu liste boş değilse --out, var olan bir dosyanın üzerine yazmayı reddeder (çıkış kodu 1, hiçbir şey yazılmaz) ve --force ile yeniden çalıştırman gerekir; liste boşsa --out var olan dosyayı yedekler ve üzerine yazar. Bildirilenler şunlardır:
| Bildirilen | Neden yeniden oluşturulamıyor? |
|---|---|
| Başlığın tanımladığı sütunların dışında kalan bir hücre | Başlıkta onu koyacak bir sütun yok |
| İlk ve son tablo satırı arasında kalan bir satır (bir başlık veya ikinci bir tablonun başlık satırı gibi) | Yeniden oluşturulan tek bir tabloda onu koyacak yer yok |
## Archive bölümü gibi sonraki bir tabloya ait satır | İlk tablonun başlığına göre dizine eklendi; yeniden yazılması arşivlenmiş verileri aktif tabloya taşır |
Değerinin hücre olarak kalabilmesi için yeniden yazılması gereken bir hücre (başıboş bir |, │ olarak geri gelir) | Değerin kendisi değişti |
Kayıp bildirilmemesi, çıktının bayt bayt aynı olduğu anlamına gelmez. export, sync'in yaptığı onarımları yazar ve bunların bazıları sessizdir: aplicado, templates/states.yml içinde Applied için tanınan bir takma addır; bu yüzden sync --check bozulma bildirmez, ama dışa aktarım yine de Applied yazar. Sütunlara hizalanmış hücreler de tek boşluklu olarak geri gelir. Bir dışa aktarımı devralmadan önce, yerini alacağı dosyayla farkına bak:
node tracker.mjs export | diff data/applications.md -sync, query ve history dahil tam komut başvurusu, ana deponun script kılavuzunda yer alır.
Dikkat edilmesi gerekenler
Durum, rapor dosyasında değil, tracker'ın (data/applications.md) Status sütununda tutulur. Durumu elle değiştirmek data/status-log.tsv dosyasını atlar: funnel-velocity yeni durumu yine görür ama ne zaman gerçekleştiğini göremez; bu yüzden değişiklik aşama hızı sürelerinde yer almaz ve sonradan Rejected ile biten bir satır geçtiği aşamaları kaybeder. set-status.mjs komutunu, sohbeti veya aynı komutu çalıştıran Go TUI panelinin durum seçicisini kullan.
İlgili sayfalar
project
Geliştiriciler fikirleri hayata geçirebildiklerinden daha hızlı biriktirir. project modu, bir portföy projesi fikrini hedef rollerine, mevcut portföyüne ve ayıracağın zamana göre puanlar; yapmaya değip değmeyeceğini ortaya koyar.
patterns
Tracker'ındaki her başvuruyu sonucuyla birlikte okur ve kalıpları ortaya çıkarır: yüksek puan alan ama hiç sonuca dönüşmeyen ilan türleri, arketip uyumsuzlukları, ücret aralığı sorunları. Çıktısı, hedefleme filtreni ayarlaman için bir kalibrasyon sinyalidir.