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). If you can type fast, Duke can get task management done faster than traditional GUI apps.
Duke can be used for managing three types of tasks:
- Todo
- Todos are tasks that only have a description.
- Deadline
- Deadlines are tasks that have both a description and a date indicating when the deadline is due.
- Event
- Events are tasks that have both a description and a date indicating when the event occurs.
-
Ensure that 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 app.
-
Double-click the file to start the app. The GUI similar to the one below should appear in a few seconds.
- Type the command in the command box and click on the Send button to execute it.
Some example commands you can try:
-
list
: Lists all tasks. -
todo borrow book
: Adds the Todo taskborrow book
to the task list. -
delete all
: Deletes all tasks.
-
When the Duke app starts up, a
data
folder will be automatically created in the home folder, if it does not yet exist. Tasks will be saved in atasks.txt
file within this folder so that they can be retrieved the next time that the Duke app is used. -
Refer to the Features section below for details of each command.
Notes about the command format:
- Items with
...
after them can be used at least one time. e.g.find TASK_NUMBER...
can be used asfind 1
,find 1 2
, etc.find
is not allowed.
Shows a list of tasks currently stored in the data
folder.
Format: list
Adds a todo to the task list.
Format: todo TODO
- There must only be a description provided for each todo.
Examples:
todo borrow book
todo go to the library
Adds a deadline to the task list.
Format: deadline DEADLINE /by DATE
- There must be a description provided for each deadline.
- There must be a date provided for each deadline.
- The date must either be in YYYY-MM-DD or YYYY-MM-DD HHMM format.
Examples:
deadline finish homework /by 2020-10-10
deadline return library book /by 2020-12-02 2359
Adds an event to the task list.
Format: event EVENT /at DATE
- There must be a description provided for each event.
- There must be a date provided for each event.
- The date must either be in YYYY-MM-DD or YYYY-MM-DD HHMM format.
Examples:
event attend concert /at 2020-09-28 1600
event project meeting /at 2020-09-15
Deletes specific tasks from the task list.
Format: delete TASK_NUMBER...
- At least one task number must be specified.
- Task numbers specified refer to the indices of the tasks in the task list.
- The index of a particular task can be found by entering the command
list
. - The task numbers do not have to be specified in any particular order.
Examples:
delete 1
delete 3 1 2
Deletes all the tasks from the task list.
Format: delete all
Marks a specific task as done.
Format: done TASK_NUMBER
- There must be exactly one task number specified.
- The task number specified refers to the index of the task in the task list.
- The index of a particular task can be found by entering the command
list
.
Examples:
done 1
done 10
Finds tasks in the task list using a specific keyword.
Format: find KEYWORD
- There must be exactly one keyword specified.
- All tasks that match the keyword will be shown.
Examples:
find homework
find by