在实际开发、创作或项目管理过程中,市面上多数 ToDo 应用偏向复杂、依赖图形界面、难以与开发者日常工作流(如 Git、终端)集成。特别是针对偏好终端操作的程序员或技术用户,缺乏一个轻量、结构化、具备层级关系的 CLI 待办工具。
todo-cli 正是为了解决以下问题而设计:
开发者希望在命令行中快速记录、组织、归类任务;
需要以项目为单位组织任务,并具备树状结构(父子节点);
需支持状态变更(完成/未完成)、时间戳记录;
可在无图形界面的环境下使用(如远程服务器、嵌入式终端);
数据保存在本地,确保私有性、安全性,无云端依赖。
市面上虽有不少 ToDo 工具(如 Todoist、TickTick、Notion、Workflowy),但大多为 GUI 或 Web 工具。而 todo-cli 具备以下独特优势:
纯 CLI 操作:无需图形界面,启动即用,适合开发者日常工作流;
树状结构支持:每条 ToDo 可设定父节点,天然适合项目与任务的层级组织;
自动时间戳记录:任务创建时间、完成时间自动打点,方便后续统计与回顾;
可导入 TAPD 格式数据:支持自动解析字段,辅助与外部项目管理平台对接;
数据本地化存储:所有任务数据保存在本地 .json 文件中,无需联网,便于版本控制;
命令式操作语义清晰:如 todo add, todo done, todo show, todo import 等。
核心技术选型与结构如下:
语言与框架: Python + Typer + Rich 输出美化;
数据结构: JSON 文件存储,每条 ToDo 结构包含 id, parent, title, created_at, finished_at, status 等字段;
可扩展性:
未来可接入 SQLite 本地数据库;
可添加多语言支持;
可扩展输出 Markdown、CSV、HTML 格式;
CLI 安装方式:
已完成基本 PyPI 打包支持,目标用户可通过 pip install todo-task-node-tree 直接安装使用;
未来支持计划:
日志视图 / 时间线视图;
标签系统 / 搜索功能;
与 Git hooks 联动进行提交前任务检查;
作为 VSCode 插件嵌入侧边栏。