Duke is a desktop app for managing tasks, optimised 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 manage and organise your tasks faster than traditional GUI apps. The chat interface also gives users a more personal feeling.
11
or above installed on your computer.java -jar duke.jar
for Mac.
You should see the below GUI after a few seconds:
Some example commands you can try:
todo read book
: Adds a todo read book
to the list of tasks.list
: Lists all tasks.done 1
: Marks the first task in the list as done.delete 1
: Deletes the first task shown in the list.bye
: Exits the app
ℹ️ Notes about the command format:
- Words in
UPPER_CASE
are the parameters to be supplied by the user.
eg. intodo DESCRIPTION
,DESCRIPTION
is a parameter which can be used astodo read book
.- Items in square brackets are optional.
egevent DESCRIPTION /at DATE [TIME]
can be used asevent meeting /at 9/10/2020
orevent meeting /at 9/10/2020 2:00 PM
- Items with
...
after them can be used multiple times but at least once, separated by a comma.
egfind KEYWORD...
can be used asfind read
orfind read book
.- Parameters must be in the order specified.
- Command is case-insensitive.
todo
Adds a todo to the list of tasks.
Format: todo DESCRIPTION
Example of usage:
todo read book
Expected outcome:
Got it. I've added this task:
[T][✘] read book
Now you have 2 tasks in the list.
deadline
Adds a deadline to the list of tasks.
Format: deadline DESCRIPTION /by DATE [TIME]
⚠️ For
DATE [TIME]
parameters in both deadline and event features, only the following formats are accepted:
Format | Example |
---|---|
dd/mm/yyyy | 9/10/2020 |
dd MMM yyyy | 9 Oct 2020 |
dd MMMM yyyy | 9 October 2020 |
dd-mm-yyyy | 9-10-2020 |
yyyy-mm-dd | 2020-10-9 |
Format | Example |
---|---|
hh:mm A | 3:30 PM |
HH:mm | 15:30 |
Hmm | 1530 |
💡 Tip: It is not necessary to add a time.
Example of usage:
deadline finish CS2103 User Guide /by 9/10/2020 2:00 PM
Expected outcome:
Got it. I've added this task:
[D][✘] finish CS2103 User Guide (by 9 Oct 2020 2:00 PM)
Now you have 3 tasks in the list.
👍 All dates and time are displayed as
dd MMM yyyy h:mm A
(as above) for easy reading.
event
Adds an event to the list of tasks.
Format: event DESCRIPTION /at (DATE [TIME])...
💡
...
indicates thatDATE [TIME]
can be repeated multiple times (but at least once), separated by a comma. Add multiple timings if you want to store a tentative schedule to be confirmed later.
ℹ️ Refer to Adding a deadline:
deadline
to find out the accepted date and time formats.
Example of usage:
event meeting /at 9 Oct 2020, 10/10/2020 4:30 PM
Expected outcome:
Got it. I've added this task:
[E][✘] meeting (at [9 Oct 2020, 10 Oct 2020 4:30 PM])
Now you have 2 tasks in the list.
confirm
Confirms the timing of an event with a tentative schedule (multiple timings).
Format: confirm TASK_INDEX DATE_TIME_INDEX
Example of usage:
Before command, suppose there was originally an event
1. [E][✘] meeting (at [9 Oct 2020, 10 Oct 2020 4:30 PM])
and you want to confirm the timing 10 Oct 2020 4:30 PM
, which
is the second timing.
Command: confirm 1 2
Expected outcome:
Nice! I've confirmed the date for this event
[E][✘] meeting at 10 Oct 2020 4:30 PM)
list
Shows a list of all tasks.
Format: list
Example of usage:
list
Expected outcome:
Here are the tasks in your list:
1. [T][✘] read book
2. [D][✘] finish CS2103 User Guide (by 9 Oct 2020 2:00 PM)
3. [E][✘] meeting (at [9 Oct 2020, 10 Oct 2020 4:30 PM])
Now you have 3 tasks in the list.
today
Shows a list of all events and deadlines that are happening today.
Format: today
Example of usage:
today
Expected outcome:
Here are the tasks today:
1. [D][✘] finish CS2103 User Guide (by 9 Oct 2020 2:00 PM)
⚠️ Note that events with tentative schedules (more than one timing specified) that have not been confirmed will not be displayed.
find
Finds tasks whose description matches all the keywords.
Format: find KEYWORD...
read book
or
book read
will show the same result.boo
will match book
);Examples:
find finish Guide
Expected outcome:
Here are the matching tasks in your list:
1. [D][✘] finish CS2103 User Guide (by 9 Oct 2020 2:00 PM)
done
Marks a task as done.
Format: done INDEX
ℹ️
INDEX
refers to the index of the task as displayed when executinglist
.
Example of usage:
done 1
Expected outcome:
Nice! I've marked this task as done:
[T][✓] read book
delete
Deletes a task.
Format: delete INDEX
ℹ️
INDEX
refers to the index of the task as displayed when executinglist
.
Example of usage:
delete 1
Expected outcome:
Noted. I've removed this task:
[T][✓] read book
bye
Exits the program.
Format: bye
All tasks are saved in the hard drive automatically after every command. There is no need to save manually.
💡 Data is stored in /data/duke.txt relative to the home folder.
Action | Format | Examples
—— | —— | ——–
todo
| todo DESCRIPTION
| todo read book
deadline
| deadline DESCRIPTION /at DATE [TIME]
| deadline study /by 9/10/2020
event
| event DESCRIPTION /at (DATE [TIME])...
| event meeting /at 9/10/2020 2:00 PM, 10 Oct 2020 1530
confirm
| confirm INDEX
| confirm 1
list
| list
today
| today
find
| find KEYWORDS...
| find read
, find read book
done
| done INDEX
| done 2
delete
| delete INDEX
| delete 1
bye
| bye