Time-tracker is a simple CLI tool to manage your tasks and track their time. It will create a JSON file where all the data is stored in the location you specify in the init command.
It is a project in progress. Any feedback is welcome.
To install this application, you will need Go 1.23.2 or higher.
You can download it from the official Golang website.
To verify your Go installation and version, run the following command in your terminal:
go version- Clone the repository:
git clone https://github.com/LeanMendez/time-tracker.git- Navigate to the repository directory:
cd time-trackerFrom here, you have two options to compile and install the application:
Use the go install command to compile and install the binary automatically in your $GOPATH/bin directory:
go installNote - if $GOPATH is not defined on your system, look in the following locations:
- Unix systems:
$HOME/go - Windows:
%USERPROFILE%\go
Use Task to compile the binary. Make sure you have Task installed before proceeding.
task build
This command will generate the binary at ./bin/time-tracker.
If you want the binary to be accessible globally, you’ll need to add its path to your system’s PATH environment variable.
To start using the CLI you need to initialize the application by running
time-tracker init [path]This will create a tasks.json file in the specified path where all your tasks will be stored.
Then you can create tasks by running
time-tracker create [task name]Creating a task doens't mean it is started.
You can also start a task by running the start command or when creating it by using the --start or -s flag.
time-tracker create [task name] --startTo start a task use
time-tracker start [task name]or you can use the task ID
time-tracker start [task ID]To list your tasks use
time-tracker listIt will display all your tasks in a table format. To list a specific task use
time-tracker list [task name]or you can use the task ID
time-tracker list [task ID]To remove a task use
time-tracker remove [task name]or you can use the task ID
time-tracker remove [task ID]To stop a task use
time-tracker stop [task name]or you can use the task ID
time-tracker stop [task ID]Stopping a task marks it as completed.
All the code is under MIT