Duke is a desktop app for managing tasks, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).
Ensure you have Java 11 or above installed in your Computer.
Download the latest duke.jar from here.
Copy the file to the folder you want to use as the home folder.
Double-click the file to start the app. The GUI similar to the below should appear in a few seconds.

Type the command in the command box and press Enter / Return on your keyboard to execute it. Alternatively, you may
press the Enter button on the GUI. e.g. typing todo Defeat Gengar and pressing Enter will add a task
named Defeat Gengar to your task list.
Some example commands you can try:
list : Lists all tasks.
todoDefeat Gengar : Adds a task named Defeat Gengar to your task list.
delete3 : Deletes the 3rd task shown in the current list.
bye : Exits the app.
Refer to the Features below for details of each command.
Notes about the command format:
UPPER_CASE are the parameters to be supplied by the user.todo NAME, NAME is a parameter which can be used as todo Defeat Gengar.todo / event / deadlineAdds a task to the address book.
Format:
todo NAMEevent NAME /at DATEdeadline NAME /by DATEExamples:
todo Defeat Gengarevent Attend Sobble's birthday /at 2020-12-12deadline Save Mudkip /by 2020-09-09listShows a list of all tasks in the task list.
Format: list
findFind tasks where names and / or dates contain any of the given keywords.
Format: find KEYWORD
Save will not match saveSave Mudkip would match Save Mudkip only,
and not Save TreeckoMud will match MudkipExamples:
find Sav returns Save Mudkip /by 2020-09-09 and Save Treeckofind 2020 returns Save Mudkip /by 2020-09-09 and Attend Sobble's birthday /at 2020-12-12sortSorts the task list by task name.
Format: sort SORT_ORDER
SORT_ORDER.SORT_ORDER must be one of asc or desc.asc sorts the task list in ascending order, while desc sorts the task list in descending order.Examples:
sort asc sorts the task list in ascending order.doneMarks the specified task from the task list as done.
Format: done INDEX
INDEX as done.Examples:
done 2 marks the 2nd task in the task list as done.deleteDeletes the specified task from the task list.
Format: delete INDEX
INDEX.Examples:
delete 2 deletes the 2nd task in the task list.byeExits the program.
Format: bye
Task list data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
| Action | Format, Examples |
|---|---|
| Add deadline | deadline NAME /by DATE e.g., deadline Save Mudkip /by 2020-09-09 |
| Add event | event NAME /at DATE e.g., event Attend Sobble's birthday /at 2020-12-12 |
| Add todo | todo NAME e.g., todo Defeat Gengar |
| Delete | delete INDEX e.g., delete 3 |
| Done | done INDEX e.g., done 2 |
| Exit | bye |
| Find | find KEYWORDe.g., find Save |
| List | list |
| Sort | sort SORT_ORDER e.g., sort asc |