prayertime-cli is a stateless CLI for Islamic prayer schedules and countdowns. It is built for agents, shell scripts, and direct terminal use.
- Search locations with Open-Meteo geocoding.
- Fetch daily prayer times from AlAdhan with
method=13(Diyanet). - Count down to the next prayer or a named prayer.
- Emit structured JSON on
stdoutwith--jsonor bare scalar values with--quiet.
- MVP 1 has no persisted default location.
- Every
timescommand requires either--query <place>or both--lat <float>and--lon <float>. --date todayis resolved in the target location timezone.
Find candidate locations before choosing one:
prayertime-cli locations search --query "Springfield" --country-code US --jsonGet today's full prayer schedule:
prayertime-cli times get --query Istanbul --jsonExtract one value for automation or shell pipelines:
prayertime-cli times get --query Ankara --country-code TR --field yatsi --quietAsk how long until the next ezan / next prayer:
prayertime-cli times countdown --query Istanbul --target next-prayer --jsonAsk how long until a specific prayer, including iftar:
prayertime-cli times countdown --query Istanbul --target iftar --quietUse coordinates instead of a place name:
prayertime-cli times get --lat 41.01384 --lon 28.94966 --date today --jsonRecover from a typo or ambiguous location:
prayertime-cli locations search --query Istnbul --json--json: emit structured payloads tostdout. With--json, errors are also JSON onstdout.--quiet: emit one bare scalar value.times getrequires--field;times countdown --quietdefaults tominutes_remaining.--output text|json|value: generalized form of the same output contract.times countdown --output valuealso defaults tominutes_remaining; other scalar paths may still require--field.- Default human mode: readable output on
stdout; errors and suggestions onstderr. - If you need exact process exit codes, run the compiled binary directly.
go runwraps non-zero exits.
- Commands and flags are English-first and canonical.
- Turkish semantic aliases are supported for prayer targets and field selectors.
iftarandaksamresolve tomaghrib;yatsiresolves toisha;ogleresolves todhuhr.
Tagged releases are published as cross-platform binaries. Package manager automation is wired for Homebrew Cask and Scoop.
# Homebrew
brew tap SeeknnDestroy/homebrew-tap
brew install --cask prayertime-cli
# Scoop
scoop bucket add prayertime-cli https://github.com/SeeknnDestroy/scoop-bucket
scoop install prayertime-cli
# Go
go install github.com/SeeknnDestroy/prayertime-cli/cmd/prayertime-cli@latestmake verify
make docs
make build
make release-check0: success1: internal failure2: usage error3: not found or ambiguous input4: network or upstream timeout5: reserved conflict/state error
MIT