A simple interactive command-line todo app built in Rust. Tasks are stored in a local todos.md file using markdown checkbox format.
- Add tasks
- Delete tasks (completed or uncompleted)
- Toggle tasks between completed and uncompleted
- Auto-displays task list after every command
- Prevents duplicate tasks
- Persists tasks between sessions in
todos.md
Run the app:
cargo runOr with the compiled binary:
./todo| Command | Example | Description |
|---|---|---|
add <task> |
add Buy milk |
Adds a new task |
delete <task> |
delete Buy milk |
Deletes a task |
done <task> |
done Buy milk |
Toggles task between [ ] and [x] |
quit |
quit |
Exits the app |
- [ ] Buy milk
- [x] Study Rust
- [ ] Clean kitchencargo build --release
./target/release/todo- Structs, enums, and pattern matching with
match - Vectors, HashMaps and common collection methods
- File I/O with
std::fs - Error handling with
OptionandResult - Ownership and borrowing
- CLI input with
std::ioandstd::env - Closures and iterators (
.map(),.filter(),.collect())
- Rust
- Standard library only — no external dependencies