核心用法
本技能提供面向开发工作流的待办事项管理方案,基于 SQLite 数据库持久化存储,通过 todo.sh 脚本提供完整的 CRUD 操作。核心特性包括:
- 状态管理:支持
pending(默认)、in_progress、done、skipped四种状态,默认列表隐藏已完成项以保持专注 - 分组组织:可将任务归入自定义分组(如 Work、Personal),支持分组创建、重命名、删除及任务迁移
- 环境配置:默认使用
./todo.db,可通过TODO_DB环境变量自定义路径
典型工作流
# 创建任务 bash todo.sh entry create "Review PR" --group="Work" --status=in_progress # 状态流转 bash todo.sh entry status 12 --status=done # 分组管理 bash todo.sh group create "Sprint 24Q1" bash todo.sh entry move 12 --group="Sprint 24Q1"
显著优点
1. 极致简洁:强制单数据库存储,禁止文件导出操作,避免待办数据分散于多处
2. 状态驱动:四态模型覆盖任务全生命周期,符合敏捷开发实践
3. 交互克制:默认禁止自动输出列表,成功操作仅返回单行确认,减少认知负荷
4. 防误删设计:分组删除时默认将任务移至 Inbox,需显式确认才彻底删除条目
潜在局限
- 无跨工作区同步:单 SQLite 文件设计,不支持多设备协作
- 无优先级/截止日期:基础状态机模型,复杂优先级管理需借助分组命名约定
- CLI 依赖:需
sqlite3二进制,纯 GUI 用户门槛较高 - 无历史回溯:删除操作不可逆,无内置备份机制
适合人群
- 偏好终端工作流的开发者、技术写作者
- 需要轻量级、可版本控制的个人任务管理
- 项目级待办需与代码仓库共存的场景
常规风险
| 风险类型 | 说明 |
|---------|------|
| 数据丢失 | 直接操作 `todo.db` 或误用 `--delete-entries` 可能导致不可恢复删除 |
| 并发冲突 | 无文件锁机制,多进程同时写入存在损坏风险 |
| 环境依赖 | `sqlite3` 未安装时脚本失效,需前置检查 |
| 状态歧义 | `skipped` 与 `done` 语义边界需用户自行约定 |