# Objective
Analyze the current project to generate a **class diagram** and identify potential improvements in class design, file structure, and architecture.
# Context
This project was built with an AI assistant and includes multiple classes and modules across different files. I believe there are opportunities to optimize structure, naming, and relationships between components. The language and framework should be inferred from the codebase automatically.
# Tasks
1. **Scan the entire project**:
- Identify all `class` declarations across all files
- List their methods, properties, and key relationships (e.g., inheritance, usage)
- Automatically detect modules, features, or domains if applicable
2. **Generate a class diagram**:
- Use **Mermaid format** to represent class structure and relationships
- Include arrows for inheritance, composition, and usage
- If the diagram is too large, break it down by module or logical domain
3. **Analyze design quality**:
- Identify violations of SOLID principles (e.g., large classes doing too much)
- Point out duplicated logic or redundant classes
- Detect improper folder or class organization
4. **Suggest refactorings**:
- Class splitting or merging
- File and folder restructuring
- Interface extraction or simplification
- More consistent naming conventions
# Output Format
- Class diagram in Mermaid format
- Bullet-pointed list of design issues
- Concrete refactoring suggestions
# Assumptions
- You can infer the programming language and framework from the codebase
- You can read and understand the file tree, file contents, and code structure
# Notes
- Don't just list classes — connect them to each other and the system design
- Be concise and actionable in your suggestions