Commands¶
add¶
watson add [project] [tag1] [tag2] ... [options]
Add a new frame for the specified project and tag(s) at the specified time*.
If no time is specified, the current time is used.*
Options¶
Option | Description | Example |
---|---|---|
-f, --from |
The start time of the frame. | --from "2025-01-01 14:45" |
-t, --to |
The end time of the frame. | --to "2025-01-01 14:45" |
Example¶
watson add cookin pizza hawaiian --from "2025-01-01 14:45"
alias¶
watson alias [action] [arguments]
Set or creation an alias for a command.
Examples¶
watson alias create mystatus status
watson alias mystatus status // shorthand for the above command
watson mystatus
watson alias remove mystatus
watson alias myalias start project1 tag1
watson myalias tag2 --from 8:45
# the above command is equivalent to:
watson start project1 tag1 tag2 --from 8:45
bug¶
watson bug
Open the GitHub issue page, ready to submit a bug report.
cancel¶
watson cancel
Cancel the currently running frame.
config¶
watson config [action] [key] [value]
Get or set a settings value.
Examples¶
watson config get workTime.endTime
watson config set workTime.endTime 9:15
edit¶
watson edit [project] [tag1] [tag2] ... [options]
Edit an existing frame*.
If frame ID is specified, the currently running frame, if any, is used.*
Options¶
Option | Description | Example |
---|---|---|
-f, --from |
The start time of the frame. | --from "2025-01-01 14:45" |
-i, --id |
The ID of the frame to edit. | --id 02af5e |
Example¶
watson edit watching-tv avengers --id 02af5e --from "2025-01-01 14:45"
github¶
watson github
Open the GitHub repository of the application.
log¶
watson log [options]
Display the frames within the specified time range and meeting the specified criteria.
The default behavior of the log
if you don't specify any options is to show the frames of today.
(watson log -d 0
)
Options¶
Option | Description | Example |
---|---|---|
-f, --from |
The start time of the frame. | --from "2025-01-01 14:45" |
-t, --to |
The end time of the frame. | --to "2025-01-01 14:45" |
-p, --project |
Show only frames of those projects. | --project cooking |
-t, --tag |
Show only the frames having those tags. | --tag pizza |
-a, --all |
Show all frames. | --all |
-d, --day |
Show the frames of today or specified day. | --day , --day 3 |
-y, --yesterday |
Show the frames of yesterday. | --yesterday |
-w, --week |
Show the frames of this week. | --week |
-m, --month |
Show the frames of this month. | --month |
-q, --year |
Show the frames of this year. | --year |
-r, --reverse |
Show the frames in reverse order. | --reverse |
-i, --ignore-project |
Ignore frames of those projects. | --ignore-project cooking |
-g, --ignore-tag |
Ignore frames having those tags. | --ignore-tag pizza |
Examples¶
watson log -d
watson log -d 3 # show the frames of 3 days ago
watson log --from "2025-01-01 14:45" --to "2025-01-01 14:45"
watson log --from 14:15
watson log -w --project cooking --ignore-tag pizza
project¶
watson project [action] [arguments] [options]
Perform actions on projects, such as
- Create a project
- Remove a project
- List projects
- Rename a project
Actions¶
Action | Description |
---|---|
add | Create a project |
remove | Remove a project |
list | List projects |
rename | Rename a project |
Examples¶
watson project add cooking
watson project remove 82af5e
watson project list
watson project rename 82af5e eating
remove¶
watson remove [id]
Remove the frame with the specified ID.
Examples¶
watson remove 02af5e
restart¶
watson restart [id (optional)]
Restart the specified frame with the same project and tags. If no ID is specified, the latest stopped frame is restarted, if any.
Examples¶
watson restart
watson restart 02af5e
start¶
watson start [project] [tag1] [tag2] ...
Start a new frame for the specified project and tag(s).
Examples¶
watson start watching-tv
watson start cooking pizza hawaiian
stats (work in progress)¶
watson stats [type] [options]
Display various statistics.
Types possible :
- projects
Options¶
Option | Description | Example |
---|---|---|
-f, --from |
The start time of the frame. | --from "2025-01-01 14:45" |
-t, --to |
The end time of the frame. | --to "2025-01-01 14:45" |
-p, --project |
Show only frames of those projects. | --project cooking |
-t, --tag |
Show only the frames having those tags. | --tag pizza |
-a, --all |
Show all frames. | --all |
-d, --day |
Show the frames of today. | --day |
-w, --week |
Show the frames of this week. | --week |
-m, --month |
Show the frames of this month. | --month |
-y, --year |
Show the frames of this year. | --year |
-r, --reverse |
Show the frames in reverse order. | --reverse |
-i, --ignore-project |
Ignore frames of those projects. | --ignore-project cooking |
-g, --ignore-tag |
Ignore frames having those tags. | --ignore-tag pizza |
Examples¶
watson stats projects -d
status¶
watson status
Display the status of the currently running frame.
Examples¶
watson status
stop¶
watson stop [options]
Stop the currently running frame.
Options¶
Option | Description | Example |
---|---|---|
-a, --at |
Stop the frame at the specified time. | --at "2025-01-01 14:45" |
Examples¶
``shell watson stop watson stop --at "2025-01-01 14:45"
## tag
```shell
watson tag [action] [arguments] [options]
Perform actions on tags, such as
- Create a tag
- Remove a tag
- List tags
- Rename a tag
Actions¶
Action | Description |
---|---|
add | Create a tag |
remove | Remove a tag |
list | List tags |
rename | Rename a tag |
Examples¶
watson tag add pizza
watson tag remove 02af5e
watson tag list
watson tag rename 02af5e burger
wiki¶
watson wiki
Open the wiki website of the application.
workhours¶
watson workhours [start|end|reset] [time]
Get or set custom work hours for the current day.
If reset
is passed, the work hours are reset to the default values.
Examples¶
watson workhours start 9:15
watson workhours end 17:15
watson workhours reset