One of my favorites!
— Carl, a satisfied user
Behold DUKE! DUKE is a personal assistant chatbot that helps you manage your tasks and activities in your life. With a designed focused largely on a command-line interface (CLI) and augmented with a graphical user interface (GUI), users familiar with the CLI will definitely find DUKE a breeze to use!
Run DUKE in 3 simple steps:
jar
file from here.jar
file, orjava -jar duke.jar
The above steps are for running DUKE with a GUI. To run DUKE entirely in the terminal without a GUI instead, do java -jar duke.jar -t
Take note that DUKE can only be run without a GUI in Windows Subsystem for Linux (WSL), due to a lack of official support for graphical programs from Microsoft.
Command | Description |
---|---|
help |
Displays the help message. |
list |
Lists all tasks. |
todo <description> |
Adds a new to-do task with the given description. |
deadline <description> /by <datetime> |
Adds a new task with the given description and time of deadline. |
event <description> /at <datetime> |
Adds a new task with the given description and time of event. |
delete <index> |
Deletes the task at the given index. |
done <index> |
Marks the task at the given index as done. |
find <keyword> |
Finds tasks whose description contains the given keyword, and lists them. |
bye |
Quits the program. |
help
Displays the help message, which shows the commands available and their basic usage and any other information.
help
help
Shows the following help message (truncated):
Commands available:
help
Displays the help message.
list
Lists all tasks.
...
list
Lists out all tasks currently tracked by DUKE.
list
list
Shows all tasks, together with their completion status and details, for example:
Tasks so far:
{
1. [T][ ] Eat lunch
2. [D][ ] Submit work (by: Wed, 19 Feb 2020, 23:59)
3. [T][X] Take a nap
4. [E][ ] Lab (at: Thu, 13 Feb 2020, 14:00)
}
todo
Adds a new task with a description for DUKE to track.
To-do tasks are identified by [T]
.
todo <description>
|
(vertical pipe character).todo Eat lunch
Adds a new, uncompleted task with description Eat lunch
, and shows:
Added 'Eat lunch'
deadline
Adds a new task with a description and time of deadline for DUKE to track.
Deadline tasks are identified by [D]
.
deadline <description> /by <datetime>
|
(vertical pipe character).dd/MM/yyyy HHmm
format.deadline Submit work /by 19/02/2020 2359
Adds a new, uncompleted task with description Submit work
and deadline Wed, 19 Feb 2020, 23:59
, and shows:
Added 'Submit work'
event
Adds a new task with a description time of event for DUKE to track.
Event tasks are identified by [E]
.
event <description> /at <datetime>
|
(vertical pipe character).dd/MM/yyyy HHmm
format.event Lab /at 19/02/2020 2359
Adds a new, uncompleted task with description Lab
and event time Thu, 13 Feb 2020, 14:00
, and shows:
Added 'Lab'
delete
Removes a given task from DUKE, so that DUKE will no longer keep track of this task. Tasks are identified by their index numbers as shown in list
.
delete <index>
delete 2
Removes the second task (as per the example in list
), and shows:
Removed 'Submit work'
An immediate subsequent list
command will show:
Tasks so far:
{
1. [T][ ] Eat lunch
2. [T][X] Take a nap
3. [E][ ] Lab (at: Thu, 13 Feb 2020, 14:00)
}
Notice that the Submit work
task has been removed.
done
Marks a given task tracked by DUKE as done. Tasks are identified by their index numbers as shown in list
.
done <index>
done 2
Marks the second task (as per the example in list
) as done, and shows:
Marked 'Submit work' as done
An immediate subsequent list
command will show:
Tasks so far:
{
1. [T][ ] Eat lunch
2. [D][X] Submit work (by: Wed, 19 Feb 2020, 23:59)
3. [T][X] Take a nap
4. [E][ ] Lab (at: Thu, 13 Feb 2020, 14:00)
}
Notice that the completion status for the second task has now changed from [ ]
to [X]
.
find
Finds and returns all tasks whose description contains the given keyword.
find <keyword>
find submit
Shows all tasks with description containing submit
:
Tasks with 'submit':
{
1. [D][ ] Submit work (by: Wed, 19 Feb 2020, 23:59)
}
bye
Quits the program gracefully.
bye
bye
Shows:
Goodbye!
and exits the application gracefully.