Task CLI is a simple command-line task management application built in Rust. It allows you to create, update, and manage your tasks directly from the terminal.
This project was done as part of roadmap.sh
- Add new tasks with descriptions
- Update existing task descriptions
- Change task status (Todo, In Progress, Done)
- Delete tasks
- List all tasks or filter by status
- Persistent storage using JSON
- Rust 1.85.0 or newer
- Cargo package manager
-
Clone this repository:
git clone <repository-url> cd task-cli -
Build the application:
cargo build --release -
The executable will be available at
target/release/task-cli
Task CLI provides several commands to help you manage your tasks:
task-cli add "Complete the project documentation"
task-cli update 1 "Update the project documentation with examples"
task-cli mark-in-progress 1
task-cli mark-done 1
task-cli delete 1
List all tasks:
task-cli list
Filter tasks by status:
task-cli list todo
task-cli list in-progress
task-cli list done
Task CLI stores your tasks in a file named tasks.json in the current
directory. This file is automatically created when you add your first task.
Task CLI is built with the following libraries:
clapfor command-line argument parsingserdeandserde_jsonfor JSON serializationanyhowfor error handling
To contribute to this project:
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.