today
today
today is a small terminal dashboard for quickly checking what is going on in the current folder.
Build it once, then run it from inside any project:
cd ~/path/to/a/repo
today
Example output:
────────────────────
Today's commits: 3
Files edited: 12
Current branch:
feature/notes
Calendar:
unavailable
Weather:
unavailable
Unread mail:
unavailable
Longest coding streak:
42m
What It Shows
Today's commits: commits in the current Git repo since midnight.Files edited: unique files changed in today's commits plus currently uncommitted files.Current branch: the active Git branch, ordetached HEAD.Calendar: optional value fromTODAY_CALENDAR.Weather: optional value fromTODAY_WEATHER.Unread mail: optional value fromTODAY_UNREAD_MAIL.Longest coding streak: estimated from today's Git commit timestamps, grouped when commits are within 30 minutes of each other.
If you run today outside a Git repo, it still reports files modified today in the current folder and marks Git-only fields as unavailable or zero.
Build
This project is written in Crystal.
shards build
If Crystal cannot write to its default cache directory, keep the cache local to this project:
CRYSTAL_CACHE_DIR=.crystal-cache shards build
The compiled binary is written to:
bin/today
Run
First open the folder where you keep this project. Then run:
./bin/today
Install Once
Open this project folder in your terminal, then add its bin folder to your shell path:
echo "export PATH=\"\$PATH:$(pwd)/bin\"" >> ~/.zshrc
source ~/.zshrc
Then run it from any repo:
cd ~/path/to/a/repo
today
You do not need to copy this project into every repo. The command reads whichever folder you run it from.
Optional Values
Some dashboard values need external data sources. Until those integrations exist, pass them in with environment variables:
TODAY_WEATHER="72°" \
TODAY_CALENDAR="2:00 Meeting" \
TODAY_UNREAD_MAIL="4" \
today
You can also override computed values:
TODAY_COMMITS="6" \
TODAY_FILES_EDITED="24" \
TODAY_BRANCH="feature/notes" \
TODAY_CODING_STREAK="2h13m" \
today
Development
Edit the source:
src/today.cr
Rebuild:
CRYSTAL_CACHE_DIR=.crystal-cache shards build
Smoke test:
./bin/today
today
- 0
- 0
- 0
- 0
- 0
- about 7 hours ago
- July 6, 2026
MIT License
Mon, 06 Jul 2026 07:06:24 GMT