Build a CLI expense tracker that logs transactions, categorizes spending, and generates multiple report views. Support adding expenses/income, monthly summaries, category breakdowns, top expense detection, and balance tracking. Use dataclasses for models, datetime for date handling, and dict-based aggregation. Learn dataclasses, datetime, enum, type hints, and report generation.