A simple command-line todo list manager written in Rust. Features include task management, automatic backups, and file persistence.
- Add multiple tasks
- Mark tasks as completed
- Remove tasks
- Restore from backup
- Persistent storage in JSON format
- Automatic backups
- Safe file operations
- Make sure you have Rust installed. If not, install it from rustup.rs
- Clone this repository:
git clone https://github.com/ernivani/todolist
cd todolist- Build the project:
cargo build --release- Install the binary:
# Create local bin directory if it doesn't exist
mkdir -p ~/.local/bin
# Copy the binary
cp target/release/todolist ~/.local/bin/todo
# Make it executable
chmod +x ~/.local/bin/todo
# Add to PATH if not already added (add this to your ~/.bashrc or ~/.zshrc)
export PATH="$HOME/.local/bin:$PATH"# Show all commands
todo help
# Add tasks
todo add "Buy groceries"
todo add "Call mom" "Pay bills"
# Mark task as completed (by ID or description)
todo done 1
todo done "Buy groceries"
# Remove a task
todo remove 1
# Restore from backup
todo restore
# List all tasks
todoTasks are stored in ~/.todo/todo.json with automatic backups at ~/.todo/todo.backup.json.