Skip to content

A blazingly fast, terminal-based todo list manager built with Rust and Ratatui. Manage your tasks efficiently without leaving your terminal!

License

Notifications You must be signed in to change notification settings

neovim-dev/taskflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TaskFlow - Terminal Todo Manager 🚀

Hacktoberfest 2025 Rust License: MIT

A blazingly fast, terminal-based todo list manager built with Rust and Ratatui. Manage your tasks efficiently without leaving your terminal!

✨ Features

  • 📝 Create, edit, and delete tasks
  • ✅ Mark tasks as complete/incomplete
  • 🎨 Beautiful TUI (Terminal User Interface) with Ratatui
  • 💾 Persistent storage (JSON-based)
  • ⌨️ Vim-like keybindings
  • 🏷️ Task priorities (High, Medium, Low)
  • 📅 Due date tracking
  • 🔍 Search and filter tasks
  • 📊 Task statistics dashboard

🚀 Quick Start

Prerequisites

  • Rust 1.70 or higher
  • Cargo

Installation

# Clone the repository
git clone https://github.com/neovim-dev/taskflow.git
cd taskflow

# Build the project
cargo build --release

# Run the application
cargo run

Usage

# Start TaskFlow
taskflow

# Or use the release binary
./target/release/taskflow

⌨️ Keybindings

Key Action
n New task
e Edit selected task
d Delete selected task
Space Toggle task completion
j/↓ Move down
k/↑ Move up
/ Search tasks
p Change priority
q Quit application
? Show help

📁 Project Structure

taskflow/
├── src/
│   ├── main.rs           # Application entry point
│   ├── app.rs            # Application state management
│   ├── ui.rs             # UI rendering logic
│   ├── task.rs           # Task data structures
│   ├── storage.rs        # Data persistence
│   └── input.rs          # Input handling
├── tests/
│   └── integration_tests.rs
├── Cargo.toml
├── README.md
├── CONTRIBUTING.md
├── LICENSE
└── .github/
    └── ISSUE_TEMPLATE/

🛠️ Technology Stack

  • Language: Rust
  • TUI Framework: Ratatui
  • Storage: JSON (serde)
  • Date/Time: chrono
  • CLI: clap (for future CLI arguments)

🤝 Contributing

We love contributions! This project is part of Hacktoberfest 2025. Please read our CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

Good First Issues

Check out issues labeled with good-first-issue to get started! We have tasks ranging from beginner to advanced levels.

📋 Roadmap

  • Basic CRUD operations
  • Task persistence
  • Priority and due dates
  • Search functionality
  • Categories/Tags
  • Task statistics
  • Export to different formats
  • Recurring tasks
  • Multi-list support
  • Cloud sync (optional)

📄 License

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

🙏 Acknowledgments

  • Built with Ratatui
  • Inspired by the terminal tools community
  • Thanks to all Hacktoberfest contributors!

📞 Support


⭐ Star this repository if you find it helpful!

Happy Hacking! 🎃

About

A blazingly fast, terminal-based todo list manager built with Rust and Ratatui. Manage your tasks efficiently without leaving your terminal!

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published