Reverie is a personal task manager chatbot that helps you track todos, deadlines, and events via a simple command-line interface.
- Quick Start
- Features
- Task Symbols
- Data Storage
- Command Summary
- Tips
- Appendix: Complete List of Accepted Date/Time Formats
- Ensure you have Java 17 installed
- Download
reverie.jar - Open terminal, navigate to the jar file location
- Run:
java -jar reverie.jar - Type commands and press Enter
- Words in
UPPER_CASEare parameters you need to provide- Example:
todo DESCRIPTIONβtodo read book
- Example:
- Items in
[square brackets]are optional- Example:
deadline TASK /by DATE [TIME]can be used with or without time
- Example:
- All command words are case-insensitive
- Example: The command word
todocan be replaced byTODO,ToDo,toDo, etc.
- Example: The command word
- Task numbers start from 1 (shown when you use
list)
Simple 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.
Tasks 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.
/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.
Tasks 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:
- Smart date inference:
- If the start has a date but the end has only time (e.g.,
/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). - If the end has a date but the start has only time (e.g.,
/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).
- If the start has a date but the end has only time (e.g.,
- If you provide only time (e.g.,
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.
/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:
- Month names: capitalize only the first letter (e.g.,
Apr,Sep,Oct,Dec). - AM/PM indicators are case-insensitive.
Date formats:
- Separators:
-or/ - Date orders:
yyyy-MM-dd,dd-MM-yyyy,MMM dd yyyy,dd MMM yyyy,yyyy MMM dd - Examples:
2019-12-02,02/12/2019,Dec 02 2019
Time formats:
- 24-hour:
HHmmorHH:mm- Examples:
1400,14:00
- Examples:
- 12-hour:
h:mma,h:mm a,hh:mma,hh:mm a,hmma,hmm a,hhmma,hhmm a- 12-hour formats are ONLY valid when time is provided alone, NOT in date-time combinations
- Examples:
2:00pm,2:00 pm,02:00pm,02:00 pm
Date-time combinations:
- Date + Time:
2019-12-02 1400,Dec 02 2019 14:00,02/12/2019 1400 - Time + Date:
1400 2019-12-02,14:00 Dec 02 2019,1400 02/12/2019 - ISO format:
2019-12-02T14:00,2019-12-02T14:00:00
Quick 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.
- Only formats listed above are recognized as dates/times
- If you use a different format (e.g.,
December 2, 2019or2nd Dec 2019), Reverie will NOT recognize it as a date and will treat it as plain text - Always verify the output shows your intended date/time in the confirmation message
Format: 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)
Search 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)
See 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)
schedule command, only yyyy-MM-dd format is accepted (e.g., 2019-12-02). Other formats will cause an error.
Format: 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
Format: 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
Format: 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.
list to verify.
Format: 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
- Tasks auto-save to
./data/reverie.txtafter every change - Autoloads on startup
β οΈ Do not manually edit the data file - may cause corruption
To 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 |