Idecapitator is a command-line task manager that helps you track todos, deadlines, and events. It supports date and time input, keyword/date-based search, and automatically saves your tasks between sessions.
-
Prerequisites: Ensure you have Java 17 or higher installed on your system.
- Check your Java version:
java -version - If you don't have Java 17+, download it from oracle.com or use OpenJDK.
- Check your Java version:
-
Download the latest
Idecapitator.jarfrom the releases page. -
Open a terminal and navigate to the folder containing the JAR file.
-
Run the app with:
java -jar Idecapitator.jar -
Type a command and press Enter to interact with the app.
| Command | Format |
|---|---|
| List tasks | list |
| Add todo | todo DESCRIPTION |
| Add deadline | deadline DESCRIPTION /by DATE [TIME] |
| Add event | event DESCRIPTION /from DATE [TIME] /to DATE [TIME] |
| Mark done | mark INDEX |
| Unmark done | unmark INDEX |
| Delete task | delete INDEX |
| Find by keyword or date | find KEYWORD or find DATE |
| Exit | bye |
- Date format (input):
yyyy-MM-dde.g.2019-12-02 - Time format (input):
HHmm24-hour e.g.1800for 6:00 PM - Date format (display):
MMM dd yyyye.g.Dec 02 2019 - Time format (display):
h:mmae.g.6:00PM - Time is optional — if omitted, it defaults to start of day and only the date is shown.
Shows all tasks currently saved with their index, type, status, and details.
list
Expected output:
____________________________________________________________
Here are the tasks in your list:
1.[T][ ] read book
2.[D][ ] return book (by: Dec 02 2019)
3.[E][ ] project meeting (from: Jan 10 2025, 2:00PM to: Jan 10 2025, 4:00PM)
____________________________________________________________
Adds a simple task with no date or time attached.
todo DESCRIPTION
Example:
todo read book
Expected output:
____________________________________________________________
Got it. I've added this task:
[T][ ] read book
Now you have 1 tasks in the list.
____________________________________________________________
Adds a task with a due date, and optionally a due time.
deadline DESCRIPTION /by DATE
deadline DESCRIPTION /by DATE TIME
Examples:
deadline return book /by 2019-12-02
deadline submit assignment /by 2025-03-15 2359
Expected output:
____________________________________________________________
Got it. I've added this task:
[D][ ] return book (by: Dec 02 2019)
Now you have 2 tasks in the list.
____________________________________________________________
____________________________________________________________
Got it. I've added this task:
[D][ ] submit assignment (by: Mar 15 2025, 11:59PM)
Now you have 3 tasks in the list.
____________________________________________________________
Adds a task with a start and end date/time. The end must not be before the start.
event DESCRIPTION /from DATE [TIME] /to DATE [TIME]
Examples:
event project meeting /from 2025-01-10 1400 /to 2025-01-10 1600
event overseas trip /from 2025-06-01 /to 2025-06-07
Expected output:
____________________________________________________________
Got it. I've added this task:
[E][ ] project meeting (from: Jan 10 2025, 2:00PM to: Jan 10 2025, 4:00PM)
Now you have 4 tasks in the list.
____________________________________________________________
⚠️ If the end date/time is before the start date/time, an error will be shown:CRITICAL ERROR: Event end date/time cannot be before start date/time
Marks the task at the given index as completed. The status changes from [ ] to [X].
mark INDEX
Example:
mark 1
Expected output:
____________________________________________________________
Nice! I've marked this task as done:
[T][X] read book
____________________________________________________________
Reverses a mark, setting the task back to not done.
unmark INDEX
Example:
unmark 1
Expected output:
____________________________________________________________
Nice! I've unmarked this task:
[T][ ] read book
____________________________________________________________
Permanently removes the task at the given index from the list.
delete INDEX
Example:
delete 2
Expected output:
____________________________________________________________
Noted. I've removed this task:
[D][ ] return book (by: Dec 02 2019)
Now you have 3 tasks in the list.
____________________________________________________________
Searches your task list either by keyword or by date.
Returns all tasks whose description contains the keyword (case-insensitive).
find KEYWORD
Example:
find book
Expected output:
____________________________________________________________
Here are the matching tasks in your list:
1.[T][ ] read book
2.[D][ ] return book (by: Dec 02 2019)
____________________________________________________________
If you provide a valid date in yyyy-MM-dd format, it returns all deadlines due on that date and all events that span or fall on that date.
find DATE
Example:
find 2025-01-10
Expected output:
____________________________________________________________
Tasks on Jan 10 2025:
1.[E][ ] project meeting (from: Jan 10 2025, 2:00PM to: Jan 10 2025, 4:00PM)
____________________________________________________________
Exits the application. All tasks are already saved automatically — no manual save needed.
bye
Expected output:
____________________________________________________________
Bye. Hope to see you again soon!
____________________________________________________________
- Tasks are automatically saved to
./data/idecapitator.txtafter every change. - The file is created automatically if it does not exist.
- You do not need to save manually.
- Do not manually edit the data file as it may corrupt your task list.
Idecapitator will show a CRITICAL ERROR message for invalid commands instead of crashing. Common errors:
| Situation | Error Message |
|---|---|
| Unknown command | Unknown command: 'xyz' |
| Todo with no description | A todo needs a description. |
Deadline missing /by |
Deadlines require '/by'. |
Event missing /from or /to |
Events need '/from' and '/to'. |
| Invalid date format | Invalid date format. Please use yyyy-MM-dd (e.g., 2019-12-02) |
| Invalid time format | Invalid time format. Use HHmm (e.g., 1800) |
| Event end before start | Event end date/time cannot be before start date/time |
| No data file found on startup | NOTICE: No existing data found. Starting fresh! |
- Error:
UnsupportedClassVersionError- Solution: You're using Java 16 or older. Install Java 17 or higher.
- Error:
No such file or directory- Solution: Make sure the JAR file path is correct and you're in the right directory.
- Make sure the file downloaded completely. Check the file size matches the release.
- The JAR should be around 5-10 KB.


