A simple command-line to-do list application written in Python. Tasks are stored in a local JSON file, so your list is saved between runs.
- Add a new task
- List all tasks (with completion status)
- Mark a task as completed
- Remove a task
Tasks are saved in todos.json, which is created automatically the first time you add a task. This file is excluded from version control (see .gitignore), so each user starts with their own empty list.
To see what the data structure looks like, check todos-example.json.
todo-cli/
├── main.py # Entry point, menu loop
├── todos.py # Core logic: load, save, add, list, complete, remove
├── todos-example.json # Sample data structure
├── .gitignore
└── README.md
- Reading from and writing to files in Python
- Working with JSON data
- Structuring a small project across multiple files
- Basic error handling (missing file, invalid input, empty list)