5 releases (3 stable)
1.0.2 | Dec 15, 2023 |
---|---|
1.0.1 | Dec 8, 2023 |
1.0.0 | Nov 29, 2023 |
0.1.1 | Nov 25, 2023 |
0.1.0 | Nov 25, 2023 |
#1230 in Command line utilities
25KB
523 lines
Timest - Dead Simple Punch Card CLI
Timest is a dead simple CLI time card. Clock in. Clock out. See how much you worked.
Installation
- With
cargo
$ cargo install timest
- Build from source - must have cargo/rustup installed
# Linux
$ git clone https://github.com/stephenlf/timest.git
$ cd timest
$ cargo build --release
$ cp target/release/timest ~/.cargo/bin/timest
Usage
Clock
Clock in and out easily.
# Clock in/out
$ timest clock i
$ timest clock o
# Clock in/out at a different time or date
$ timest clock i --time 8:00
$ timest clock i --time 8:00 --date 2023-05-31
$ timest clock o --t 8:00 --d 2023-05-31
View Reports
View today's report.
$ timest clock i -t 11:23:38
$ timest clock o -t 12:09:59
$ timest report
# Output below
Get warned of incomplete work intervals and get prompts to fix them.
$ timest clock i -t 8:00
$ timest clock i -t 13:20:23
$ timest clock i -o 14:00
$ timest report
# Output below
Run a simple report to see raw timestamps.
# See today's reports
$ timest report simple
# Gathering data from day 2023-11-25
# ====TODAY'S TIMESHEET====
# ->> 2023-05-31
# ________________________
# | 7 | 11:23:38 | i |
# | 8 | 12:09:59 | o |
Use the --date
/-d
flag to specify a day to view, or use the --yesterday
/-y
flag to see yesterday's report.
$ timest report -y
# ...
Fix Entries
Use timest report simple
to get entry ids, then run timest fix {id}
to modify the bad entry. timest fix {id}
uses the same arguments as timest clock
.
$ timest clock i -t 8:00
$ timest report simple
# Gathering data from day 2023-11-25
# ====TODAY'S TIMESHEET====
# ->> 2023-05-31
# ________________________
# | 9 | 08:00:00 | i |
$ timest fix 9 o -t 11:24:38
$ timest report simple
# Gathering data from day 2023-11-25
# ====TODAY'S TIMESHEET====
# ->> 2023-05-31
# ________________________
# | 9 | 11:24:38 | o |
Delete Entries
Use timest report simple
to get entry ids, then run timest delete {id}
to remove the bad entry.
$ timest clock i -t 8:00
$ timest clock i -t 8:01
$ timest report simple
# Gathering data from day 2023-11-25
# ====TODAY'S TIMESHEET====
# ->> 2023-05-31
# ________________________
# | 10 | 11:24:38 | o |
# | 11 | 11:24:38 | o |
$ timest delete 11
$ timest report simple
# Gathering data from day 2023-11-25
# ====TODAY'S TIMESHEET====
# ->> 2023-05-31
# ________________________
# | 10 | 11:24:38 | o |
Dependencies
~3.5–5MB
~85K SLoC