RustyTodos

Crates.ioRustyTodos
lib.rsRustyTodos
version2.2.0
created_at2025-06-15 06:09:25.145187+00
updated_at2025-07-12 06:51:43.184412+00
descriptionA TUI based todo app written in Rust with search and cross platoform notification support
homepagehttps://github.com/KushalMeghani1644/RustyTodos.git
repositoryhttps://github.com/KushalMeghani1644/RustyTodos.git
max_upload_size
id1712973
size268,457
Kushal Meghani (KushalMeghani1644)

documentation

README

RustyTodos™ 🦀 - A Modern TUI Todo App

RustyTodos™ is a fast, lightweight, and interactive terminal Todo app built in Rust.
Manage your tasks visually with an intuitive TUI—add, list, mark as done, and delete todos—right from your terminal!

⚠️ RustyTodos™ is an unregistered trademark of Kushal Meghani.

🚫 RustyTodos™ is not affiliated with or endorsed by the Rust Foundation or Mozilla.

RustyTodos™ is a fast, lightweight, and interactive terminal Todo app built in Rust.
Manage your tasks visually with an intuitive TUI—add, list, mark as done, and delete todos—right from your terminal!

⚠️ RustyTodos™ is an unregistered trademark of Kushal Meghani.

🚫 RustyTodos™ is not affiliated with or endorsed by the Rust Foundation or Mozilla.

DEMO FOR MY APP

Features

  • Interactive terminal UI (TUI)
  • Add new todos with description & due date
  • Smart natural language date parsing
  • Color-coded task status (overdue, pending, completed)
  • View todos in a scrollable list
  • Mark todos as done
  • Delete todos by ID
  • Persistent storage in a JSON file
  • Cross-platform binaries (Linux & Windows)
  • Pre-built binaries for easy setup
  • Cross platform notification (Linux & Windows)
  • Search option to search for your todos!

Download

Get the latest release from the Releases page.

Platform Download
<<<<<<< HEAD
Linux rustytodos-v2.1.3.tar.gz
Windows rustytodos-v2.1.3(windows).zip
=======
Linux rustytodos-v2.1.1.tar.gz
Windows rustytodos-v2.1.1(windows).zip

How to Use

Run Pre-Built Binary

  1. Download the release for your platform.
  2. Extract the archive:
# For Linux
<<<<<<< HEAD
tar -xzf rustytodos-v2.1.3-linux.tar.gz
=======
tar -xzf rustytodos-v2.1.1-linux.tar.gz
>>>>>>> c931762491b113cfb94339e1ddbefe0f3d1ea14e

# For Windows
# Extract using your preferred archive manager (e.g., 7-Zip)

# Run
./rustytodos    # Linux
rustytodos.exe  # Windows

TUI Interaction Guide

  • Add Todo: Press a, enter description, press Enter, enter due date, press Enter
  • Navigate Todos: Use arrow keys ↑↓ to navigate through your task list
  • Mark as Done: Select a todo and press m
  • Delete Todo: Select a todo and press d
  • Quit: Press q

Smart Date & Time Parsing

RustyTodos features an intelligent date parser that understands natural language! No need to remember complex date formats—just type what feels natural.

Task Status Colors

  • Green: Completed tasks (regardless of due date)
  • Red: Overdue tasks (not completed and past due date)
  • Yellow: Pending tasks (not completed but not overdue)

Supported Date Formats

Relative Times

now                    # Right now with current time
today                  # Today (date only)
tomorrow, tmr          # Tomorrow
yesterday              # Yesterday

Weekdays

friday                 # Next Friday
monday                 # Next Monday
next friday            # Explicitly next Friday
this wednesday         # This Wednesday (if not passed)

Weekdays with Time

friday 15:30           # Next Friday at 3:30 PM
next monday 09:00      # Next Monday at 9:00 AM
this thursday 14:45    # This Thursday at 2:45 PM

Time Offsets

in 30 minutes          # 30 minutes from now
in 2 hours             # 2 hours from now
in 3 days              # 3 days from now
5 minutes              # 5 minutes from now (without "in")
2 hours 30 minutes     # Combined time periods
in 1 day 3 hours       # 1 day and 3 hours from now

Specific Dates & Times

2024-12-25             # Christmas Day 2024
12-25                  # December 25th (current year)
15:30                  # Today at 3:30 PM
9:00am                 # Today at 9:00 AM
11:45pm                # Today at 11:45 PM
2024-12-25 15:30       # Christmas Day 2024 at 3:30 PM

Relative Periods

week, next week        # Next week (7 days from now)
month, next month      # Next month (30 days from now)
year, next year        # Next year (365 days from now)

Supported Time Units

  • Seconds: second, seconds, sec, s
  • Minutes: minute, minutes, min, m
  • Hours: hour, hours, hr, h
  • Days: day, days, d
  • Weeks: week, weeks, w
  • Months: month, months (30 days)
  • Years: year, years (365 days)

Examples in Action

# Quick tasks
"Call mom" → "in 2 hours"
"Weekly standup" → "monday 10:00am"
"Doctor appointment" → "friday 14:30"

# Project deadlines
"Submit report" → "next friday"
"Code review" → "in 3 days"
"Meeting prep" → "tomorrow 09:00"

# Long-term goals
"Vacation planning" → "next month"
"Annual review" → "2024-12-15"

Build from Source

Prerequisites

  • Rust
  • Git

Steps

# Clone the repository
git clone https://github.com/Kushal_Meghani1644/RustyTodos.git
cd rustytodos

# Build and run
cargo run

# Or build release binary
cargo build --release
# Binary will be in target/release/rustytodos

Configuration

RustyTodos stores your todos in a JSON file:

  • Linux/macOS: ~/.local/share/rustytodos/todos.json
  • Windows: %APPDATA%/rustytodos/todos.json

The file is created automatically on first run.


Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the GPLv3 License - see the LICENSE file for details.


Built with ❤️ in Rust 🦀

Shout-out to Kivooeo for contributing to the code!

Commit count: 0

cargo fmt