Duke is a desktop app for managing tasks using Command Line Interface (CLI).
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 for your Duke.
Double-click the file to start the app. The GUI similar to the below should appear in a few seconds.
Note how the app contains some sample data.

Type the command in the command box and press Enter to execute it.
Some example commands you can try:
list : Lists all tasks.
tododrink water : Adds a todo task to drink water.
done1 : Marks the 1st task shown in the current list as done.
delete1 : Deletes the 1st 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
Words in UPPER_CASE are the parameters to be supplied by the user.
e.g. in todo DESCRIPTION, DESCRIPTION is a parameter which can be used as add drink water.
When DESCRIPTION is used as a parameter to be supplied by the user, the DESCRIPTION cannot contain |.
When DATE is used as a parameter to be supplied by the user, the only format accepted is yyyy-mm-dd.
e.g. in deadline DESCRIPTION /by DATE, DATE is specified in yyyy-mm-dd format which can be used as
deadline assignment /by 2021-02-16.
Items in square brackets are optional.
e.g. remind [DAYS] can be used as remind or as remind 3.
todoAdds a todo task to Duke.
Format: todo DESCRIPTION
Examples:
todo drink watertodo tutorialdeadlineAdds a deadline task to Duke.
Format: deadline DESCRIPTION /by DATE
Examples:
deadline assignment /by 2021-02-16eventAdds an event task to Duke.
Format: event DESCRIPTION /at DATE
Examples:
event meeting /at 2020-01-01doneMarks the specified task from Duke as done.
Format: done INDEX
INDEX as done.Examples:
list followed by done 2 marks the 2nd task in Duke as done.deleteDeletes the specified task from Duke.
Format: delete INDEX
INDEX.Examples:
list followed by delete 2 deletes the 2nd task in Duke.listShows a list of all tasks in Duke.
Format: list
Priority of listing:
findFinds tasks whose descriptions contain the given keyword.
Format: find KEYWORD
Examples:
find water returns drink waterfind a returns drink water, assignment
remindReminds user of tasks due within the specified number of DAYS.
When DAYS is not specified, the default number of DAYS is 7.
Format: remind [DAYS]
Examples:
remind returns nothing since none of the tasks are due within 7 days.remind 365 returns lecture since the lecture is happening within 365 days from today. 
byeExits the program.
Format: bye
| Action | Format, Examples |
|---|---|
| Add Todo | todo DESCRIPTION e.g., todo drink water |
| Add Deadline | deadline DESCRIPTION /by DATE e.g., deadline assignment /by 2021-02-16 |
| Add Event | event DESCRIPTION /at DATE e.g., event meeting /at 2020-01-01 |
| Done | done INDEXe.g., done 3 |
| Delete | delete INDEXe.g., delete 3 |
| List | list |
| Find | find KEYWORDe.g., find water |
| Remind | remind [DAYS]e.g., remind 365 |
| Exit | bye |