Alice Task Manager (Alice) 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, she can get your tasks done faster than traditional GUI apps.
Ensure you have Java 11 or above installed in your Computer.
Download the latest alice.jar from here.
Copy the file to the folder you want to use as the home folder for your application.
Open a command terminal, cd into the folder you put the jar file in, and use the java -jar alice.jar command to run the application. A GUI similar to the below should appear in a few seconds. You can also run the CLI version by using the --cli flag.

Type the command in the command box and press Enter to execute it. Some example commands you can try:
list : Lists all tasks.
deadline return book /by 2023-08-06T14:00:00 : Adds a return book task with the deadline of 6th August 2023, 2pm.
delete 3 : 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:
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 todo read book.
Every parameter has to be in the order specified in the format and cannot be omitted.
e.g. if the format specifies deadline DESCRIPTION /by DATETIME, deadline /by 2023-08-06T14:00:00 DESCRIPTION and deadline DESCRIPTION will not be accepted as valid commands.
Dates and times should be in the format YYYY-MM-DD and HH:MM:SS respectively.
e.g. 2021-08-06T14:00:00 will be interpreted as 6th August 2021, 2pm.
Extraneous parameters for commands that do not take in parameters (such as list and bye) will be ignored.
e.g. if the command specifies list 123, it will be interpreted as list.
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
listShows a list of all tasks in the application.
Format: list
findFinds tasks whose descriptions contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
Meet will match meetingmeeting work will match work meetingOR search).
e.g. meeting work will return work on my project and meeting with friendsExamples:

todo/deadline/eventAdds a task to the list. There are 3 types of tasks: todo, deadline, and event.
Format: todo DESCRIPTION or deadline DESCRIPTION /by DATETIME or event DESCRIPTION /from DATETIME /to DATETIME
todo, deadline, or event./by keyword./from and /to keywords respectively.
DATETIME must be in the format specified above.Examples:
todo read book
Got it nyaa~! I added this taskie for you:
[T][ ] read book []
Now you have 1 taskie uwu in the list, desu~!
deadline return book /by 2023-08-06T14:00:00
Got it nyaa~! I added this taskie for you:
[D][ ] return book [] (by: 2:00 PM, Aug 6 2023)
Now you have 2 taskies uwu in the list, desu~!
event project meeting /from 2021-08-06T14:00:00 /to 2021-08-06T16:00:00
Got it nyaa~! I added this taskie for you:
[E][ ] project meeting [] (from: 2:00 PM, Aug 6 2021 to: 4:00 PM, Aug 6 2021)
Now you have 3 taskies uwu in the list, desu~!
deleteDeletes the specified task from the list.
Format: delete INDEX
INDEX.list command.Examples:
list followed by delete 2 deletes the 2nd task in the list.
Nyaa~ noted! I removed this taskie for you:
[D][ ] return book [] (by: 2:00 PM, Aug 6 2023)
Now you have 2 taskies uwu in the list, desu~!
mark/unmarkMarks the specified task from the list as done or not done.
Format: mark INDEX or unmark INDEX
INDEX as done or not done.list command.Examples:
list followed by mark 2 marks the 2nd task in the list as done.
Nyan nyan~! I marked this taskie as done for you:
[E][X] project meeting [] (from: 2:00 PM, Aug 6 2021 to: 4:00 PM, Aug 6 2021)
list followed by unmark 1 marks the 1st task in the list as not done.
Okie dokie nyaa~! I marked this taskie as not done yet:
[E][ ] project meeting [] (from: 2:00 PM, Aug 6 2021 to: 4:00 PM, Aug 6 2021)
tagTags the specified task from the list with the given tag.
Format: tag INDEX TAG [MORE_TAGS]
INDEX with the given tag(s).list command.Examples:
list followed by tag 2 important work tags the 2nd task in the list with the tags important and work.
Nyan~! I added some cute tags to this taskie:
[E][ ] project meeting [important, work] (from: 2:00 PM, Aug 6 2021 to: 4:00 PM, Aug 6 2021)
untagClears all tags from the specified task from the list.
Format: untag INDEX
INDEX.list command.Examples:
list followed by untag 2 clears all tags from the 2nd task in the list.
Nyaa~, I cleared all the tags for this taskie:
[E][ ] project meeting [] (from: 2:00 PM, Aug 6 2021 to: 4:00 PM, Aug 6 2021)
exitExits the program.
Format: exit
Alice’s data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Alice data are saved automatically as [JAR file location]/alice.txt. Advanced users are welcome to update data directly by editing that data file.
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Alice home folder.
| Action | Format, Examples |
|---|---|
| List | list |
| Find | find KEYWORD [MORE_KEYWORDS] e.g., find meeting work |
| Add | todo DESCRIPTION e.g., todo read book deadline DESCRIPTION /by DATETIME e.g., deadline return book /by 2023-08-06T14:00:00 event DESCRIPTION /from DATETIME /to DATETIME e.g., event project meeting /from 2021-08-06T14:00:00 /to 2021-08-06T16:00:00 |
| Delete | delete INDEX e.g., delete 2 |
| Mark/Unmark | mark INDEX e.g., mark 2 unmark INDEX e.g., unmark 1 |
| Tag | tag INDEX TAG [MORE_TAGS] e.g., tag 2 important work |
| Untag | untag INDEX e.g., untag 2 |
| Exit | exit |