A simple Rust CLI to manage to-do lists.
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.
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.jsonfile 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.
- 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.
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.
-
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
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.exeprompts.
cargo install tasky-cligit clone https://github.com/MrGranday/tasky.git
cd tasky
cargo build
cargo run -- add "Test task"
cargo run -- listreg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1# 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 0Tasky CLI welcomes beginners! We aim for 90%+ beginner contributors.
Steps to get started:
-
Read
CONTRIBUTING.mdfor guidance. -
Check issues for good first issue tasks, such as:
- Adding a
--donecommand - Supporting due dates
- Improving documentation
- Adding a
-
Open a pull request — no experience needed! We’ll guide you.
Tasky CLI is licensed under the MIT License.
- Questions: GitHub Issues
- Join discussions: Rust Discord, r/rust
- Share your progress: Use
#rustlangor#taskyon X (Twitter)
Happy task managing! 🦀