rctm is a command-line task management application built in Rust (Made it to make sure I have something to show if my HoD asked for "Practical Training"). It persists data locally in JSON format, isolates task databases and log trails per user, and supports both direct CLI commands and an interactive REPL shell.
- Local data persistence with automated backups.
- Complete task CRUD operations (add, list, update, complete, delete).
- Multi-user isolation with separate workspaces per account under ~/.taskmanager/.
- Advanced querying with category filtering, priority/date sorting, and keyword search.
- Date parser supporting relative expressions like "today" and "tomorrow".
- Multi-process lock mechanism for database consistency.
- Interactive REPL shell.
- CSV and JSON task list export functionality.
- Shell completion generation.
Build the project from the source using Cargo:
cargo build --releaseThe resulting binary will be located at target/release/rctm.
Launch the REPL by running the application with no arguments:
rctmAlternatively, execute commands directly:
# Add a task
rctm add "Review Pull Request" --category Work --priority high --due tomorrow
# List pending tasks
rctm list
# Mark task 1 as completed
rctm complete 1
# Export tasks to a CSV file
rctm export tasks.csv --format csv