Unitying Distributed TODOs
Centralize all your TODOs from across your codebases and projects into a single, manageable, vim-able, high-performance view.
⚠️ Warning: This doc (and most of the code) was AI-generated because life’s short — polish coming later!
Unitodo is a powerful solution that helps developers and teams track all their TODOs across different files, projects, and repositories. The tool assigns unique IDs to each TODO item, collects them in real-time, and presents them in a unified interface for easy management.
Download the latest release from the releases page.
MacOS users may need to run the following command to remove the quarantine attribute:
xattr -cr /Applications/Unitodo.appUnitodo consists of two main components:
-
Rust Backend: Scans your codebase for TODOs using
rg(ripgrep), processes and categorizes them, and provides a REST API for the frontend. -
React Frontend: A modern web interface for viewing, filtering, and managing your TODO items.
- Distributed TODOs with Unique IDs: Add TODOs anywhere in your codebase with a simple format
- Centralized Management: View and manage all your TODOs in one place
- Priority System: Easily prioritize your tasks with a simple numbering system
- Timestamping: Automatic tracking of when TODOs are created and completed
- Modern Web Interface: Filter, sort, and manage your TODOs with an intuitive UI
- Markdown Support: Basic markdown rendering for rich TODO descriptions
Unitodo supports several TODO formats. Add them anywhere in your code or documentation:
T0DO 1@fffff content description
T0DO 1#Jl_obVmSA7XCwzp7hkT2r another task
- [ ] 2@AoVs5 third task with checklist format
-
Priority: The number at the beginning (0-3 recommended, 0 being highest priority)
-
Identifier: One of the following:
@fffff- Timestamp (5-character URL-safe base64 Unix timestamp)#Jl_obVmSA7XCwzp7hkT2r- Unique nanoid (20 characters)##12- Sequential numeric ID
-
Content: The actual task description following the identifier
The web interface offers:
- Grouping by categories (Project, Git Repo, Other)
- Filtering by status (All/Active/Completed)
- Editing of todo items
- Responsive design for desktop and mobile
- Use the priority system (0-3) consistently:
0: Critical/urgent tasks1: Important tasks2: Normal priority tasks3: Low priority/nice-to-have tasks
- Add unique IDs to TODOs that you want to track and edit
- Keep TODO descriptions concise but descriptive
- Currently supports one-line TODOs only
- Assumes all created timestamps are unique (not more than 1 todo per second)
- For bi-directional sync, assumes input TODOs maintain their position


