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.
- 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
Pre-built binaries are available for Linux, macOS and Windows. You can download the latest release from the Releases page.
RuTD provides both command-line and TUI interfaces (coming soon). You can install both via:
cargo install rutdor you can install only the CLI version (and TUI will work the same way in the future):
cargo install rutd-cliHere 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-idSee the Usage for more detailed commands and options.
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.
Run the following command in your terminal to add the completion script to your ~/.bashrc:
echo "source <(COMPLETE=bash rutd-cli)" >> ~/.bashrcRun the following command in your terminal to add the completion script to your ~/.zshrc:
echo "source <(COMPLETE=zsh rutd-cli)" >> ~/.zshrcRun 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.fishRun 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.elvInstall 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_completerRun 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:\COMPLETERuTD 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
Tasks are stored in ~/.rutd directory by default. Configuration options will be expanded in upcoming releases.
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:
This project is licensed under the MIT License - see the LICENSE for details.
Contributions are welcome! Please feel free to submit a Pull Request.
See the CHANGELOG for a detailed list of changes and updates.