Reverie is a personal task manager chatbot that helps you track todos, deadlines, and events via a simple command-line interface.
reverie.jarjava -jar reverie.jarUPPER_CASE are parameters you need to provide
todo DESCRIPTION → todo read book[square brackets] are optional
deadline TASK /by DATE [TIME] can be used with or without timetodo can be replaced by TODO, ToDo, toDo, etc.list)todo, deadline, eventtodoSimple tasks without dates.
Format: todo DESCRIPTION
Case-sensitivity: Command word todo is case-insensitive.
todo read book
Got it. I've added this task:
[T][ ] read book
Now you have 1 task in the list.
deadlineTasks with a due date/time.
Format: deadline DESCRIPTION /by DATE_TIME
Case-sensitivity: Command word deadline is case-insensitive. Keyword /by is case-sensitive (lowercase only).
deadline submit report /by 2019-12-02
Got it. I've added this task:
[D][ ] submit report (by: Dec 02 2019)
Now you have 2 tasks in the list.
deadline return book /by Dec 02 2019 1800
Got it. I've added this task:
[D][ ] return book (by: 18:00 Dec 02 2019)
Now you have 3 tasks in the list.
⚠️ Important: If the text after /by doesn’t match any accepted date/time format, Reverie will treat it as plain text, not as a date. Always check the output to verify your date was recognized.
eventTasks with start and end times.
Format: event DESCRIPTION /from START /to END
Case-sensitivity: Command word event is case-insensitive. Keywords /from, /to are case-sensitive (lowercase only).
event meeting /from 2019-12-02 1400 /to 2019-12-02 1600
Got it. I've added this task:
[E][ ] meeting (from: 14:00 Dec 02 2019 to: 16:00 Dec 02 2019)
Now you have 4 tasks in the list.
event lunch /from 1200 /to 1400
Got it. I've added this task:
[E][ ] lunch (from: 12:00 Oct 05 2024 to: 14:00 Oct 05 2024)
Now you have 5 tasks in the list.
💡 Tips:
/from Dec 02 2019 0900 /to 1700), Reverie intelligently decides and sets the end date = start date (or start date + 1 if end time < start time)./from 0900 /to Dec 02 2019 1700), Reverie intelligently decides and sets the start date = end date (or end date - 1 if start time > end time).1200), today’s date is used automatically; if both are time-only (e.g., /from 1200 /to 1400), today’s date is used for both.⚠️ Important: If the text after /from or /to doesn’t match any accepted date/time format, Reverie will treat it as plain text, not as a date/time. Always check the output to verify your dates were recognized.
Reverie accepts specific date and time formats:
Apr, Sep, Oct, Dec).Date formats:
- or /yyyy-MM-dd, dd-MM-yyyy, MMM dd yyyy, dd MMM yyyy, yyyy MMM dd2019-12-02, 02/12/2019, Dec 02 2019Time formats:
HHmm or HH:mm
1400, 14:00h:mma, h:mm a, hh:mma, hh:mm a, hmma, hmm a, hhmma, hhmm a
2:00pm, 2:00 pm, 02:00pm, 02:00 pmDate-time combinations:
2019-12-02 1400, Dec 02 2019 14:00, 02/12/2019 14001400 2019-12-02, 14:00 Dec 02 2019, 1400 02/12/20192019-12-02T14:00, 2019-12-02T14:00:00Quick examples:
deadline report /by 2019-12-02deadline report /by Dec 02 2019 1400deadline report /by 02/12/2019 2:00pmdeadline report /by 1400 2019-12-02deadline report /by 2:00pmevent meeting /from 1400 /to 1600event meeting /from Dec 02 2019 /to Dec 04 2019📘 For the complete list of accepted date/time formats, please refer to the Appendix.
⚠️ Important:
December 2, 2019 or 2nd Dec 2019), Reverie will NOT recognize it as a date and will treat it as plain textlist, find, schedulelistFormat: list
Case-sensitivity: Command word list is case-insensitive.
list
Here are the tasks in your list:
1.[T][ ] read book
2.[D][ ] submit report (by: Dec 02 2019)
3.[E][ ] meeting (from: 14:00 Dec 02 2019 to: 16:00 Dec 02 2019)
findSearch by keyword (case-insensitive match).
Format: find KEYWORD
Case-sensitivity: Command word find is case-insensitive. Keyword matching is case-insensitive.
find book
Here are the matching tasks in your list:
1.[T][ ] read book
5.[D][ ] return library book (by: Dec 10 2019)
find BOOK
Here are the matching tasks in your list:
1.[T][ ] read book
5.[D][ ] return library book (by: Dec 10 2019)
scheduleSee tasks on a specific date. Date must be in yyyy-MM-dd format only.
Format: schedule DATE
Case-sensitivity: Command word schedule is case-insensitive.
schedule 2019-12-02
Here are the tasks scheduled for Dec 02 2019:
2.[D][ ] submit report (by: Dec 02 2019)
3.[E][ ] meeting (from: 14:00 Dec 02 2019 to: 16:00 Dec 02 2019)
⚠️ Important: For the schedule command, only yyyy-MM-dd format is accepted (e.g., 2019-12-02). Other formats will cause an error.
mark, unmark, deletemarkFormat: mark TASK_NUMBER
Case-sensitivity: Command word mark is case-insensitive.
mark 1
Nice! I've marked this task as done:
[T][X] read book
unmarkFormat: unmark TASK_NUMBER
Case-sensitivity: Command word unmark is case-insensitive.
unmark 1
OK, I've marked this task as not done yet:
[T][ ] read book
deleteFormat: delete TASK_NUMBER
Case-sensitivity: Command word delete is case-insensitive.
delete 1
Noted. I've removed this task:
[T][ ] read book
Now you have 4 tasks in the list.
⚠️ Important: Deletion is permanent. Task numbers shift after deletion - use list to verify.
byeFormat: bye
Case-sensitivity: Command word bye is case-insensitive.
bye
Bye. Hope to see you again soon!
[T] = Todo |
[D] = Deadline |
[E] = Event |
[ ] = Not done |
[X] = Done |
Examples:
[T][ ] read book - Todo, not done[D][X] submit report (by: Dec 02 2019) - Deadline, completed[E][ ] meeting (from: 14:00 Dec 02 2019 to: 16:00 Dec 02 2019) - Event, not done./data/reverie.txt after every changeTo transfer data: Copy the entire data folder to your new computer.
| Command | Format (case-sensitive only for /by, /from, /to) |
Example |
|---|---|---|
Add todo |
todo DESCRIPTION |
todo read book |
Add deadline |
deadline DESCRIPTION /by DATE_TIME |
deadline report /by Dec 02 2019 |
Add event |
event DESCRIPTION /from START /to END |
event meeting /from 1400 /to 1600 |
List tasks |
list |
list |
Find tasks |
find KEYWORD |
find book |
View schedule |
schedule DATE |
schedule 2019-12-02 |
Mark done |
mark TASK_NUMBER |
mark 1 |
Unmark |
unmark TASK_NUMBER |
unmark 1 |
Delete |
delete TASK_NUMBER |
delete 1 |
Exit with bye |
bye |
bye |
✅ Use descriptive task names for clarity
✅ Check list before using task numbers
✅ Use schedule to plan your day
✅ Back up your data folder regularly
✅ Time-only entries (1400) default to today
✅ Always verify the output message to confirm dates/times were recognized correctly
| Format Pattern | Example |
|---|---|
yyyy-MM-dd HHmm |
2025-10-05 1430 |
yyyy-MM-dd HH:mm |
2025-10-05 14:30 |
yyyy/MM/dd HHmm |
2025/10/05 1430 |
yyyy/MM/dd HH:mm |
2025/10/05 14:30 |
dd-MM-yyyy HHmm |
05-10-2025 1430 |
dd-MM-yyyy HH:mm |
05-10-2025 14:30 |
dd/MM/yyyy HHmm |
05/10/2025 1430 |
dd/MM/yyyy HH:mm |
05/10/2025 14:30 |
yyyy-MM-dd'T'HH:mm |
2025-10-05T14:30 |
yyyy-MM-dd'T'HH:mm:ss |
2025-10-05T14:30:45 |
yyyy MMM dd HHmm |
2025 Oct 05 1430 |
yyyy MMM dd HH:mm |
2025 Oct 05 14:30 |
MMM dd yyyy HHmm |
Oct 05 2025 1430 |
MMM dd yyyy HH:mm |
Oct 05 2025 14:30 |
dd MMM yyyy HHmm |
05 Oct 2025 1430 |
dd MMM yyyy HH:mm |
05 Oct 2025 14:30 |
HHmm yyyy-MM-dd |
1430 2025-10-05 |
HH:mm yyyy-MM-dd |
14:30 2025-10-05 |
HHmm yyyy/MM/dd |
1430 2025/10/05 |
HH:mm yyyy/MM/dd |
14:30 2025/10/05 |
HHmm dd-MM-yyyy |
1430 05-10-2025 |
HH:mm dd-MM-yyyy |
14:30 05-10-2025 |
HHmm dd/MM/yyyy |
1430 05/10/2025 |
HH:mm dd/MM/yyyy |
14:30 05/10/2025 |
HHmm yyyy MMM dd |
1430 2025 Oct 05 |
HH:mm yyyy MMM dd |
14:30 2025 Oct 05 |
HHmm MMM dd yyyy |
1430 Oct 05 2025 |
HH:mm MMM dd yyyy |
14:30 Oct 05 2025 |
HHmm dd MMM yyyy |
1430 05 Oct 2025 |
HH:mm dd MMM yyyy |
14:30 05 Oct 2025 |
| Format Pattern | Example |
|---|---|
yyyy-MM-dd |
2025-10-05 |
yyyy/MM/dd |
2025/10/05 |
dd-MM-yyyy |
05-10-2025 |
dd/MM/yyyy |
05/10/2025 |
MMM dd yyyy |
Oct 05 2025 |
dd MMM yyyy |
05 Oct 2025 |
yyyy MMM dd |
2025 Oct 05 |
| Format Pattern | Example |
|---|---|
HHmm |
1430 |
HH:mm |
14:30 |
hhmm a |
0230 PM |
hhmma |
0230PM |
hmm a |
230 PM |
hmma |
230PM |
hh:mm a |
02:30 PM |
hh:mma |
02:30PM |
h:mm a |
2:30 PM |
h:mma |
2:30PM |