A simple command-line personal assistant chatbot built in Java as part of the NUS CS2103/T Individual Project.
Clara supports adding, listing, marking, unmarking, deleting, and automatically saving tasks.
- Java 25
Run (or, compile and run) Clara.java from your IDE or using the Java 25 compiler/runtime:
javac Clara.java
java ClaraRefer to the user guide /docs/README.md for supported behaviour.
The project will gradually be expanded as new functionality is introduced.
.
├── docs/
│ └── README.md # Guide targeted for users
├── src/
│ └── main/
│ └── java/
│ ├── Clara.java # Application entry point and command handling
│ ├── ClaraException.java # User-input exception
│ ├── Deadline.java # Deadline task model
│ ├── Event.java # Event task model
│ ├── Parser.java # User command parser (not to be confused with file-facing parser, see below)
│ ├── Task.java # Base task model
│ ├── Todo.java # To-do task model
│ └── TodoFileHandler.java # To-do list file / IO handler and parser
├── .gitignore
├── AGENTS.md # Instructions for AI coding agents
├── CLAUDE.md # For Claude Code (redirects to `AGENTS.md`)
├── CONTRIBUTORS.md # List of contributors to the project
├── CITATIONS.md # Citation tracking
├── CITATION_RULES.md # Citation requirements and guidance
├── PROJECT.md # Description of the project, **intended for AI coding agents**
└── README.md # Project documentation
When modifying the project, keep the existing structure and naming conventions consistent. New functionality should be accompanied by appropriate tests as the test suite is introduced.
The CS2103/T Project Duke specification is the authoritative source for project requirements and progression.
This project is currently at: Level 9. It will be developed incrementally throughout the iP.
Level 0 README: Generated and modified from a ChatGPT chat thread.