Ensure you have Java 11 or above installed in your Computer.
Download the latest olaf.jar from here.
Copy the file to the folder you want to use as the home folder for your Olaf app.
Double-click the file to start the app. The GUI with a greeting from Olaf, similar to the below should appear in a few seconds. Notice your app will not have any data in the task list unlike the example below.

Type the command in the command box below and press Enter to execute it. e.g. typing help and pressing Enter will give a response listing all the possible commands you can use.
Some example commands you can try:
list : Lists all tasks in the current list.
todo homework : Adds a todo Task with description homework to Olaf.
delete 3 : Deletes the 3rd listed task shown in the current list.
done 3 : Marks the 3rd Task in the current list as done.
bye : Exits the app after showing a goodbye message.
Refer to the Features below for details of each command.
:information_source: Notes about the command format:
Words in <UPPER CASE> are the parameters to be supplied by the user.
e.g. in done <TASK NUMBER>, <TASK NUMBER> is a parameter which can be used as done 3.
Items in square brackets are optional.
e.g find <SEARCH TERM> [, <MORE SEARCH TERMS>] can be used as find project, presentation or as find project.
Extraneous parameters for commands that do not take in parameters (such as help, list, remind and bye) will NOT be ignored.
e.g. if the command specifies help 123, it will not be interpreted as help.
| Action | Format, Examples |
|---|---|
| Help | help |
| List | list |
| Remind | remind |
| Todo | todo <TASK DESCRIPTION> |
| Deadline | deadline <TASK DESCRIPTION> /by <YYYY-MM-DD HH:mm> e.g., deadline project submission /by <2021-02-21 00:00> |
| Event | event <TASK DESCRIPTION> /at <YYYY-MM-DD HH:mm> to <YYYY-MM-DD HH:mm> e.g., event new year's eve /at <2021-12-31 00:00> to <2022-01-01 00:00> |
| Done | done <TASK NUMBER>e.g., done 2 |
| Delete | delete <TASK NUMBER>e.g., delete 3 |
| Find | find <SEARCH TERM> [, <MORE SEARCH TERMS>]e.g., find project, presentation |
helpShows summary of all commands.
Format: help
listShows a list of all tasks in the application.
Format: list
remindShows a list of all upcoming deadlines and events in the next 7 days.
Format: remind
todoAdds a todo Task to the application.
Format: todo <TASK DESCRIPTION>
Examples:
todo readingstodo clean roomdeadlineAdds a deadline Task to the application.
Format: deadline <TASK DESCRIPTION> /by <YYYY-MM-DD HH:mm>
Examples:
deadline birthday /by 2021-06-21 00:00deadline project submission /by 2021-02-21 23:59eventAdds an event Task to the application.
Format: event <TASK DESCRIPTION> /at <YYYY-MM-DD HH:mm> to <YYYY-MM-DD HH:mm>
Examples:
event new year's eve /at 2021-12-31 00:00 to 2022-01-01 00:00event webinar /at 2021-02-20 13:00 to 2021-02-20 15:30doneMarks the specified task in the current task list as done.
Format: done <TASK NUMBER>
TASK NUMBER as completed.list command.Examples:
done 1 completes the 1st task in the task list returned after the list command.find assignment followed by done 1 does NOT complete the 1st task in the results of the find command but rather completes the 1st task like in the previous example.deleteDeletes the specified task in the current task list.
Format: delete <TASK NUMBER>
TASK NUMBER.list command.Examples:
delete 1 deletes the 1st task in the task list returned after the list command.find assignment followed by delete 1 does NOT delete the 1st task in the results of the find command but rather deletes the 1st task like in the previous example.findFinds tasks whose names contain any of the given search terms.
Format: find <SEARCH TERM> [, <MORE SEARCH TERMS>]
hans will match HansHans, Bo will match Bo Hanspro will match projectOR search).
e.g. project, homework will return CS1010 Project, GER homeworkExamples:
find sub returns submit and submissionfind webinar, lecture returns AI Webinar, Lecture presentationbyeExits the program about 1 second after displaying a goodbye message.
Format: bye
Olaf tasks are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Olaf tasks are saved as a .txt file [JAR file location]/data/olaf.txt. Advanced users are welcome to update data directly by
editing that data file but please follow expected saving format to avoid application crashes.
[coming in v2.0]Details coming soon …
md template adapted from: https://github.com/se-edu/addressbook-level3/blob/master/docs/UserGuide.md