CLI aracı · 2026
skycast
Terminalde hava durumu: ASCII çizimler, renk kodlu sıcaklıklar, tahminler ve karşılaştırmalar.
- Durum
- Yayında
Kısaca
Dünyanın her yeri için bir komut satırı hava durumu uygulaması. “skycast Istanbul” anlık durumu ASCII çizimle gösteriyor; forecast, hourly ve compare ile 16 güne kadar tahmin, saatlik sparkline grafikler ve yan yana şehirler geliyor. API anahtarı gerekmiyor: veri Open-Meteo’dan.
Neden yaptım
Çoğu hava durumu CLI’ı tek satırlık bir curl ya da ince bir API sarmalayıcı. Ben ürün gibi yapılmış bir tane istedim: 30 sütunda da pipe’ta da okunabilen çıktı, ne yapılacağını söyleyen hata mesajları ve bunu kanıtlayan bir test paketi.
Katkım
Hepsi — tasarım, kod, testler, CI ve npm yayını.
Öne çıkanlar
- Dünyanın her yeri; yalnızca ad gerçekten belirsizse soruyor
- Sistem diline göre seçilen İngilizce ve Türkçe, metrik ve imperial birimler
- Betikler için sürümlü --json çıktısı ve anlamlı çıkış kodları
- Önbellekten çevrimdışı çalışma, açık bir uyarıyla
- bash, zsh ve fish için kabuk tamamlama
- Çalışma zamanı bağımlılığı olmayan tek bir paket dosyası
Kararlar
- 01
Sağlayıcılar bir arayüzün arkasında
API yanıtları sınırda Zod ile doğrulanıp alan modellerine dönüştürülüyor. Komutlar ve görünümler Open-Meteo’yu hiç görmüyor; başka bir hava durumu API’si tek bir yeni sağlayıcı uzaklıkta.
- 02
Taşmayan, kademeli daralan görünümler
Tablolar önce en önemsiz sütunlarını bırakıyor ve her görünüm 30 sütuna kadar test ediliyor. Renkler truecolor’dan 256 ve 16 renge düşüyor; pipe’ta ya da NO_COLOR ile tamamen kayboluyor.
- 03
Gerçek yanıtlarla test
400’ü aşkın test kaydedilmiş gerçek API yanıtları üzerinde çalışıyor: görünüm snapshot’ları, 30’dan 160 sütuna genişlik taraması ve derlenmiş CLI’ın uçtan uca çalıştırılması; Linux, macOS ve Windows’ta Node 20, 22 ve 24 ile.
Teknolojiler
- Node.js
- TypeScript
- Commander.js
- Zod
- Vitest
- Open-Meteo