airail 0.1.2 → 0.1.4
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/dist/cli/index.js +5 -2
- package/dist/cli/init.js +3 -3
- package/dist/cli/version.js +43 -0
- package/package.json +1 -1
- package/skills/universal/development-workflow/SKILL.md +307 -0
- package/src/templates/agents/code-reviewer.md +20 -5
- package/src/templates/commands/add-todo.md +212 -12
- package/src/templates/commands/check.md +542 -42
- package/src/templates/commands/crud.md +361 -19
- package/src/templates/commands/dev-frontend.md +38 -0
- package/src/templates/commands/dev.md +17 -7
- package/src/templates/commands/init-docs.md +1 -1
- package/src/templates/commands/init-skills.md +140 -0
- package/src/templates/commands/next.md +172 -20
- package/src/templates/commands/progress.md +428 -25
- package/src/templates/commands/start.md +387 -20
- package/src/templates/commands/sync.md +225 -0
- package/src/templates/commands/update-status.md +466 -13
- package/src/templates/docs/README.md +83 -5
- package/src/templates/hooks/skill-eval.cjs +96 -0
- package/src/templates/settings.json +4 -4
- package/src/templates/hooks/skill-eval.js +0 -48
- /package/src/templates/hooks/{guard.js → guard.cjs} +0 -0
- /package/src/templates/hooks/{inject.js → inject.cjs} +0 -0
- /package/src/templates/hooks/{stop.js → stop.cjs} +0 -0
package/dist/cli/index.js
CHANGED
|
@@ -42,6 +42,7 @@ const update_1 = require("./update");
|
|
|
42
42
|
const status_1 = require("./status");
|
|
43
43
|
const config_1 = require("./config");
|
|
44
44
|
const install_1 = require("./install");
|
|
45
|
+
const version_1 = require("./version");
|
|
45
46
|
function printBanner() {
|
|
46
47
|
console.log([
|
|
47
48
|
'',
|
|
@@ -59,16 +60,17 @@ function printBanner() {
|
|
|
59
60
|
function printHelp() {
|
|
60
61
|
const cmds = [
|
|
61
62
|
['init', '在当前项目初始化 airail'],
|
|
62
|
-
['add
|
|
63
|
+
['add <包名[@版本]|路径>', '安装规范包(从配置仓库或本地路径)'],
|
|
63
64
|
['install [工具名]', '安装 CLI 工具(如 claude-code)'],
|
|
64
65
|
['clear', '清理 airail 相关内容'],
|
|
65
66
|
['update', '更新已安装的规范包'],
|
|
66
67
|
['config [子命令]', '管理团队配置仓库 (setup / list / use)'],
|
|
67
68
|
['status', '查看已安装的技能'],
|
|
69
|
+
['ver', '查看 airail 版本'],
|
|
68
70
|
['exit', '退出交互模式'],
|
|
69
71
|
];
|
|
70
72
|
const dispWidth = (s) => [...s].reduce((n, c) => n + (c.charCodeAt(0) > 0x7f ? 2 : 1), 0);
|
|
71
|
-
const col =
|
|
73
|
+
const col = 30;
|
|
72
74
|
const lines = cmds.map(([c, d]) => ` ${c}${' '.repeat(Math.max(1, col - dispWidth(c)))}${d}`);
|
|
73
75
|
console.log(['可用命令:', ...lines].join('\n'));
|
|
74
76
|
}
|
|
@@ -81,6 +83,7 @@ async function executeCommand(cmd, args) {
|
|
|
81
83
|
update: update_1.cmdUpdate,
|
|
82
84
|
status: status_1.cmdStatus,
|
|
83
85
|
config: () => (0, config_1.cmdConfig)(args[0], ...args.slice(1)),
|
|
86
|
+
ver: version_1.cmdVersion,
|
|
84
87
|
};
|
|
85
88
|
if (cmd === 'exit') {
|
|
86
89
|
return { shouldContinue: false, success: true };
|
package/dist/cli/init.js
CHANGED
|
@@ -57,7 +57,7 @@ async function cmdInit() {
|
|
|
57
57
|
(0, utils_1.copyTemplateDir)('agents', claudeDir);
|
|
58
58
|
(0, utils_1.copyTemplateDir)('templates', claudeDir);
|
|
59
59
|
(0, utils_1.copyTemplateDir)('docs', claudeDir);
|
|
60
|
-
(0, utils_1.writeClaude)(
|
|
60
|
+
(0, utils_1.writeClaude)(claudeDir);
|
|
61
61
|
(0, utils_1.writeSettings)(claudeDir);
|
|
62
62
|
const config = {
|
|
63
63
|
version: '0.1.0',
|
|
@@ -69,6 +69,6 @@ async function cmdInit() {
|
|
|
69
69
|
console.log((0, colors_1.ok)('斜杠命令已安装'));
|
|
70
70
|
console.log((0, colors_1.ok)('文档模板已安装'));
|
|
71
71
|
console.log((0, colors_1.ok)('\nairail 初始化完成!'));
|
|
72
|
-
console.log((0, colors_1.warn)('
|
|
73
|
-
console.log((0, colors_1.warn)('提示:在 Claude Code 中输入 /
|
|
72
|
+
console.log((0, colors_1.warn)('提示:在 Claude Code 中输入 /init-skills 让 AI 分析项目并生成技能。'));
|
|
73
|
+
console.log((0, colors_1.warn)('提示:在 Claude Code 中输入 /start 了解项目。'));
|
|
74
74
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.cmdVersion = cmdVersion;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
async function cmdVersion() {
|
|
40
|
+
const packageJsonPath = path.join(__dirname, '../../package.json');
|
|
41
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
42
|
+
console.log(`airail v${packageJson.version}`);
|
|
43
|
+
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: development-workflow
|
|
3
|
+
description: |
|
|
4
|
+
项目开发工作流和最佳实践。包含开发流程建议、编码最佳实践、技术选型建议。
|
|
5
|
+
|
|
6
|
+
触发场景:
|
|
7
|
+
- 询问开发流程和工作流
|
|
8
|
+
- 询问最佳实践和开发规范
|
|
9
|
+
- 询问如何组织开发工作
|
|
10
|
+
- 询问技术选型建议
|
|
11
|
+
- 询问命令使用顺序
|
|
12
|
+
|
|
13
|
+
触发词:开发流程、工作流、最佳实践、开发规范、如何开发、开发建议、技术选型、命令使用、开发顺序、项目管理
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# 项目开发工作流和最佳实践
|
|
17
|
+
|
|
18
|
+
## 概述
|
|
19
|
+
|
|
20
|
+
本技能提供项目开发的工作流建议、编码最佳实践和技术选型指导,帮助开发者高效、规范地完成项目开发。
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 开发流程建议
|
|
25
|
+
|
|
26
|
+
### 标准开发流程(6步法)
|
|
27
|
+
|
|
28
|
+
1. **明确需求** → 使用 `/start` 快速了解项目
|
|
29
|
+
- 了解项目结构和技术栈
|
|
30
|
+
- 查看现有功能和代码组织
|
|
31
|
+
- 确认开发环境和依赖
|
|
32
|
+
|
|
33
|
+
2. **检查规范** → 使用 `/check` 检查代码质量
|
|
34
|
+
- 检查现有代码规范
|
|
35
|
+
- 发现潜在问题
|
|
36
|
+
- 了解项目编码标准
|
|
37
|
+
|
|
38
|
+
3. **分析进度** → 使用 `/progress` 了解完成情况
|
|
39
|
+
- 查看项目完成度
|
|
40
|
+
- 了解待办事项
|
|
41
|
+
- 评估工作量
|
|
42
|
+
|
|
43
|
+
4. **开始开发** → 使用 `/dev` 或 `/crud` 快速生成代码
|
|
44
|
+
- 表已存在:使用 `/crud` 快速生成
|
|
45
|
+
- 从零开始:使用 `/dev` 完整开发
|
|
46
|
+
- 遵循项目规范和架构
|
|
47
|
+
|
|
48
|
+
5. **添加待办** → 使用 `/add-todo` 跟踪任务
|
|
49
|
+
- 记录新发现的任务
|
|
50
|
+
- 标记优先级
|
|
51
|
+
- 设置截止日期
|
|
52
|
+
|
|
53
|
+
6. **获取建议** → 使用 `/next` 确定下一步方向
|
|
54
|
+
- 分析当前状态
|
|
55
|
+
- 获取优先级建议
|
|
56
|
+
- 规划下一步工作
|
|
57
|
+
|
|
58
|
+
### 定期维护流程
|
|
59
|
+
|
|
60
|
+
- **每日**:使用 `/add-todo` 记录新任务
|
|
61
|
+
- **每周**:使用 `/check` 检查代码质量
|
|
62
|
+
- **每周**:使用 `/progress` 查看进度
|
|
63
|
+
- **每周**:使用 `/sync` 生成综合报告
|
|
64
|
+
- **每月**:使用 `/next` 规划下一阶段工作
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 编码最佳实践
|
|
69
|
+
|
|
70
|
+
### 1. 单一职责原则
|
|
71
|
+
|
|
72
|
+
**原则**:每个模块、类、方法只负责一件事
|
|
73
|
+
|
|
74
|
+
**实践**:
|
|
75
|
+
- 业务层负责业务逻辑
|
|
76
|
+
- 接口层负责请求处理和参数验证
|
|
77
|
+
- 数据层负责数据访问
|
|
78
|
+
- 工具类负责通用功能
|
|
79
|
+
|
|
80
|
+
**反例**:
|
|
81
|
+
```
|
|
82
|
+
❌ Controller 中包含复杂的业务逻辑
|
|
83
|
+
❌ Service 中直接操作 HTTP 请求
|
|
84
|
+
❌ 一个方法做多件不相关的事
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**正例**:
|
|
88
|
+
```
|
|
89
|
+
✅ Controller 只做参数验证和调用 Service
|
|
90
|
+
✅ Service 专注业务逻辑
|
|
91
|
+
✅ 每个方法职责清晰
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### 2. 查询优化
|
|
97
|
+
|
|
98
|
+
**原则**:规范构建查询条件,避免性能问题
|
|
99
|
+
|
|
100
|
+
**实践**:
|
|
101
|
+
- 使用规范的查询条件构建方式
|
|
102
|
+
- 避免 N+1 查询问题
|
|
103
|
+
- 合理使用索引
|
|
104
|
+
- 分页查询大数据量
|
|
105
|
+
|
|
106
|
+
**查询条件规范**:
|
|
107
|
+
- 精确匹配:ID、状态、类型等
|
|
108
|
+
- 模糊搜索:名称、标题、内容等
|
|
109
|
+
- 范围查询:日期、金额等
|
|
110
|
+
- 关联查询:使用 JOIN 而非多次查询
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
### 3. 权限管理
|
|
115
|
+
|
|
116
|
+
**原则**:所有公开接口必须有权限控制
|
|
117
|
+
|
|
118
|
+
**实践**:
|
|
119
|
+
- 所有接口添加权限注解
|
|
120
|
+
- 按模块划分权限
|
|
121
|
+
- 按操作类型划分权限(查看、新增、修改、删除)
|
|
122
|
+
- 敏感操作增加二次验证
|
|
123
|
+
|
|
124
|
+
**权限分类**:
|
|
125
|
+
- 查看权限:list、query
|
|
126
|
+
- 操作权限:add、edit、remove
|
|
127
|
+
- 特殊权限:export、import、approve
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
### 4. 注释完整
|
|
132
|
+
|
|
133
|
+
**原则**:关键方法必须有完整注释
|
|
134
|
+
|
|
135
|
+
**实践**:
|
|
136
|
+
- 公开接口必须有注释
|
|
137
|
+
- 复杂业务逻辑必须有注释
|
|
138
|
+
- 工具方法必须有注释
|
|
139
|
+
- 注释说明用途、参数、返回值
|
|
140
|
+
|
|
141
|
+
**注释内容**:
|
|
142
|
+
- 方法用途和功能
|
|
143
|
+
- 参数说明(类型、含义、约束)
|
|
144
|
+
- 返回值说明
|
|
145
|
+
- 异常说明
|
|
146
|
+
- 使用示例(如需要)
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
### 5. 定期检查
|
|
151
|
+
|
|
152
|
+
**原则**:每周至少一次运行代码检查和进度查看
|
|
153
|
+
|
|
154
|
+
**实践**:
|
|
155
|
+
- 每周运行 `/check` 检查代码质量
|
|
156
|
+
- 每周运行 `/progress` 查看进度
|
|
157
|
+
- 每周运行 `/sync` 生成综合报告
|
|
158
|
+
- 及时修复发现的问题
|
|
159
|
+
|
|
160
|
+
**检查内容**:
|
|
161
|
+
- 代码规范问题
|
|
162
|
+
- TODO/FIXME 标记
|
|
163
|
+
- 代码重复
|
|
164
|
+
- 性能问题
|
|
165
|
+
- 安全问题
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 技术选型建议
|
|
170
|
+
|
|
171
|
+
### 场景 1:快速生成 CRUD
|
|
172
|
+
|
|
173
|
+
**推荐方案**:`/crud` 命令
|
|
174
|
+
|
|
175
|
+
**适用条件**:
|
|
176
|
+
- 数据库表已存在
|
|
177
|
+
- 只需标准 CRUD 功能
|
|
178
|
+
- 无复杂业务逻辑
|
|
179
|
+
|
|
180
|
+
**优势**:
|
|
181
|
+
- 生成速度快
|
|
182
|
+
- 代码规范统一
|
|
183
|
+
- 减少重复工作
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
### 场景 2:从零开发功能
|
|
188
|
+
|
|
189
|
+
**推荐方案**:`/dev` 命令
|
|
190
|
+
|
|
191
|
+
**适用条件**:
|
|
192
|
+
- 表结构尚未设计
|
|
193
|
+
- 需要完整的开发流程
|
|
194
|
+
- 包含业务逻辑设计
|
|
195
|
+
|
|
196
|
+
**优势**:
|
|
197
|
+
- 包含表设计指导
|
|
198
|
+
- 完整的开发流程
|
|
199
|
+
- 考虑业务逻辑
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
### 场景 3:代码规范检查
|
|
204
|
+
|
|
205
|
+
**推荐方案**:`/check` 命令
|
|
206
|
+
|
|
207
|
+
**适用条件**:
|
|
208
|
+
- 开发完成后
|
|
209
|
+
- 定期检查
|
|
210
|
+
- 发现代码问题
|
|
211
|
+
|
|
212
|
+
**优势**:
|
|
213
|
+
- 及时发现问题
|
|
214
|
+
- 统一代码规范
|
|
215
|
+
- 提升代码质量
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
### 场景 4:项目进度追踪
|
|
220
|
+
|
|
221
|
+
**推荐方案**:`/progress` 命令
|
|
222
|
+
|
|
223
|
+
**适用条件**:
|
|
224
|
+
- 定期了解完成情况
|
|
225
|
+
- 评估工作量
|
|
226
|
+
- 规划下一步工作
|
|
227
|
+
|
|
228
|
+
**优势**:
|
|
229
|
+
- 清晰的进度展示
|
|
230
|
+
- 待办事项统计
|
|
231
|
+
- 完成率分析
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
### 场景 5:全量同步
|
|
236
|
+
|
|
237
|
+
**推荐方案**:`/sync` 命令
|
|
238
|
+
|
|
239
|
+
**适用条件**:
|
|
240
|
+
- 每周整理
|
|
241
|
+
- 发现数据不一致
|
|
242
|
+
- 生成综合报告
|
|
243
|
+
|
|
244
|
+
**优势**:
|
|
245
|
+
- 全量扫描
|
|
246
|
+
- 综合分析
|
|
247
|
+
- 生成报告
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## 常见问题
|
|
252
|
+
|
|
253
|
+
### Q1:什么时候使用 /crud,什么时候使用 /dev?
|
|
254
|
+
|
|
255
|
+
**A1**:
|
|
256
|
+
- 表已存在 → 使用 `/crud`
|
|
257
|
+
- 从零开始 → 使用 `/dev`
|
|
258
|
+
- 只需标准 CRUD → 使用 `/crud`
|
|
259
|
+
- 需要复杂业务逻辑 → 使用 `/dev`
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
### Q2:如何保证代码质量?
|
|
264
|
+
|
|
265
|
+
**A2**:
|
|
266
|
+
1. 开发前:使用 `/check` 了解项目规范
|
|
267
|
+
2. 开发中:遵循最佳实践
|
|
268
|
+
3. 开发后:使用 `/check` 检查代码
|
|
269
|
+
4. 定期:每周运行 `/check` 和 `/sync`
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
### Q3:如何管理待办事项?
|
|
274
|
+
|
|
275
|
+
**A3**:
|
|
276
|
+
1. 发现任务:使用 `/add-todo` 立即记录
|
|
277
|
+
2. 查看进度:使用 `/progress` 查看待办
|
|
278
|
+
3. 获取建议:使用 `/next` 确定优先级
|
|
279
|
+
4. 定期整理:每周清理已完成任务
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
### Q4:如何规划下一步工作?
|
|
284
|
+
|
|
285
|
+
**A4**:
|
|
286
|
+
1. 使用 `/next` 获取建议
|
|
287
|
+
2. 根据优先级排序
|
|
288
|
+
3. 先处理高优先级任务
|
|
289
|
+
4. 定期使用 `/progress` 查看进度
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## 注意事项
|
|
294
|
+
|
|
295
|
+
1. **遵循项目规范**:每个项目可能有特定的规范,优先遵循项目规范
|
|
296
|
+
2. **保持代码一致性**:与现有代码保持一致的风格
|
|
297
|
+
3. **及时记录待办**:发现问题立即记录,避免遗忘
|
|
298
|
+
4. **定期检查代码**:每周至少一次代码检查
|
|
299
|
+
5. **持续学习改进**:根据项目经验不断优化工作流
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## 相关技能
|
|
304
|
+
|
|
305
|
+
- 如果是后端开发规范 → 使用 backend-development 技能
|
|
306
|
+
- 如果是数据库设计规范 → 使用 database-design 技能
|
|
307
|
+
- 如果是 API 设计规范 → 使用 api-design 技能
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: code-reviewer
|
|
3
|
-
description:
|
|
3
|
+
description: 自动代码审查助手,在完成功能开发后自动检查代码是否符合项目规范。当使用 /dev 命令完成代码生成后,或用户说"审查代码"、"检查代码"时自动调用。
|
|
4
|
+
model: opus
|
|
5
|
+
tools: Read, Grep, Glob
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# 代码审查专家
|
|
@@ -9,13 +11,26 @@ description: 代码审查专家,在提交代码前进行全面的规范检查
|
|
|
9
11
|
|
|
10
12
|
你是一位严格的代码审查专家,熟悉本项目的所有规范。你的职责是在代码合并前发现问题,而不是帮助实现功能。
|
|
11
13
|
|
|
14
|
+
## 核心职责
|
|
15
|
+
|
|
16
|
+
在以下场景自动执行代码审查:
|
|
17
|
+
|
|
18
|
+
1. **`/dev` 命令完成后** - 审查新生成的完整业务模块
|
|
19
|
+
2. **用户手动触发** - 说"审查代码"、"检查代码"、"review"
|
|
20
|
+
|
|
21
|
+
## 审查原则
|
|
22
|
+
|
|
23
|
+
1. **严格但不死板** - 遵循规范,但理解特殊情况
|
|
24
|
+
2. **提供修复建议** - 不只指出问题,还要给解决方案
|
|
25
|
+
3. **优先级明确** - 区分必须修复和建议修复
|
|
26
|
+
4. **快速反馈** - 审查报告简洁明了
|
|
27
|
+
|
|
12
28
|
## 审查流程
|
|
13
29
|
|
|
14
|
-
1.
|
|
15
|
-
2.
|
|
16
|
-
3. 输出结构化审查报告
|
|
30
|
+
1. 根据审查清单逐文件检查,按严重程度分类问题
|
|
31
|
+
2. 输出结构化审查报告
|
|
17
32
|
|
|
18
|
-
##
|
|
33
|
+
## 审查清单
|
|
19
34
|
|
|
20
35
|
### 必须修复(阻塞合并)
|
|
21
36
|
|
|
@@ -1,24 +1,224 @@
|
|
|
1
|
-
#
|
|
1
|
+
# /add-todo - 快速添加待办事项
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
智能待办事项管理助手,支持优先级解析、模块识别、批量添加、自动创建文档。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
## 使用方式
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
/add-todo 实现用户权限管理
|
|
11
|
+
/add-todo 修复登录bug,优先级高
|
|
12
|
+
/add-todo 优化接口性能,3天,中等优先级
|
|
13
|
+
/add-todo [模块名] 实现测试功能
|
|
14
|
+
/add-todo 修复缓存问题,高,截止1月30号
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 第一步:智能检测文档状态
|
|
20
|
+
|
|
21
|
+
### 检查待办清单文档
|
|
22
|
+
|
|
23
|
+
检查 `docs/待办清单.md` 或 `.claude/docs/待办清单.md` 是否存在:
|
|
24
|
+
|
|
25
|
+
**如果不存在**:
|
|
26
|
+
1. 自动创建待办清单文档
|
|
27
|
+
2. 使用标准模板(包含高/中/低优先级分区)
|
|
28
|
+
3. 输出提示:`📝 已自动创建待办清单文档`
|
|
29
|
+
|
|
30
|
+
**如果存在**:
|
|
31
|
+
直接读取现有内容
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 第二步:解析任务信息
|
|
36
|
+
|
|
37
|
+
### 从用户输入中提取
|
|
38
|
+
|
|
39
|
+
| 信息 | 解析方式 | 默认值 |
|
|
40
|
+
|------|---------|--------|
|
|
41
|
+
| 任务名称 | 必填,主体内容 | - |
|
|
42
|
+
| 优先级 | "高"/"中"/"低",或"紧急"/"重要" | 中 |
|
|
43
|
+
| 预计时间 | "X天"/"X周" | 待定 |
|
|
44
|
+
| 所属模块 | 模块名前缀(如有) | 通用 |
|
|
45
|
+
| 截止日期 | "截止XX"或"deadline XX" | 待定 |
|
|
46
|
+
|
|
47
|
+
### 优先级映射
|
|
48
|
+
|
|
49
|
+
| 用户输入 | 映射到 |
|
|
50
|
+
|---------|--------|
|
|
51
|
+
| 高、紧急、urgent、critical、ASAP | 🔥 高优先级 |
|
|
52
|
+
| 中、一般、normal、默认 | 📌 中优先级 |
|
|
53
|
+
| 低、可延后、optional、nice-to-have | 💡 低优先级 |
|
|
54
|
+
|
|
55
|
+
### 模块识别
|
|
56
|
+
|
|
57
|
+
如果任务描述以模块名开头(如"后端 XXX"、"前端 XXX"、"[模块名] XXX"),自动识别并记录所属模块。
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 第三步:添加到待办清单
|
|
62
|
+
|
|
63
|
+
### 读取现有内容
|
|
64
|
+
- 读取待办清单文档
|
|
65
|
+
- 解析各优先级区域的位置
|
|
66
|
+
|
|
67
|
+
### 添加任务
|
|
68
|
+
|
|
69
|
+
根据优先级添加到对应区域:
|
|
70
|
+
|
|
71
|
+
```markdown
|
|
72
|
+
## 🔥 高优先级(紧急重要)
|
|
73
|
+
- [ ] [任务名称]
|
|
74
|
+
- 截止日期: YYYY-MM-DD(如果有)
|
|
75
|
+
- 描述: [任务描述](如果有)
|
|
76
|
+
- 所属模块: [模块名](如果识别到)
|
|
77
|
+
- 预计工作量: X天(如果有)
|
|
78
|
+
- 添加时间: YYYY-MM-DD HH:MM
|
|
79
|
+
|
|
80
|
+
## 📌 中优先级(重要不紧急)
|
|
81
|
+
...
|
|
82
|
+
|
|
83
|
+
## 💡 低优先级(可延后)
|
|
84
|
+
...
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 更新统计信息
|
|
88
|
+
- 更新"待办总数": X 项
|
|
89
|
+
- 更新"最后更新": 当前时间
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 第四步:输出确认信息
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
✅ 已添加待办任务:
|
|
97
|
+
|
|
98
|
+
📌 **[任务名称]**
|
|
99
|
+
- 优先级: 高/中/低
|
|
100
|
+
- 预计时间: X天
|
|
101
|
+
- 所属模块: [模块名](如果有)
|
|
102
|
+
- 截止日期: YYYY-MM-DD(如果有)
|
|
103
|
+
|
|
104
|
+
📁 已更新文件: docs/待办清单.md
|
|
105
|
+
📊 当前待办总数: X 项
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 批量添加支持
|
|
111
|
+
|
|
112
|
+
### 多任务添加
|
|
113
|
+
|
|
114
|
+
用户可以一次添加多个任务:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
/add-todo 实现用户登录;实现用户注册;实现密码重置
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
或分行:
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
/add-todo
|
|
124
|
+
1. 实现用户登录,高优先级
|
|
125
|
+
2. 实现用户注册,中优先级
|
|
126
|
+
3. 实现密码重置,低优先级
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### 处理方式
|
|
130
|
+
- 按分号、换行、数字编号分割
|
|
131
|
+
- 依次解析每个任务
|
|
132
|
+
- 批量添加并汇总报告
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 智能建议
|
|
137
|
+
|
|
138
|
+
### 添加后提示
|
|
139
|
+
|
|
140
|
+
添加任务后,根据情况给出建议:
|
|
141
|
+
|
|
142
|
+
**待办过多时(>15项)**:
|
|
143
|
+
```
|
|
144
|
+
💡 提示:当前待办已有 18 项,建议梳理优先级或归档低优先级任务
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**高优先级过多时(>5项)**:
|
|
148
|
+
```
|
|
149
|
+
⚠️ 提示:高优先级任务已有 6 项,建议重新评估优先级
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**相似任务检测**:
|
|
153
|
+
```
|
|
154
|
+
💡 提示:检测到相似待办:
|
|
155
|
+
- 已有: "实现用户登录功能"
|
|
156
|
+
- 新增: "用户登录"
|
|
157
|
+
是否为同一任务?
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
10
161
|
|
|
11
162
|
## 示例
|
|
12
163
|
|
|
164
|
+
### 示例 1:简单添加
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
用户: /add-todo 修复通知发送错误
|
|
168
|
+
|
|
169
|
+
AI: ✅ 已添加待办任务:
|
|
170
|
+
|
|
171
|
+
📌 **修复通知发送错误**
|
|
172
|
+
- 优先级: 中
|
|
173
|
+
- 预计时间: 待定
|
|
174
|
+
- 添加时间: 2025-12-25 14:30
|
|
175
|
+
|
|
176
|
+
📁 已更新: docs/待办清单.md
|
|
177
|
+
📊 当前待办总数: 8 项
|
|
13
178
|
```
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
179
|
+
|
|
180
|
+
### 示例 2:带参数添加
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
用户: /add-todo 后端 实现导出功能,高优先级,2天
|
|
184
|
+
|
|
185
|
+
AI: ✅ 已添加待办任务:
|
|
186
|
+
|
|
187
|
+
🔥 **实现导出功能**
|
|
188
|
+
- 优先级: 高
|
|
189
|
+
- 预计时间: 2天
|
|
190
|
+
- 所属模块: 后端
|
|
191
|
+
- 添加时间: 2025-12-25 14:30
|
|
192
|
+
|
|
193
|
+
📁 已更新: docs/待办清单.md
|
|
194
|
+
📊 当前待办总数: 9 项
|
|
17
195
|
```
|
|
18
196
|
|
|
19
|
-
|
|
197
|
+
### 示例 3:自动创建文档
|
|
20
198
|
|
|
21
199
|
```
|
|
22
|
-
|
|
23
|
-
|
|
200
|
+
用户: /add-todo 开发后端接口文档
|
|
201
|
+
|
|
202
|
+
AI: 📝 已自动创建 docs/待办清单.md
|
|
203
|
+
|
|
204
|
+
✅ 已添加待办任务:
|
|
205
|
+
|
|
206
|
+
📌 **开发后端接口文档**
|
|
207
|
+
- 优先级: 中
|
|
208
|
+
- 预计时间: 待定
|
|
209
|
+
- 添加时间: 2025-12-25 14:30
|
|
210
|
+
|
|
211
|
+
📁 已更新: docs/待办清单.md
|
|
212
|
+
📊 当前待办总数: 1 项
|
|
24
213
|
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 相关命令
|
|
218
|
+
|
|
219
|
+
| 命令 | 关系 |
|
|
220
|
+
|------|------|
|
|
221
|
+
| `/update-status` | 批量同步待办清单,/add-todo 是单个添加 |
|
|
222
|
+
| `/progress` | 查看项目进度和待办统计 |
|
|
223
|
+
| `/sync` | 全量同步,生成综合报告 |
|
|
224
|
+
| `/init-skills` | 初始化项目技能(首次使用) |
|