#manager #task-manager #completion #fish #bash

bin+lib rutd-cli

Command-line interface for RuTD - A Rust based To-Do list manager

17 releases (4 breaking)

Uses new Rust 2024

new 0.6.0 May 5, 2025
0.5.0 May 5, 2025
0.4.1-rc.9 May 5, 2025
0.3.0 May 4, 2025
0.2.2-rc.1 May 3, 2025

#2068 in Command line utilities

Download history 640/week @ 2025-04-28

657 downloads per month
Used in rutd

MIT license

245KB
5K SLoC

RuTD - Rust Todo Manager

MIT License Crates.io Version Crates.io Total Downloads GitHub branch status GitHub Stars

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
  • 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
  • Dynamic Shell Completions: Built-in completion for Bash, Zsh, Fish, and Elvish
  • Advanced Filtering: Powerful query capabilities for finding and organizing tasks

Installation

Pre-built Binaries

Pre-built binaries are available for Linux, macOS. 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

# Add a new task
rutd add "Implement new feature" --priority high --scope backend --type feat

# List all tasks
rutd list

# List high priority tasks
rutd list --priority high

# Mark a task as done (replace task-id with the actual ID)
rutd done task-id

# Edit a task
rutd edit task-id

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
    • Time-based conflict resolution
    • Background synchronization
    • Custom sorting
    • 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.

Dependencies

~17–29MB
~507K SLoC