18 releases (4 breaking)
Uses new Rust 2024
new 0.6.1 | May 5, 2025 |
---|---|
0.6.0 | May 5, 2025 |
0.5.0 | May 5, 2025 |
0.4.1-rc.9 | May 5, 2025 |
0.2.2-rc.1 | May 3, 2025 |
#28 in #task-manager
672 downloads per month
Used in 2 crates
(via rutd-cli)
210KB
4.5K
SLoC
RuTD - Rust Todo Manager
RuTD ("Rust To Do" or "Rush To Do") is a high-performance todo list manager built in Rust. It's designed for developers and power users who value efficiency, control, and Git integration in their task management workflow.
Status: RuTD is stable and feature-rich with core and advanced functionality complete. New features are being actively developed.
Key Features
- Fast & Lightweight: Written in Rust for excellent performance and minimal resource usage
- Git-Integrated: Automatically tracks task changes in Git for version control and syncing
- CLI-First: Powerful command-line interface with intuitive commands and filtering
- Dynamic Shell Completions: Built-in completion for Bash, Zsh, Fish, and Elvish
- Advanced Filtering: Powerful query capabilities for finding and organizing tasks
- Flexible Storage: Task data stored in TOML format, one file per task
- Developer-Friendly: Designed by developers, for developers
- Conventional Commits: Automated commit message generation following standards
Installation
Pre-built Binaries
Pre-built binaries are available for Linux, macOS and Windows. You can download the latest release from the Releases page.
Build from source
RuTD provides both command-line and TUI interfaces (coming soon). You can install both via:
cargo install rutd
or you can install only the CLI version (and TUI will work the same way in the future):
cargo install rutd-cli
Quick Start
Here are some quick commands to get you started with RuTD:
# Add a new task
rutd-cli add "Implement new feature" --priority high --scope backend --type feat
# List all tasks
rutd-cli list
# List high priority tasks
rutd-cli list --priority high
# Mark a task as done (replace task-id with the actual ID)
rutd-cli done task-id
# Edit a task
rutd-cli edit task-id
See the Usage for more detailed commands and options.
Shell Completion
RuTD supports shell completion with clap_complete
. For better experience, RuTD uses dynamic completion for commands, so it is recommended to source the completion script in your shell configuration file.
Bash
Run the following command in your terminal to add the completion script to your ~/.bashrc
:
echo "source <(COMPLETE=bash rutd-cli)" >> ~/.bashrc
Zsh
Run the following command in your terminal to add the completion script to your ~/.zshrc
:
echo "source <(COMPLETE=zsh rutd-cli)" >> ~/.zshrc
Fish
Run the following command in your terminal to add the completion script to your ~/.config/fish/config.fish
:
echo "source (COMPLETE=fish rutd-cli | psub)" >> ~/.config/fish/config.fish
Elvish
Run the following command in your terminal to add the completion script to your ~/.elvish/rc.elv
:
echo "eval (E:COMPLETE=elvish rutd-cli | slurp)" >> ~/.elvish/rc.elv
Xonsh
Install fish
shell and follow the steps for fish
completion. Then, install xontrib-fish-completer
and add the following line to your ~/.xonshrc
:
xontrib load fish_completer
PowerShell
Run the following command in PowerShell to add the completion script to your profile:
$env:COMPLETE = "powershell"
echo "rutd-cli | Out-String | Invoke-Expression" >> $PROFILE
Remove-Item Env:\COMPLETE
Current Status & Roadmap
RuTD development follows a phased approach:
-
✅ Completed Phases: Core task management, Git integration, task state transitions, time tracking, filtering, and shell completions are all implemented and stable.
-
🔄 Current Phase (In Progress):
- Dynamic shell completions
- Windows support
- Custom sorting
- Time-based conflict resolution
- Background synchronization
- Configuration command (export default, edit, etc.)
- Terminal User Interface (TUI) development
-
🔮 Future Enhancements (Planned):
- Configuration schema validation
- Advanced TUI editing
- Reporting and visualization
- Plugin system
- Alternative Git backend options
Configuration
Tasks are stored in ~/.rutd
directory by default. Configuration options will be expanded in upcoming releases.
Acknowledgments
RuTD draws inspiration from:
- dstask for its CLI-first approach to task management
- taskwarrior for advanced task filtering concepts
And the development process heavily relies on LLM tools. Huge shout out to:
License
This project is licensed under the MIT License - see the LICENSE for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Change Log
See the CHANGELOG for a detailed list of changes and updates.
Dependencies
~13–24MB
~431K SLoC