| Crates.io | tardis-cli |
| lib.rs | tardis-cli |
| version | 0.1.0 |
| created_at | 2025-06-25 19:27:46.817824+00 |
| updated_at | 2025-06-25 19:27:46.817824+00 |
| description | TARDIS - Translates natural language dates into machine-readable formats |
| homepage | |
| repository | https://github.com/hvpaiva/tardis-cli |
| max_upload_size | |
| id | 1726328 |
| size | 103,163 |
TARDIS – Time And Relative Date Input Simplifier. Like the Doctor’s ship in Doctor Who, it translates human‑friendly time expressions into precise datetimes right from your terminal.
next Monday at 09:00, in 2 hours, tomorrow 14:30--format)--timezone)TOML configuration with named presetscargo install tardis-cli --locked
Why
--locked? Guarantees the same dependency versions used in continuous integration, avoiding surprises from newer transitive crates.
td "tomorrow 15:00"
# 2025-06-26T15:00:00+01:00
td "next Friday" --format br
# 26/06/2025
td "in 2 hours" --timezone Europe/London
# 2025-06-25T17:30:00+01:00
echo "next Monday at 09:00" | td
# 2025-06-30T09:00:00+01:00
td now -f "%H:%M"
# 15:30
td "yesterday" -f "%Y-%m-%d" -t UTC --now "2025-06-26T15:30:00+01:00"
# 2025-06-25
On first run, a config file is generated automatically:
| Platform | Path |
|---|---|
$XDG_CONFIG_HOME is set |
$XDG_CONFIG_HOME/tardis/config.toml |
| Linux (default) | ~/.config/tardis/config.toml |
| macOS | ~/Library/Application Support/tardis/config.toml |
| Windows | %APPDATA%\tardis\config.toml |
Precedence: CLI flags → Environment variables → Config file.
Note: If the Environment variables are empty, even if set, the config file will be used.
# config.toml
format = "%Y-%m-%dT%H:%M:%S%:z"
timezone = "" # empty = use local OS time‑zone
[formats]
taskline = "%d.%m.%Y %H:%M"
br = "%d/%m/%Y"
iso = "%Y-%m-%dT%H:%M:%S"
-f, --format chrono format string or preset name configured in [formats]
-t, --timezone output time‑zone (IANA name)
--now reference datetime (RFC3339) for deterministic output
--help show CLI usage
--version show binary version
# Schedule a reminder in TaskLine (example)
tl t "Prepare slides" -d $(td "next Friday at 12:00" -f taskline)
| Variable | Purpose |
|---|---|
TARDIS_FORMAT |
fallback format when --format is omitted |
TARDIS_TIMEZONE |
fallback time‑zone when --timezone is omitted |
Bug reports and pull requests are welcome!
See CONTRIBUTING.md for guidelines.
The name TARDIS pays homage to the iconic, bigger‑on‑the‑inside time machine from Doctor Who. This CLI helps you navigate time too — minus the wibbly‑wobbly stuff.