Skip to content
Ryan edited this page Oct 12, 2026 · 21 revisions

Task Structure

Tasks are made up of 5 parts, an ID / Index, a Title, a Status, a Creation Date, and a last Updated Date.
When using commands with tasks you can specify a specific task via it's ID or Title.
Every time you update a task through a command, the respective tasks Updated At value will reflect your current machine's time.

Note

Because tasks are recognised based on IDs and Titles two tasks cannot have the same IDs or Titles.

Hello Task Tracker Example :

----------
Task: hello task tracker cli!
ID : 0
Status : Todo
Created At: Wed 09/30/26 17:04:03
Updated At: Sun 10/11/26 00:49:04
----------

Hello Task Tracker Example : (--oneline)

0 : hello task tracker cli! : Todo : Wed 09/30/26 17:04:03 : Sun 10/11/26 00:49:04

Status : The current available status' are : "Todo" | "In-Progress" | "Completed"

Default Behaviour

When executing the Task Tracker CLI program without any commands or arguments in your terminal it will default to the standard Listing Command without any status specifications. This is to make it convenient to see your total list of tasks at any given time. Running the program without any commands is just a shortcut for the full command "tasks list".

PS C:\Users\Local_User> tasks  <-- DEFAULT INPUT 
0 : hello world! : Todo : Sun 10/11/26 02:04:06 : Sun 10/11/26 02:04:06
1 : hello task tracker cli! : Todo : Sun 10/11/26 02:04:15 : Sun 10/11/26 02:04:15
2 : hello wiki reader! : Todo : Sun 10/11/26 02:04:24 : Sun 10/11/26 02:04:24
PS C:\Users\Local_User>

Command Lookup

Commands

Adding Tasks

${\color{blue}Viable}$ ${\color{blue}Command}$ ${\color{blue}Names: }$ ${\color{blue}add, create, +}$

Syntax :

Tasks  add  <Task Title>(REQUIRED) <Task Status>(OPTIONAL)
Examples
  • PS C:\Users\Local_User> Tasks  add  HelloTasks!
  • PS C:\Users\Local_User> Tasks  create  HelloTasks! Todo
  • PS C:\Users\Local_User> Tasks  add   "Hello Task Tracker CLI!"  In-Progress
  • PS C:\Users\Local_User> Tasks  +  "Hello Task Tracker CLI!" Completed

Task Title (REQUIRED):
When adding a new task the only required input is a title for the task, the program will generate the rest of the task's structure (ID, Creation, Updating, and Status) automatically. The title is a simple string and can be inputted without "" if there are no spaces within the title, if spaces are required then wrap the title in "".

Task Status (OPTIONAL):
When adding a new task you can optionally specify what status / progress you want the task to start with, if no status is provided the task will default to the "To-Do" status. To mark a task's status during creation specify what status you want it to have after the given task title. The available status' are : "todo", "in-progress", and "completed".

Deleting Tasks

${\color{blue}Viable}$ ${\color{blue}Command}$ ${\color{blue}Names: }$ ${\color{blue}delete, del, remove, -}$

Syntax :

Tasks  delete  { <Task Title>(REQUIRED) OR <Task ID>(REQUIRED) }
Examples
  • PS C:\Users\Local_User> Tasks  delete  0
  • PS C:\Users\Local_User> Tasks  -  TestTask
  • PS C:\Users\Local_User> Tasks  remove  "Hello Task Tracker CLI!"

Task Title (REQUIRED):
When deleting tasks you can either input the Task's Title or the Task's ID. Similarly to adding tasks the Task's Title is a simple string, if the Title is without any spaces then you can omit the surrounding "" else they are necessary.

Task ID (REQUIRED):
When deleting tasks you can either input the Task's Title or the Task's ID. A Task's ID is equal to its index in the Task List which can be seen by using the List Command.

Clearing Tasks

${\color{blue}Viable}$ ${\color{blue}Command}$ ${\color{blue}Names: }$ ${\color{blue}clear}$

Syntax :

Tasks  clear  <Task Status>(OPTIONAL)
Examples
  • PS C:\Users\Local_User> Tasks  clear 
  • PS C:\Users\Local_User> Tasks  clear  Completed

Task Status (OPTIONAL):
When clearing tasks you can specify a status, if a status is specified only Tasks set to that status will be cleared from your total tasks. The available status' are : "todo", "in-progress", and "completed".

Caution

If an optional Task Status argument is not provided then every task will be cleared, this behaviour is intentional but can result in you losing data accidentally should you forget to specify a status. Currently, there is no way to undo this.

Listing Tasks

${\color{blue}Viable}$ ${\color{blue}Command}$ ${\color{blue}Names: }$ ${\color{blue}list}$

Syntax :

Tasks  list  <Task Status>(OPTIONAL)
Examples
  • PS C:\Users\Local_User> Tasks  list 
  • PS C:\Users\Local_User> Tasks  list  In-Progress

Task Status (OPTIONAL):
When Listing Tasks you can specify a Task Status, if a Task Status is specified then only Tasks of that Status will be shown, this lets you selectively view what you currently have marked in each Status. If no Status is provided then every Task will be listed. The available status' are : "todo", "in-progress", and "completed".

Printing Tasks

${\color{blue}Viable}$ ${\color{blue}Command}$ ${\color{blue}Names: }$ ${\color{blue}print, view}$

Syntax :

Tasks  print  { <Task Title>(REQUIRED) OR <Task ID>(REQUIRED) } <Oneline>(OPTIONAL)
Examples
  • PS C:\Users\Local_User> Tasks  print  0
  • PS C:\Users\Local_User> Tasks  view  "Hello Task Tracker CLI!"
  • PS C:\Users\Local_User> Tasks  print  "Hello Task Tracker CLI!" --oneline

Task Title (REQUIRED):
When printing Tasks you can either input the Task's Title or the Task's ID. Similarly to other commands the Task's Title is a simple string, if the Title is without any spaces then you can omit the surrounding "" else they are necessary.

Task ID (REQUIRED):
When printing Tasks you can either input the Task's Title or the Task's ID. A Task's ID is equal to its index in the Task List which can be seen by using the List Command, and can also be found by printing it with this command.

Oneline (OPTIONAL):
${\color{blue}Viable}$ ${\color{blue}Argument}$ ${\color{blue}Names: }$ ${\color{blue}true, false, oneline, --oneline, one line}$
You can optionally specify if you want a shortened single-line version of the details pannel of a Task. If Oneline is not specified the program will default to showing the full separated details of a Task.

Oneline View :

PS C:\Users\Local_User> Tasks print 0 --oneline
0 : hello task tracker cli! : In Progress : Sun 10/11/26 16:56:53 : Sun 10/11/26 16:56:53

Marking Tasks

${\color{blue}Viable}$ ${\color{blue}Command}$ ${\color{blue}Names: }$ ${\color{blue}mark, status}$

Syntax :

Tasks  mark  { <Task Title>(REQUIRED) OR <Task ID>(REQUIRED) } <Task Status>(OPTIONAL)
Examples
  • PS C:\Users\Local_User> Tasks  mark  0
  • PS C:\Users\Local_User> Tasks  status  "Hello Task Tracker CLI!"
  • PS C:\Users\Local_User> Tasks  mark  "Hello Task Tracker CLI!" In-Progress

Task Title (REQUIRED):
When marking a Task with a new Status you can either input the Task's Title or the Task's ID. Similarly to other commands the Task's Title is a simple string, if the Title is without any spaces then you can omit the surrounding "" else they are necessary.

Task ID (REQUIRED):
When marking a Task with a new Status you can either input the Task's Title or the Task's ID. A Task's ID is equal to its index in the Task List which can be seen by using the List Command, and can also be found by printing it with this command.

Task Status(OPTIONAL):
When marking a task you can optionally specify the specific Status it should end up as, if you do not specify a Status then it will default to "Complete", allowing you to mark tasks off the list by putting in only an identify as an argument (Title or ID).

Tip

Marking Tasks without specifying a Status results in the Task being marked as Completed. You can combine this with specifying the Completed Status when using the Clear Command to quickly delete all tasks you've finished.

Renaming Tasks

${\color{blue}Viable}$ ${\color{blue}Command}$ ${\color{blue}Names: }$ ${\color{blue}rename, re-name, re-title, retitle, change}$

Syntax :

Tasks  rename  { <Task Title>(REQUIRED) OR <Task ID>(REQUIRED) } <New Task Title>(REQUIRED)
Examples
  • PS C:\Users\Local_User> Tasks  rename  0 "Renamed Task"
  • PS C:\Users\Local_User> Tasks  re-name  "Hello World!" "Hello Task Tracker CLI!"
  • PS C:\Users\Local_User> Tasks  rename  "Hello Task Tracker CLI!" "Renamed Task"

Task Title (REQUIRED):
When renaming a Task with a new Title you must find the task you wish to rename by either inputting the Task's Title or the Task's ID. Similarly to other commands the Task's Title is a simple string, if the Title is without any spaces then you can omit the surrounding "" else they are necessary.

Task ID (REQUIRED):
When renaming a Task with a new Title you must find the task you wish to rename by either inputting the Task's Title or the Task's ID. A Task's ID is equal to its index in the Task List which can be seen by using the List Command, and can also be found by printing it with this command.

New Task Title (REQUIRED):
The new Task Title works exactly the same as the regular Task Title- simply replacing the old one with the new one you input. You cannot rename a task to one that already exists and you must provide a different name than the name of the task you're re-titling. The New Task Title is also a string and thus will require surrounding "" should the title have spaces.

Sorting Tasks

${\color{blue}Viable}$ ${\color{blue}Command}$ ${\color{blue}Names: }$ ${\color{blue}sort}$

Syntax :

Tasks  sort 
Examples
  • PS C:\Users\Local_User> Tasks  sort 

The sort function will sort tasks by their status, pushing the todo tasks to the top and the completed tasks to the bottom. There are currently no configurations / arguments for this command.