24 releases (breaking)
0.20.0 | Jun 13, 2024 |
---|---|
0.18.0 | Jun 1, 2024 |
0.17.0 | Jan 14, 2024 |
0.16.0 | Mar 16, 2023 |
0.4.1 | Mar 27, 2020 |
#1383 in Command line utilities
23 downloads per month
68KB
1.5K
SLoC
Stempel
Small utility to store and calculate the time spent at work.
⚠️ v0.10.0 introduces a new storage file format. Run
stempel migrate
to update your json database to the new format.
Usage
Example for managing one day:
# First of, configure some settings
stempel configure
# start working now
stempel start
# start a break five minutes ago
stempel break start --offset 5m-
# optional: break can be canceled:
stempel cancel
# finish break in one hour (only if not canceled above)
stempel break stop --offset 1h+
# Finish the day
stempel stop
# Alternatively, you can specify the time point to stop as a time in 24h format
stempel stop --time 17:38
For a detailed reference, run stempel help
or stempel SUBCOMMAND --help
.
Available subcommands are:
cancel
s the last break, start or does nothing if no break or start in the storage,break
: usestart
orstop
as subcommand to handle breaks,migrate
: migrate storage file from old (before 0.10.0) to new format (since v0.10.0)start
: start a working period, aborts if you already started previously,stats
prints current statistics.stop
: checks if astart
entry is in the storagefile
and calculates the working time, aborts if nostart
entry is found,configure
: set some defaults for stempel and save them alongside the database file. Currently available:- number of months printed by the statistic command
- number of hours to work per day
Completions
Run stempel completions --shell <shell>
to get a shell completion file, e.g. stempel completions --shell zsh
for zsh. Source this file according to your specific shell.
source <(stempel completions --shell zsh)
Options:
--offset
This option allows to specify a positive or negative offset to the current time.
In other words, giving the option --offset 10m+
means that the command is
executed with the current time plus 10 minutes, 20s-
stands for current time
minus 20 seconds. The syntax allows [Xh][Xm][Xs](+-)
where X
can be any
number and h|m|s
refer to hours, minutes and seconds, respectively. Overridden
by --time
below.
Some examples:
2h30m4s+
: 2 hours, 30 minutes, 4 seconds from now1h90s-
: 1 hour 90 seconds before now20m30s+
: 20 minutes, 30 seconds from now60s-
: one minute before now
--time
This options allows to specify a time for the respective action. Use it if you
want to start or stop at a certain time. The format is HH:MM
in 24h where the
date is set to the current day, e.g. 13:47
means today at 13h 47
.
--storage
Specify a path to the storage file where all work entries are written to. The
path defaults to $HOME/.config/stempel.json
and is created on the first
invocation of the start
subcommand.
License
MIT
Dependencies
~10–21MB
~284K SLoC