基于 SQLite 的轻量级工作区待办管理器,支持分组与状态流转,通过 CLI 脚本高效操作任务。
说明:
## 核心用法
本技能提供面向开发工作流的待办事项管理方案,基于 SQLite 数据库持久化存储,通过 `todo.sh` 脚本提供完整的 CRUD 操作。核心特性包括:
– **状态管理**:支持 `pending`(默认)、`in_progress`、`done`、`skipped` 四种状态,默认列表隐藏已完成项以保持专注
– **分组组织**:可将任务归入自定义分组(如 Work、Personal),支持分组创建、重命名、删除及任务迁移
– **环境配置**:默认使用 `./todo.db`,可通过 `TODO_DB` 环境变量自定义路径
### 典型工作流
“`bash
# 创建任务
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` 语义边界需用户自行约定 |








