@walknpm/todo-cli 1.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.zh-CN.md CHANGED
@@ -1,10 +1,11 @@
1
1
  # todo-cli
2
2
 
3
- > **简体中文** | [English](./README.md)
3
+ > [English](./README.md) | **简体中文**
4
4
 
5
- 一个零依赖的 Node.js 命令行待办事项管理器。支持完整的增删改查、完成状态切换、
6
- 分类/标签、优先级排序、截止日期(含逾期高亮)、搜索、统计概览,以及导出
7
- (JSON / CSV / Markdown)。数据持久化到 `~/.todo-cli/todos.json`。
5
+ 一个零依赖的 Node.js 待办事项管理器,支持 **CLI + Web 界面**。完整的增删改查、
6
+ 子任务、循环任务、任务依赖、时间追踪、置顶、批量操作、分类/标签、优先级排序、
7
+ 截止日期、搜索、统计、看板、日历视图、时间线、导出(JSON / CSV / Markdown)
8
+ 和自动更新。数据保存在 `~/.todo-cli/todos.json`。
8
9
 
9
10
  ## 环境要求
10
11
 
@@ -12,191 +13,198 @@
12
13
 
13
14
  ## 快速安装
14
15
 
16
+ **通过 npm:**
17
+
15
18
  ```bash
16
- git clone https://gitcode.com/hw_aishell_projects/todo_cli.git
17
- cd todo_cli
18
- npm install -g .
19
- todo --version # → todo v1.0.0
19
+ npm install -g @walknpm/todo-cli
20
+ todo --version # → todo v2.0.0
20
21
  ```
21
22
 
22
- ## 命令一览
23
-
24
- | 命令 | 说明 |
25
- | --------------------- | -------------------------------------------------- |
26
- | `add <标题>` | 添加新待办 |
27
- | `list` | 列出待办(默认命令) |
28
- | `done <id>` | 标记完成(`done --all` = 全部完成) |
29
- | `toggle <id>` | 切换完成 / 待办状态 |
30
- | `edit <id>` | 编辑待办 |
31
- | `delete <id>` | 删除待办 |
32
- | `search <关键词>` | 搜索标题 / 标签 / 分类 / 备注 |
33
- | `stats` | 显示统计概览 |
34
- | `export [json\|csv\|md]` | 导出全部待办到标准输出 |
35
- | `archive` | 归档(删除所有已完成项) |
36
- | `update` | 自动更新到最新版(`--check` = 仅检查不安装) |
37
- | `clear` | 清空所有待办 |
38
- | `help` | 显示帮助 |
39
-
40
- `-h` / `--help` 可附加在**任意命令**后(或单独使用)显示帮助。
41
- `-v` / `--version` 显示版本号。
42
-
43
- ## 参数标志
44
-
45
- | 标志 | 适用命令 | 说明 |
46
- | ---------------------- | ---------------- | ------------------------------------------ |
47
- | `-p, --priority <v>` | add, edit | `high` \| `medium` \| `low`(默认: medium) |
48
- | `-t, --tags <v>` | add, edit | 逗号分隔的标签 |
49
- | `-c, --category <v>` | add, edit | 分类名称 |
50
- | `-d, --due <v>` | add, edit | 截止日期 `YYYY-MM-DD` |
51
- | `--note <v>` | add, edit | 较长的备注 / 描述 |
52
- | `--title <v>` | edit | 新标题 |
53
- | `--status <v>` | list | `all` \| `done` \| `pending` |
54
- | `--tag <v>` | list | 按标签过滤 |
55
- | `--sort <v>` | list | `priority` \| `created` \| `due` \| `id` |
56
- | `--all` | done | 完成所有待办项 |
57
- | `--check` | update | 仅检查是否有更新,不安装 |
58
- | `--format <v>` | export | `json` \| `csv` \| `md`(默认: json) |
59
-
60
- ## 使用示例
23
+ **通过 git:**
61
24
 
62
25
  ```bash
63
- # 添加待办(含截止日期、优先级、标签、分类、备注)
64
- todo add "提交报税单" -p high -d 2025-01-31 -c finance -t urgent,monthly --note "附上收据"
65
-
66
- # 列出与过滤
67
- todo list
68
- todo list --status pending --sort due
69
- todo list --category work --priority high
70
-
71
- # 搜索
72
- todo search 报税
73
-
74
- # 批量完成与归档
75
- todo done --all
76
- todo archive
26
+ git clone https://gitcode.com/hw_aishell_projects/todo_cli.git
27
+ cd todo_cli
28
+ npm install -g .
29
+ todo --version # → todo v2.0.0
30
+ ```
77
31
 
78
- # 统计概览
79
- todo stats
32
+ ## 🚀 Web 界面
80
33
 
81
- # 自动更新
82
- todo update --check # 检查是否有新版本
83
- todo update # 安装最新版本
34
+ 启动 Web 服务器:
84
35
 
85
- # 导出
86
- todo export csv > todos.csv
87
- todo export md
36
+ ```bash
37
+ todo web # 默认端口 3456
38
+ todo web 8080 # 自定义端口
39
+ npm run web # 通过 npm 脚本
88
40
  ```
89
41
 
90
- ## 项目结构
42
+ 然后在浏览器中打开 **http://localhost:3456**。
43
+
44
+ ### Web 界面功能
45
+
46
+ | 功能 | 说明 |
47
+ | ---- | ---- |
48
+ | **仪表盘** | 统计卡片、完成率、最近待办、即将到期 |
49
+ | **列表视图** | 完整待办列表,支持行内操作、筛选、排序、搜索 |
50
+ | **看板** | 拖拽在"待办"和"已完成"列之间移动 |
51
+ | **日历** | 月历视图,待办按截止日期显示 |
52
+ | **时间线** | 所有待办的时间顺序活动流 |
53
+ | **添加/编辑弹窗** | 完整表单,包含循环和置顶 |
54
+ | **详情视图** | 子任务管理、依赖关系、时间戳、快捷操作 |
55
+ | **时间追踪** | 启动/停止计时器,浮动计时器组件 |
56
+ | **深色/浅色主题** | 切换并保存到 localStorage |
57
+ | **响应式** | 适配桌面、平板和手机 |
58
+ | **键盘快捷键** | `n` = 新建待办,`/` = 搜索,`Esc` = 关闭弹窗 |
59
+
60
+ ## 命令
61
+
62
+ ### 核心命令
63
+
64
+ | 命令 | 说明 |
65
+ | ---- | ---- |
66
+ | `add <标题>` | 添加新待办 |
67
+ | `list` | 列出待办(默认命令) |
68
+ | `show <id>` | 查看待办详情 |
69
+ | `done <id>` | 标记完成(`done --all` = 全部完成) |
70
+ | `toggle <id>` | 切换完成/待办状态 |
71
+ | `edit <id>` | 编辑待办 |
72
+ | `delete <id>` | 删除待办(别名:`rm`、`remove`) |
73
+ | `duplicate <id>` | 复制待办(别名:`dup`) |
74
+ | `pin <id>` | 切换置顶状态 |
75
+ | `search <关键词>` | 搜索标题/标签/分类/备注/负责人 |
76
+ | `stats` | 显示统计信息 |
77
+ | `export [json\|csv\|md]` | 导出所有待办 |
78
+ | `archive` | 归档(删除)所有已完成的待办 |
79
+ | `clear` | 删除所有待办 |
80
+ | `web [端口]` | 启动 Web 界面服务器(默认:3456) |
81
+ | `update` | 更新到最新版本(`--check` = 仅检查) |
82
+ | `help` | 显示帮助 |
83
+
84
+ ### 子任务
91
85
 
92
- ```
93
- todo_cli/
94
- ├── bin/
95
- │ └── todo.js # 可执行入口(shebang)
96
- ├── src/
97
- │ ├── store.js # JSON 文件持久化层
98
- │ ├── todo.js # 领域逻辑(增删改查、搜索、统计、导出等)
99
- │ └── cli.js # 命令解析、ANSI 彩色、表格输出
100
- ├── package.json
101
- ├── README.md # 英文文档
102
- └── README.zh-CN.md # 中文文档
86
+ ```bash
87
+ todo subtask add <id> <标题> # 添加子任务
88
+ todo subtask done <id> <sid> # 切换子任务完成状态
89
+ todo subtask edit <id> <sid> <标题> # 编辑子任务标题
90
+ todo subtask delete <id> <sid> # 删除子任务
103
91
  ```
104
92
 
105
- ---
93
+ ### 循环任务
106
94
 
107
- ## 🤖 AI 自动部署提示词
95
+ ```bash
96
+ todo recur <id> daily [间隔] # 每 N 天重复
97
+ todo recur <id> weekly [间隔] # 每 N 周重复
98
+ todo recur <id> monthly [间隔] # 每 N 月重复
99
+ todo recur <id> yearly [间隔] # 每 N 年重复
100
+ todo recur <id> off # 取消循环
101
+ ```
108
102
 
109
- > 以下提示词可直接粘贴给 AI 助手(如 Claude、ChatGPT、DeepSeek 等),AI 会自动完成部署。
110
- > 复制对应场景的代码块即可。
103
+ 当循环待办被标记为完成时,会自动创建一个新的待办实例,截止日期按循环间隔推进。
111
104
 
112
- ### 场景一:从零安装并验证
105
+ ### 任务依赖
113
106
 
114
- ```
115
- 请帮我安装部署 todo-cli 命令行待办工具,步骤如下:
116
-
117
- 1. 克隆仓库:git clone https://gitcode.com/hw_aishell_projects/todo_cli.git
118
- 2. 进入目录:cd todo_cli
119
- 3. 全局安装:npm install -g .
120
- 4. 验证安装:运行 todo --version,确认输出 "todo v1.0.0"
121
- 5. 功能验证:依次执行以下命令并确认每步输出正常:
122
- - todo add "部署测试任务" -p high -t test -c verify
123
- - todo list
124
- - todo done 1
125
- - todo stats
126
- - todo clear
127
- 6. 如果任何步骤报错,请展示完整错误信息并尝试修复。
128
-
129
- 完成后告诉我安装路径和 todo --version 的输出。
107
+ ```bash
108
+ todo dep add <id> <依赖id> # 添加依赖(阻止完成)
109
+ todo dep remove <id> <依赖id> # 移除依赖
130
110
  ```
131
111
 
132
- ### 场景二:安装 + 导入已有数据
112
+ ### 时间追踪
133
113
 
114
+ ```bash
115
+ todo timer start <id> # 开始计时(会停止其他正在运行的计时器)
116
+ todo timer stop <id> # 停止计时并记录时间
117
+ todo timer log <id> <分钟> # 手动记录时间
118
+ todo timer # 查看活动计时器
134
119
  ```
135
- 请帮我部署 todo-cli 并导入已有待办数据:
136
-
137
- 1. 克隆并安装:
138
- git clone https://gitcode.com/hw_aishell_projects/todo_cli.git
139
- cd todo_cli && npm install -g .
140
120
 
141
- 2. 确认 todo --version 正常输出。
121
+ ### 批量操作
142
122
 
143
- 3. 以下是我的待办事项,请逐条用 todo add 命令创建(根据内容自动判断优先级、分类和标签):
144
- - [在此粘贴你的待办列表,每行一条]
145
-
146
- 4. 创建完成后运行 todo list 和 todo stats,把结果展示给我确认。
123
+ ```bash
124
+ todo bulk done <ids...> # 批量完成
125
+ todo bulk delete <ids...> # 批量删除
126
+ todo bulk priority <ids...> -p <值> # 批量设置优先级
127
+ todo bulk category <ids...> -c <值> # 批量设置分类
128
+ todo bulk assign <ids...> --assignee <值> # 批量设置负责人
147
129
  ```
148
130
 
149
- ### 场景三:卸载
131
+ ## 示例
150
132
 
151
- ```
152
- 请帮我卸载 todo-cli 工具:
133
+ ```bash
134
+ # 添加包含所有字段的待办
135
+ todo add "提交报税单" -p high -d 2025-01-31 -c finance -t urgent,monthly --note "附上收据" --estimate 120 --assignee bob
153
136
 
154
- 1. 运行 npm uninstall -g todo-cli
155
- 2. 删除数据文件:rm -rf ~/.todo-cli
156
- 3. 运行 todo --version 确认已无法找到该命令
157
- 4. 告诉我卸载是否成功。
158
- ```
137
+ # 列表与筛选
138
+ todo list --status pending --sort due
139
+ todo list --overdue
140
+ todo list --category work --priority high
159
141
 
160
- ### 场景四:更新到最新版本
142
+ # 子任务
143
+ todo subtask add 1 "调研方案"
144
+ todo subtask add 1 "撰写草稿"
145
+ todo subtask done 1 1
161
146
 
162
- ```
163
- 请帮我更新 todo-cli 到最新版本:
147
+ # 循环任务
148
+ todo recur 3 weekly 1
149
+ todo done 3 # 自动创建下周的新实例
164
150
 
165
- 1. 运行 todo update --check 检查是否有新版本
166
- 2. 如果有更新,运行 todo update 自动安装最新版
167
- 3. 运行 todo --version 确认版本号已更新
168
- 4. 运行 todo list 确认已有数据未丢失
169
- 5. 告诉我更新结果。
170
- ```
151
+ # 任务依赖
152
+ todo dep add 5 3 # 待办 #5 在 #3 完成前被阻止
171
153
 
172
- ### 场景五:完整部署(含数据备份与恢复)
154
+ # 时间追踪
155
+ todo timer start 2
156
+ todo timer stop 2
157
+ todo timer log 2 30
173
158
 
174
- ```
175
- 请帮我完成 todo-cli 的完整部署流程:
159
+ # 置顶与复制
160
+ todo pin 1
161
+ todo duplicate 3
176
162
 
177
- 【安装】
178
- 1. git clone https://gitcode.com/hw_aishell_projects/todo_cli.git
179
- 2. cd todo_cli && npm install -g .
180
- 3. 确认 todo --version 输出版本号
163
+ # 批量操作
164
+ todo bulk done 1 2 3
165
+ todo bulk priority 1 2 3 -p high
181
166
 
182
- 【备份】(如果 ~/.todo-cli/todos.json 已存在)
183
- 4. 如果存在 ~/.todo-cli/todos.json,先备份到 ~/todo-backup-$(date +%Y%m%d).json
184
- 5. 确认备份文件内容有效
167
+ # Web 界面
168
+ todo web 8080
185
169
 
186
- 【验证】
187
- 6. 执行 todo add "验证任务" -p medium 并确认输出
188
- 7. 执行 todo list 确认表格正常显示
189
- 8. 执行 todo delete 1 清理验证数据
170
+ # 统计
171
+ todo stats
190
172
 
191
- 【恢复】(如果有备份)
192
- 9. 如果之前做了备份,将备份文件复制回 ~/.todo-cli/todos.json
193
- 10. 执行 todo list 确认数据已恢复
173
+ # 导出
174
+ todo export csv > todos.csv
175
+ todo export md
194
176
 
195
- 最后汇总报告:安装状态、版本号、备份/恢复状态。
177
+ # 自动更新
178
+ todo update --check
179
+ todo update
196
180
  ```
197
181
 
198
- ---
182
+ ## 项目结构
183
+
184
+ ```
185
+ todo_cli/
186
+ ├── bin/
187
+ │ └── todo.js # 可执行入口
188
+ ├── src/
189
+ │ ├── store.js # JSON 文件持久化层
190
+ │ ├── todo.js # 领域逻辑(增删改查、子任务、循环、依赖、计时、批量...)
191
+ │ ├── cli.js # 命令解析、ANSI 颜色、表格输出
192
+ │ └── server.js # 零依赖 HTTP 服务器(REST API + 静态文件)
193
+ ├── web/
194
+ │ ├── index.html # SPA 外壳
195
+ │ ├── css/
196
+ │ │ └── style.css # 现代响应式设计(深色/浅色主题)
197
+ │ └── js/
198
+ │ └── app.js # SPA 应用逻辑(仪表盘、列表、看板、日历、时间线)
199
+ ├── skill/
200
+ │ ├── SKILL.md
201
+ │ ├── README.md
202
+ │ └── CHANGELOG.md
203
+ ├── package.json
204
+ ├── README.md # 英文文档
205
+ └── README.zh-CN.md # 中文文档
206
+ ```
199
207
 
200
- ## 开源协议
208
+ ## 许可证
201
209
 
202
210
  MIT
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@walknpm/todo-cli",
3
- "version": "1.1.0",
4
- "description": "A zero-dependency Node.js CLI todo list manager with CRUD, due dates, search, stats, export, and auto-update.",
3
+ "version": "2.0.0",
4
+ "description": "A zero-dependency Node.js CLI + Web todo list manager with subtasks, recurring, dependencies, time tracking, kanban, calendar, and more.",
5
5
  "type": "module",
6
6
  "main": "src/cli.js",
7
7
  "bin": {
@@ -11,7 +11,9 @@
11
11
  "node": ">=18"
12
12
  },
13
13
  "scripts": {
14
- "start": "node bin/todo.js"
14
+ "start": "node bin/todo.js",
15
+ "web": "node src/server.js",
16
+ "dev": "node src/server.js 3456"
15
17
  },
16
18
  "keywords": [
17
19
  "todo",
@@ -19,18 +21,30 @@
19
21
  "task",
20
22
  "productivity",
21
23
  "todo-list",
22
- "command-line"
24
+ "command-line",
25
+ "web-ui",
26
+ "kanban",
27
+ "calendar",
28
+ "subtasks",
29
+ "recurring",
30
+ "time-tracking"
23
31
  ],
24
32
  "author": "walknpm",
25
33
  "license": "MIT",
26
34
  "repository": {
27
35
  "type": "git",
28
- "url": "https://gitcode.com/hw_aishell_projects/todo_cli.git"
36
+ "url": "https://gitcode.com/hw_aishell_projects/todo-web.git"
37
+ },
38
+ "homepage": "https://gitcode.com/hw_aishell_projects/todo-web",
39
+ "publishConfig": {
40
+ "access": "public",
41
+ "registry": "https://registry.npmjs.org"
29
42
  },
30
- "homepage": "https://gitcode.com/hw_aishell_projects/todo_cli",
31
43
  "files": [
32
44
  "bin/",
33
45
  "src/",
46
+ "web/",
47
+ "skill/",
34
48
  "README.md",
35
49
  "README.zh-CN.md"
36
50
  ]
@@ -0,0 +1,8 @@
1
+ # Changelog
2
+
3
+ ## v1.0.0
4
+
5
+ - 初始版本
6
+ - 封装 todo-cli 全部命令:add/list/done/toggle/edit/delete/remove/search/stats/export/archive/update/clear
7
+ - 支持 4 个工作流模板:项目规划、每日回顾、Bug 跟踪、导出汇报
8
+ - 包含最佳实践和错误处理指南
@@ -0,0 +1,48 @@
1
+ # todo-cli-harness
2
+
3
+ 通过 `todo-cli` 命令行工具进行任务管理的 DSH Skill。
4
+
5
+ **核心特性**:
6
+ - **全命令覆盖**:增删改查、完成切换、搜索、统计、导出、自动更新
7
+ - **结构化任务管理**:优先级、分类、标签、截止日期、备注
8
+ - **工作流模板**:项目规划、每日回顾、Bug 跟踪、导出汇报
9
+ - **零依赖**:仅需 Node.js >= 18 和 `todo` CLI
10
+
11
+ ## 命令一览
12
+
13
+ | 命令 | 说明 |
14
+ |------|------|
15
+ | `add` | 添加任务(支持优先级/标签/分类/截止日期/备注) |
16
+ | `list` | 列出与过滤(按状态/分类/标签/优先级/排序) |
17
+ | `done` | 标记完成(`--all` 批量完成) |
18
+ | `toggle` | 切换完成/待办状态 |
19
+ | `edit` | 编辑任务 |
20
+ | `delete` / `remove` / `rm` | 删除任务 |
21
+ | `search` | 搜索标题/标签/分类/备注 |
22
+ | `stats` | 统计概览 |
23
+ | `export` | 导出 JSON/CSV/Markdown |
24
+ | `archive` | 归档已完成任务 |
25
+ | `update` | 自动更新工具 |
26
+ | `clear` | 清空全部任务 |
27
+
28
+ ## 安装
29
+
30
+ ```bash
31
+ npm install -g @walknpm/todo-cli
32
+ ```
33
+
34
+ ## 使用
35
+
36
+ 加载本 skill 后,AI Agent 会获得 `todo` CLI 的完整使用指南,包括:
37
+ - 所有命令的语法和示例
38
+ - 4 个常用工作流模板
39
+ - 最佳实践和错误处理指南
40
+
41
+ ## 文件结构
42
+
43
+ ```
44
+ skill/
45
+ ├── SKILL.md # 技能指令(加载后生效)
46
+ ├── README.md # 本文档
47
+ └── CHANGELOG.md # 变更记录
48
+ ```