salat-cli
v1.6.9
Published
Interactive CLI for Islamic prayer times with smart location input and geocoding
Downloads
81
Maintainers
Readme
Salat CLI
Sebuah aplikasi command-line untuk menampilkan jadwal waktu sholat dengan berbagai fitur interaktif dan geocoding otomatis.
✨ Fitur Utama
- 🌍 Smart Location Input: Setup dengan alamat atau koordinat
- 🔍 Geocoding Otomatis: Konversi alamat ke koordinat secara otomatis
- 📍 Location Names: Tampilan nama lokasi yang mudah dibaca
- ⚡ Setup Cepat: Satu perintah untuk konfigurasi lokasi
- 🕰️ Countdown Real-time: Countdown ke waktu sholat berikutnya
- 📺 Live Update: Mode watch dengan update otomatis setiap menit
- 🔔 Notifikasi: Opsi notifikasi saat masuk waktu sholat
- 🎨 UI Cantik: Interface terminal berwarna dengan emoji
- ⚙️ Konfigurasi Fleksibel: 8 metode perhitungan (MWL, ISNA, Egypt, Makkah, Karachi, Tehran, Kemenag, JAKIM)
🚀 Instalasi
- Clone repository ini:
git clone https://github.com/herbras/BelGolang.git
cd BelGolang- Build aplikasi:
go build -o salat- (Opsional) Install ke sistem:
go install📖 Penggunaan
🌍 Setup Lokasi (Baru!)
Setup dengan Alamat
# Setup dengan nama kota/alamat
salat setup "Jakarta, Indonesia"
salat setup "Bandung, Indonesia"
salat setup "Monas Jakarta"
# Pilih API geocoding
salat setup "Surabaya" --api photon
salat setup "Medan" --api nominatim # defaultSetup dengan Koordinat
# Format: "latitude,longitude"
salat setup -- "-6.2,106.8" # Jakarta
salat setup -- "-6.9,107.6" # Bandung
salat setup -- "-7.25,112.75" # SurabayaSetup Interaktif (Klasik)
salat setup📅 Perintah Utama
Tampilkan Jadwal Hari Ini
salat showContoh output:
🕌 Jadwal Sholat - Friday, 30 May 2025
📍 Kota Bandung, Jawa Barat, Jawa, Indonesia (-6.921846, 107.607083) • Kemenag
WAKTU JAM STATUS
-------------------------------
🌙 Imsak 04:27 ✓
🌅 Subuh 04:37 ✓
☀️ Dzuhur 11:52 ✓
🌤️ Ashar 15:14
🌇 Maghrib 17:45
✨ Isya 18:59
-------------------------------
⏰ Sholat berikutnya: 🌤️ Ashar dalam 1h 22mCountdown Sholat Berikutnya
salat next # atau salat nStatus Sholat Saat Ini
salat nowMode Live Update
salat watch # atau salat w
# Dengan notifikasi
salat watch --notify⚙️ Konfigurasi
Lihat Konfigurasi
salat config showUbah Lokasi
# Dengan alamat
salat config set location "Yogyakarta, Indonesia"
# Dengan koordinat
salat config set location -- "-7.8,110.4"Ubah Pengaturan Lain
salat config set timezone Asia/Jakarta
salat config set method Kemenag
salat config set geocoding_api photonKunci Konfigurasi yang Tersedia
timezone- Zona waktu (contoh: Asia/Jakarta)location- Lokasi (alamat atau koordinat)latitude- Garis lintanglongitude- Garis bujurmethod- Metode perhitungan (MWL, ISNA, Egypt, Makkah, Karachi, Tehran, Kemenag, JAKIM)geocoding_api- API geocoding (nominatim, photon)
🌐 Geocoding APIs
Aplikasi ini mendukung dua penyedia geocoding:
Nominatim (Default)
- API gratis dari OpenStreetMap
- Rate limit: 1 request/second
- Coverage: Global
Photon
- API gratis dari Komoot
- Lebih cepat dari Nominatim
- Coverage: Global
- Usage:
--api photon
🎨 Opsi Tampilan
Mode Compact
salat show --compactTema
salat show --theme dark
salat show --theme light # default🔧 Development
Build untuk Development
go run main.go setup "Jakarta"
go run main.go showBuild untuk Production
go build -ldflags="-s -w" -o salatBuild untuk Semua Platform
goreleaser build --snapshot --clean📝 API Geocoding
Aplikasi menggunakan geocoding API eksternal untuk konversi alamat:
- Forward Geocoding: Alamat → Koordinat + Nama Lokasi
- Reverse Geocoding: Koordinat → Nama Lokasi
- One-time Only: API dipanggil sekali saat setup, hasil disimpan di config
- Offline-first: Setelah setup, tidak perlu internet untuk perhitungan sholat
🤝 Contributing
Lihat CONTRIBUTING.md untuk panduan kontribusi.
📄 License
MIT License - lihat file LICENSE untuk detail.
🔗 Links
- Repository: https://github.com/herbras/BelGolang
- Issues: https://github.com/herbras/BelGolang/issues
- NPM Package: salat-cli
Version: 1.6.0 • Last Updated: January 2025
