Command-line todo app with full CRUD, JSON persistence, priority sorting, and search.
- ✅ Add tasks with priority (high/medium/low)
- ✅ List sorted by priority
- ✅ Mark done / delete by ID
- ✅ Search by keyword (case-insensitive)
- ✅ Persistent storage (todos.json)
$ python todo.py add "LeetCode daily" --priority high
Added: LeetCode daily (priority: high)
$ python todo.py add "Gym workout" --priority low
Added: Gym workout (priority: low)
$ python todo.py ls
○ [HIGH] LeetCode daily
○ [LOW] Gym workout
$ python todo.py search "leet"
○ [HIGH] LeetCode daily
$ python todo.py done 1
Marked as done: LeetCode daily
$ python todo.py ls
✓ [HIGH] LeetCode daily
○ [LOW] Gym workout
## Install & Run
git clone <your-repo>
cd Todo-CLI-Python
python todo.py --help
## Commands
add "Task" --priority high # Add new todo
ls # List all (priority sorted)
done ID # Mark as done
del ID # Delete todo
search "keyword" # Find todos
**Skills Demonstrated:**
- `argparse` subparsers & CLI design
- JSON file I/O & persistence
- List comprehensions (filter/delete)
- Lambda sorting & case-insensitive search