tasg 0.1.0

Manage your tasks with `tasg`!
Documentation

tasg

Manage your tasks with tasg!

tasg is a simple command-line task manager written in Rust. It allows you to add, list, complete, and delete tasks, helping you stay organized.

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.

Installation

  1. Ensure you have Rust installed.

  2. Clone the repository:

    git clone https://github.com/Ce11an/tasg.git
    cd tasg
    
  3. Build the project:

    cargo build --release
    
  4. The compiled binary will be available in the target/release directory. To install it globally, use:

    cargo install --path .
    

Uninstallation

To uninstall tasg, you can use Cargo to remove the installed binary:

cargo uninstall tasg

Clean Up Configuration Files

After uninstalling, you may want to remove the configuration directory where tasg stores task data:

  • Linux:

    rm -rf ~/.config/tasg
    
  • Windows:

    rd /s /q C:\Users\Annie\AppData\Roaming\tasg
    
  • macOS:

    rm -rf /Users/Annie/Library/Application\ Support/tasg
    

Adjust the paths as necessary if your username or configuration directory differs.

Usage

tasg provides a straightforward CLI interface. Below are the available commands:

Add a Task

Add a new task with a description:

tasg add "Your task description"

List Tasks

To list incomplete tasks:

tasg list

To list all tasks, including completed ones:

tasg list --all

Complete a Task

Mark a task as complete by specifying its ID:

tasg complete <task_id>

Delete a Task

Remove a task by specifying its ID:

tasg delete <task_id>

Nuke All Tasks

To delete all tasks (irreversible action), use:

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:

cargo test

Example

Here’s a step-by-step example of how to use tasg:

# 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.