| Crates.io | timereport |
| lib.rs | timereport |
| version | 0.4.1 |
| created_at | 2024-04-23 20:18:53.639691+00 |
| updated_at | 2025-04-16 18:45:04.364522+00 |
| description | A small command-line utility for reporting working time and displaying it in different formats. |
| homepage | |
| repository | https://github.com/Godsmith/timereport |
| max_upload_size | |
| id | 1217978 |
| size | 92,089 |
A small command-line utility for reporting working time and displaying it in different formats.
╭────────────────────┬────────────┬────────────┬────────────┬────────────┬────────────╮
│ │ 2025-04-14 │ 2025-04-15 │ 2025-04-16 │ 2025-04-17 │ 2025-04-18 │
│ │ Monday │ Tuesday │ Wednesday │ Thursday │ Friday │
├────────────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
│ start │ │ 08:00 │ │ │ │
│ stop │ │ 16:00 │ │ │ │
│ lunch │ │ 00:45 │ │ │ │
│ 1. Default project │ │ 06:15 │ │ │ │
│ 2. Project A │ │ 01:00 │ │ │ │
│ 2. Sickness │ │ │ │ │ │
│ 3. Volunteering │ │ │ │ │ │
│ 4. Vacation │ │ │ │ │ │
│ Flex │ │ -00:45 │ │ │ │
╰────────────────────┴────────────┴────────────┴────────────┴────────────┴────────────╯
Timereport stores both configuration and time report data in a file timereport.json, by default at .
cargo install --path .TIMEREPORT_PATH environment variable to where you want to create the .json file containing settings and time report data. Default is C:\Users\$USERNAME\Dropbox\timereport.json.timereport. timereport.json will be created in the chosen location.working_time_per_day variable in the json file to the appropriate value in seconds. Default is 27900 seconds (7 hours and 45 minutes).It is recommended to assign an alias to timereport. Below the alias t is assumed.
Saturdays and Sundays will only be shown if they are affected. To always show them, use --weekend.
$ t 2025-02-08 start 08:30
$ t monday lunch 45m
$ t last monday stop 16:45
$ t yesterday start 7:00
If date is omitted, the current date will be used:
$ t start 08:30
$ t start 08:30 stop 16:00 lunch 45m
$ t add myproject
$ t add "Project containing spaces"
These are all equivalent, provided that myproject is number 2 in the list:
$ t project myproject 8
$ t project myproject 8:00
$ t project 2 8:00
Data can be shown one week or one month at a time, either in the terminal or in a web browser.
Add last to show the previous week.
$ t
$ t show week
$ t show last week
$ t show january
$ t show week html
Add the --weekend flag to any command to show Saturday and Sunday:
$ t --weekend
$ t show week html --weekend
$ t start 8:30 --weekend
cargo test
cargo llvm-cov [--html]
git tag x.y.z; git push; git push --tagscargo publishFirst working version
Add workflow to deploy for Windows
Bold formatting for changed cells
Fix flex display in show week html
Fix: Prevent command with trailing arguments from writing to yaml file
Support 'yesterday'.
Fix: Json entries for start and stop needlessly used date, which caused issues.
Add --version and --help