Skip to content

MrGranday/tasky-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tasky CLI 🦀

A simple Rust CLI to manage to-do lists.


About

Tasky CLI is a lightweight command-line tool written in Rust for managing to-do lists. It supports adding, listing, removing, and marking tasks as done, with colorful output and JSON storage.

Designed for beginners, Tasky CLI is ideal for:

  • Learning Rust
  • Contributing to open source
  • Organizing tasks on Windows (CMD/PowerShell), Linux, or macOS

See tasky.txt for a detailed project overview.

Why Tasky CLI?

In a world of bloated productivity apps, Tasky CLI stays out of your way.

  • Speed: Add and check tasks in seconds without leaving your terminal.
  • Context Preservation: If you're already coding, don't break your flow by switching to a web browser or GUI app.
  • Privacy & Portability: Your tasks are stored in a simple tasks.json file on your machine. No cloud, no tracking.
  • Visual Clarity: Uses high-contrast colors to help you distinguish between pending, completed, and overdue tasks at a glance.

When to use it?

  • Daily Standups: Quickly list what you finished yesterday and what's on for today.
  • Feature Checklists: Track small sub-tasks during a complex refactor.
  • Learning Rust: A perfect project to read and understand how Rust handles CLI arguments and file I/O.
  • Quick Reminders: "Pay bills", "Commit changes", or "Buy coffee" — captured in 5 seconds.

For the Non-CLI Developer

You don't need to be a "terminal wizard" to use Tasky. If you usually avoid the command line, Tasky is the perfect "gateway tool":

  • Human Readable: Commands are simple English (add, list, done).
  • Zero Configuration: Install it, and it just works. No config files to mess with initially.
  • Bridge the Gap: It helps you get comfortable with the terminal in a low-stakes, highly productive way.
  • Scriptable: Once you're ready, you can easily use it in your own automation scripts or CI/CD pipelines.

Features

  • Add tasks:

    tasky-cli add "Buy milk"
    # With due date (YYYY-MM-DD)
    tasky-cli add "Submit report" "2026-01-15"
  • List tasks: (colorized output, overdue tasks in red)

    tasky-cli list
  • Edit tasks:

    tasky-cli edit 0 "Buy oat milk"
  • Remove tasks:

    tasky-cli remove 0
  • Mark tasks as done:

    tasky-cli done 0
  • JSON storage: Tasks stored in tasks.json

  • Cross-platform: Works on CMD, PowerShell, Linux, macOS

Planned features:

  • Priority tags
  • JSON output enhancements

Installation

1. Install Rust

Follow the instructions at rust-lang.org or run:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • On Windows, follow the rustup-init.exe prompts.

2. Install Tasky CLI via Cargo

cargo install tasky-cli

3. Or build from source

git clone https://github.com/MrGranday/tasky.git
cd tasky
cargo build
cargo run -- add "Test task"
cargo run -- list

4. Windows CMD color support

reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1

Usage

# Add a new task
tasky-cli add "Finish homework"

# Add a task with a due date
tasky-cli add "Pay bills" "2026-02-01"

# List all tasks
tasky-cli list

# Edit a task
tasky-cli edit 0 "Finish math homework"

# Mark a task as done
tasky-cli done 0

# Remove a task
tasky-cli remove 0

Contributing

Tasky CLI welcomes beginners! We aim for 90%+ beginner contributors.

Steps to get started:

  1. Read CONTRIBUTING.md for guidance.

  2. Check issues for good first issue tasks, such as:

    • Adding a --done command
    • Supporting due dates
    • Improving documentation
  3. Open a pull request — no experience needed! We’ll guide you.


License

Tasky CLI is licensed under the MIT License.


Community

  • Questions: GitHub Issues
  • Join discussions: Rust Discord, r/rust
  • Share your progress: Use #rustlang or #tasky on X (Twitter)

Happy task managing! 🦀

About

A simple Rust CLI to manage to-do lists.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages