license Version info
CI status
Manage your tasks with tasg!

## Features - **Add New Tasks**: Easily add tasks with descriptions. - **List Tasks**: View all tasks or filter to see only incomplete tasks. - **Complete Tasks**: Mark tasks as complete. - **Delete Tasks**: Remove tasks when they are no longer needed. - **Edit Tasks**: Edit the descriptions of tasks. ## Installation Install via Cargo: ```sh cargo install tasg ``` ## Uninstallation First delete the `tasg` storage data (irreversible action): ```sh tasg nuke ``` To uninstall `tasg`, you can use Cargo to remove the installed binary: ```sh cargo uninstall tasg ``` ## Usage `tasg` provides a straightforward CLI interface. Below are the available commands: ### Add a Task Add a new task with a description: ```sh tasg add "Your task description" ``` ### List Tasks To list incomplete tasks: ```sh tasg list ``` To list all tasks, including completed ones: ```sh tasg list --all ``` ### Complete a Task Mark a task as complete by specifying its ID: ```sh tasg complete ``` ### Delete a Task Remove a task by specifying its ID: ```sh tasg delete ``` ### Edit a Task Edit a task by specifying its ID and a description: ```sh tasg edit --description "Your edited description" ``` ### Nuke All Tasks To delete all tasks (irreversible action), use: ```sh tasg nuke ``` You will be prompted to confirm this action. ## Invalid Commands If you enter an invalid command or missing arguments, `tasg` will display an error message to guide you. ## Running Tests `tasg` includes a comprehensive suite of tests. To run the tests, use: ```sh cargo test ``` ## Example Here’s a step-by-step example of how to use `tasg`: ```sh # Add a new task tasg add "Write README" # List all incomplete tasks tasg list # Complete the task with ID 1 tasg complete 1 # List all tasks, including completed ones tasg list --all # Delete the task with ID 1 tasg delete 1 # Verify the task has been deleted tasg list ``` ## Contributing Contributions are welcome! Please fork the repository, make your changes, and submit a pull request. Ensure all tests pass before submitting your pull request.