一个功能完整的命令行任务管理工具,使用 TypeScript 开发。
- TypeScript
- Node.js
- Inquirer.js (交互式命令行)
- Chalk (终端颜色)
- cli-table3 (表格展示)
- date-fns (日期处理)
pnpm installpnpm devpnpm buildpnpm start✅ 已完成核心功能(阶段 1-4)
- 任务 CRUD 操作完整实现
- 数据持久化和文件管理
- 交互式命令行界面
- 基础搜索功能
🚧 待实现高级功能(阶段 5 - 可选)
- 任务统计和数据分析
- 数据备份与恢复系统
- 批量操作功能
- 高级筛选和标签管理
- 任务提醒系统
-
✅ 任务 CRUD 操作
- 添加新任务(标题、描述、优先级、标签、截止日期)
- 查看任务列表(表格形式展示)
- 更新任务状态(待办 → 进行中 → 已完成)
- 删除任务(带确认提示)
-
✅ 任务状态管理
- 三种状态:待办、进行中、已完成
- 彩色状态显示(黄色/蓝色/绿色)
- 完成时间自动记录
-
✅ 任务优先级
- 三个级别:低、中、高
- 图标化显示(🟢🟡🔴)
-
✅ 任务标签系统
- 支持多标签
- 标签搜索
-
✅ 任务搜索功能
- 按标题搜索
- 按描述搜索
- 按标签搜索
-
✅ 数据持久化
- JSON 文件存储
- 自动创建数据目录
- 数据完整性保护
-
✅ 交互式命令行界面
- 友好的菜单导航
- 输入验证
- 彩色输出
- 错误提示
以下功能为可选的进阶功能,如果有兴趣可以继续实现
-
⏳ 任务统计功能
- 任务总数统计
- 按状态分组统计(待办/进行中/已完成)
- 按优先级分组统计
- 完成率计算
- 逾期任务统计
- 今日到期任务统计
- 本周到期任务统计
-
⏳ 数据备份与恢复
- 手动创建备份
- 从备份恢复数据
- 自动备份(保留最近 10 个)
- 备份文件列表查看
-
⏳ 批量操作
- 批量删除任务
- 批量更新任务状态
- 批量修改优先级
- 按条件批量操作
-
⏳ 高级筛选功能
- 按状态筛选
- 按优先级筛选
- 按标签筛选
- 按日期范围筛选
- 查看逾期任务
- 组合条件筛选
-
⏳ 标签管理
- 查看所有标签
- 标签使用统计
- 批量标签操作
- 标签重命名
-
⏳ 任务提醒
- 逾期任务高亮显示
- 即将到期提醒(3 天内)
- 今日到期任务提醒
- 启动时显示提醒摘要
src/
├── types/ # 类型定义
├── services/ # 业务逻辑
├── utils/ # 工具函数
├── cli/ # CLI 界面
└── index.ts # 入口文件
通过这个项目学习:
- TypeScript 类型系统
- 接口和枚举
- 泛型
- 类的设计
- 文件 I/O
- 错误处理
- 模块化组织
MIT