timeman-cli 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +45 -1
  2. package/package.json +8 -8
package/README.md CHANGED
@@ -10,6 +10,7 @@ A terminal based stopwatch and countdown timer, built with [OpenTUI](https://git
10
10
  - **TUI interface**: Full-screen terminal UI via `-i/--interactive`.
11
11
  - **Notifications**: Bell + toast when a countdown completes.
12
12
  - **Session timeline**: Stopwatch summary with per-session start/end times in your local time zone.
13
+ - **Session history**: Every stopwatch session is saved. Review, delete and retitle them from the TUI with `h`.
13
14
  - **Drift-proof timing**: Durations use a monotonic clock, so a system clock jump (DST, NTP sync) never corrupts them.
14
15
 
15
16
  ![Stopwatch TUI Screenshot](./docs/stopwatch-tui.png)
@@ -61,7 +62,7 @@ tm sw -p "Project Alpha" # name the session for the summary
61
62
  tm sw -i # full-screen TUI
62
63
  ```
63
64
 
64
- Keys: `space` start/stop · `r` reset · `q` quit.
65
+ Keys: `space` start/stop · `r` reset · `q` quit · `h` history (TUI only).
65
66
 
66
67
  On exit you get a session timeline — one bar per start/stop run, with total time:
67
68
 
@@ -73,6 +74,49 @@ On exit you get a session timeline — one bar per start/stop run, with total ti
73
74
  ╰──────────────────────────────────────────────────────────────╯
74
75
  ```
75
76
 
77
+ ### Session history
78
+
79
+ Both modes save every session when you quit. Only the TUI reads them back, so press `h` from `tm sw -i`. There is no `tm log` command.
80
+
81
+ The first screen rolls your projects up over a billing period, largest first:
82
+
83
+ ```
84
+ This Week This Month Last Month All Time
85
+
86
+ August 2026 · 11 hrs 52 mins logged
87
+
88
+ ╭────────────────────────────────────────────────────────────────────────╮
89
+ │ PROJECT SHARE TOTAL LAST │
90
+ │ │
91
+ │ ▸Project Alpha ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ 4 hrs 10 mins Sun │
92
+ │ Client Review ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ 4 hrs 5 mins Mon │
93
+ │ Deep Work ▬▬▬▬▬▬▬▬▬▬▬▬▬ 2 hrs 47 mins Sat │
94
+ │ Untitled ▬▬▬▬ 0 hrs 50 mins Fri │
95
+ ╰────────────────────────────────────────────────────────────────────────╯
96
+ ```
97
+
98
+ Keys: `↑↓` project · `←→` period · `enter` line items · `esc` back · `q` quit.
99
+
100
+ `enter` breaks one project into invoice lines, one per day, with its sessions underneath:
101
+
102
+ ```
103
+ Client Review · Last Month · 4 hrs 5 mins
104
+
105
+ ╭────────────────────────────────────────────────────────────────────────╮
106
+ │ Mon 31 Aug ───────────────────────────────────────── 2 hrs 25 mins │
107
+ │ ▸ 13:15 → 15:40 2 hrs 25 mins │
108
+ │ │
109
+ │ Thu 27 Aug ───────────────────────────────────────── 1 hr 40 mins │
110
+ │ 10:00 → 11:40 1 hr 40 mins │
111
+ ╰────────────────────────────────────────────────────────────────────────╯
112
+ ```
113
+
114
+ Keys: `↑↓` session · `d` delete · `r` rename the project · `esc` back · `q` quit.
115
+
116
+ A row shows the wall-clock span alongside the time actually on the clock. Pause mid-session and the duration comes out shorter than the span. `d` asks for `y`/`n` on the row itself. `r` retitles every session filed under that project, which is how `Untitled` gets fixed after you forget `-p`.
117
+
118
+ Sessions live in a SQLite database at `~/.local/share/timeman/history.db`, or `~/Library/Application Support/timeman` on macOS and `%LOCALAPPDATA%\timeman` on Windows. `TIMEMAN_HOME` overrides that directory. The newest 5,000 sessions are kept.
119
+
76
120
  ### Countdown
77
121
 
78
122
  ```bash
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "timeman-cli",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "A terminal based stopwatch and countdown timer",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -25,12 +25,12 @@
25
25
  "bin"
26
26
  ],
27
27
  "optionalDependencies": {
28
- "timeman-linux-x64": "0.4.1",
29
- "timeman-linux-arm64": "0.4.1",
30
- "timeman-linux-x64-musl": "0.4.1",
31
- "timeman-linux-arm64-musl": "0.4.1",
32
- "timeman-darwin-x64": "0.4.1",
33
- "timeman-darwin-arm64": "0.4.1",
34
- "timeman-windows-x64": "0.4.1"
28
+ "timeman-linux-x64": "0.5.0",
29
+ "timeman-linux-arm64": "0.5.0",
30
+ "timeman-linux-x64-musl": "0.5.0",
31
+ "timeman-linux-arm64-musl": "0.5.0",
32
+ "timeman-darwin-x64": "0.5.0",
33
+ "timeman-darwin-arm64": "0.5.0",
34
+ "timeman-windows-x64": "0.5.0"
35
35
  }
36
36
  }