How to use the command 'watson' (with examples)
Watson is a command-line interface (CLI) tool that allows users to track their time. It provides various functionalities for monitoring and managing time spent on different projects. This article will illustrate each of the use cases of the command ‘watson’ with examples.
Use case 1: Start monitoring time in project
Code:
watson start project
Motivation: Starting the time monitoring for a specific project allows users to accurately track the time spent on each individual project. This can be useful for productivity analysis and resource allocation.
Explanation:
watson
: The command-line executable for invoking the Watson CLI.start
: This subcommand is used to start monitoring the time for a project.project
: The name of the project for which the time is being monitored.
Example output:
Started monitoring time for project 'project' at [timestamp].
Use case 2: Start monitoring time in project with tags
Code:
watson start project +tag
Motivation: Adding tags to the started time session allows users to categorize the time spent on different aspects or tasks within a project. This provides more detailed information for analysis and reporting purposes.
Explanation:
watson
: The command-line executable for invoking the Watson CLI.start
: This subcommand is used to start monitoring the time for a project.project
: The name of the project for which the time is being monitored.+tag
: The tag(s) associated with the time session. Tags are used to categorize the time spent on different aspects or tasks within the project.
Example output:
Started monitoring time for project 'project' with tag 'tag' at [timestamp].
Use case 3: Stop monitoring time for the current project
Code:
watson stop
Motivation: Stopping the time monitoring for the current project is necessary when the user is done working on a project. This ensures that the time tracking is accurate, and the user can move on to other projects or tasks.
Explanation:
watson
: The command-line executable for invoking the Watson CLI.stop
: This subcommand is used to stop the time monitoring for the current project.
Example output:
Stopped monitoring time for project 'project' at [timestamp].
Use case 4: Display the latest working sessions
Code:
watson log
Motivation: Displaying the latest working sessions provides users with a summary of the time they have spent on different projects. This can be useful for reviewing and analyzing their time allocation.
Explanation:
watson
: The command-line executable for invoking the Watson CLI.log
: This subcommand is used to display the latest working sessions.
Example output:
1. Project: 'project1', Tag: 'tag1', Start: [start_timestamp], End: [end_timestamp], Duration: [duration]
2. Project: 'project2', Tag: 'tag2', Start: [start_timestamp], End: [end_timestamp], Duration: [duration]
...
Use case 5: Edit most recent frame
Code:
watson edit
Motivation: Editing the most recent frame allows users to make modifications to the time session, such as updating the project name, tags, or correcting any mistakes in the recorded time.
Explanation:
watson
: The command-line executable for invoking the Watson CLI.edit
: This subcommand is used to edit the most recent frame.
Example output:
Editing frame with ID [frame_id].
Enter the updated details for the frame:
Project: project1
Tags: tag1,tag2
Start: [start_timestamp]
End: [end_timestamp]
...
Use case 6: Remove most recent frame
Code:
watson remove
Motivation: Removing the most recent frame allows users to delete a time session that was recorded incorrectly or is no longer valid. This helps maintain accurate time records.
Explanation:
watson
: The command-line executable for invoking the Watson CLI.remove
: This subcommand is used to remove the most recent frame.
Example output:
Removed frame with ID [frame_id].
Conclusion:
The command ‘watson’ provides a versatile and convenient way to track time using the command line. With its various subcommands, users can start and stop monitoring time for projects, add tags for categorization, view the latest working sessions, edit frames, and remove frames. By utilizing this command, users can efficiently track and manage their time allocation for different projects and tasks.