bartib/README.md
2021-09-03 15:14:29 +02:00

134 lines
No EOL
2.8 KiB
Markdown

# Bartib
Bartib is a time tracker for the command line. It safes a journal of all tracked activities in a plaintext file.
## Build
Build it with cargo:
```
cargo build --release --bin bartib
```
## The journal file
Bartib safes a journal of all tracked activities in a plaintext file. The file can either be specified via the `-f / --file` cli option or as a `BARTIB_FILE` environment variable.
## Commands
### Help
Print help information:
```
bartib -h
```
### Start a new activity
Start a new activity with a short description and an associated project:
```
bartib start -p "The name of the associated project" -d "A description of the activity"
```
All currently tracked activites will be stopped. If the specified file does not exist yet it will be created.
The `-t/--time` option specifies at which time of the current day the new activity starts (and any currently running activity stops):
```
bartib start -p "The name of the associated project" -d "A description of the activity" -t 13:45
```
### Stop a running activity
Stops the currently running activity:
```
bartib stop
```
The `-t/--time` option specifies at which time of the current day the activities stop.
### Continue the last activity
```
bartib continue [-p "Another project"] [-d "Another description"]
```
This continues the last activity. If an activity is currently tracked, bartib stops and restarts this activity. The associated project and description may be overwritten by setting a `-p / --project` or `-d / --description` option.
The `-t/--time` option specifies at which time of the current day the activity (re-)starts.
### List all currently running activities
```
bartib current
```
### List activities
All activities:
```
bartib list
```
Do not group activities by date:
```
bartib list --no_grouping
```
List activities in a given time range:
```
bartib list --from 2021-03-01 --to 2021-11-01
```
List activities on a given day:
```
bartib list --date 2021-05-17
```
List activities of special days:
```
bartib list --today
bartib list --yesterday
```
### Edit activities
To change tracked activities, just open the file with your activities log in any text editor. To facilitate this, bartib offers the `edit` subcommand:
```
bartib edit
```
This will open your log in the editor you have defined in your `EDITOR` environment variable. Alternatively you can specify the editor command via the `-e/--editor` option:
```
bartib edit -e vim
```
### Show last activity
```
bartib last
```
### List all projects
This command lists all projects for which an activity has ever been logged:
```
bartib projects
```
This is especially useful for autocompletion. For example, adding this line to the `.bashrc` enables autocompletion for project names:
```
complete -W "$(bartib projects)" bartib
```