Skip to content

wcqqq1214/todo-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskMaster CLI

一个功能完整的命令行任务管理工具,使用 TypeScript 开发。

技术栈

  • TypeScript
  • Node.js
  • Inquirer.js (交互式命令行)
  • Chalk (终端颜色)
  • cli-table3 (表格展示)
  • date-fns (日期处理)

快速开始

安装依赖

pnpm install

开发模式

pnpm dev

构建

pnpm build

运行

pnpm start

功能特性

项目完成情况

已完成核心功能(阶段 1-4)

  • 任务 CRUD 操作完整实现
  • 数据持久化和文件管理
  • 交互式命令行界面
  • 基础搜索功能

🚧 待实现高级功能(阶段 5 - 可选)

  • 任务统计和数据分析
  • 数据备份与恢复系统
  • 批量操作功能
  • 高级筛选和标签管理
  • 任务提醒系统

已实现功能 ✅

  • 任务 CRUD 操作

    • 添加新任务(标题、描述、优先级、标签、截止日期)
    • 查看任务列表(表格形式展示)
    • 更新任务状态(待办 → 进行中 → 已完成)
    • 删除任务(带确认提示)
  • 任务状态管理

    • 三种状态:待办、进行中、已完成
    • 彩色状态显示(黄色/蓝色/绿色)
    • 完成时间自动记录
  • 任务优先级

    • 三个级别:低、中、高
    • 图标化显示(🟢🟡🔴)
  • 任务标签系统

    • 支持多标签
    • 标签搜索
  • 任务搜索功能

    • 按标题搜索
    • 按描述搜索
    • 按标签搜索
  • 数据持久化

    • JSON 文件存储
    • 自动创建数据目录
    • 数据完整性保护
  • 交互式命令行界面

    • 友好的菜单导航
    • 输入验证
    • 彩色输出
    • 错误提示

待实现功能 🚧

以下功能为可选的进阶功能,如果有兴趣可以继续实现

  • 任务统计功能

    • 任务总数统计
    • 按状态分组统计(待办/进行中/已完成)
    • 按优先级分组统计
    • 完成率计算
    • 逾期任务统计
    • 今日到期任务统计
    • 本周到期任务统计
  • 数据备份与恢复

    • 手动创建备份
    • 从备份恢复数据
    • 自动备份(保留最近 10 个)
    • 备份文件列表查看
  • 批量操作

    • 批量删除任务
    • 批量更新任务状态
    • 批量修改优先级
    • 按条件批量操作
  • 高级筛选功能

    • 按状态筛选
    • 按优先级筛选
    • 按标签筛选
    • 按日期范围筛选
    • 查看逾期任务
    • 组合条件筛选
  • 标签管理

    • 查看所有标签
    • 标签使用统计
    • 批量标签操作
    • 标签重命名
  • 任务提醒

    • 逾期任务高亮显示
    • 即将到期提醒(3 天内)
    • 今日到期任务提醒
    • 启动时显示提醒摘要

项目结构

src/
├── types/          # 类型定义
├── services/       # 业务逻辑
├── utils/          # 工具函数
├── cli/            # CLI 界面
└── index.ts        # 入口文件

学习目标

通过这个项目学习:

  • TypeScript 类型系统
  • 接口和枚举
  • 泛型
  • 类的设计
  • 文件 I/O
  • 错误处理
  • 模块化组织

License

MIT

About

a typescript demo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published