aico-cli 0.2.9 → 0.3.1
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/chunks/simple-config.mjs +29 -19
- package/package.json +1 -1
- package/templates/CLAUDE.md +1 -0
- package/templates/agents/aico/requirement/requirement-aligner.md +183 -1
- package/templates/code.md +70 -0
- package/templates/commands/sub/requirement-align.md +48 -0
- package/templates/commands/sub/requirement-execute.md +47 -0
- package/templates/commands/sub/requirement-identify.md +46 -0
- package/templates/commands/sub/requirement-split.md +48 -0
- package/templates/commands/sub/requirement-validate.md +48 -0
- package/templates/commands/sub/test-script.md +83 -0
- package/templates/language.md +8 -1
- package/templates/personality.md +33 -81
|
@@ -13,7 +13,7 @@ import { join as join$1 } from 'node:path';
|
|
|
13
13
|
import { join, dirname, basename } from 'pathe';
|
|
14
14
|
import { fileURLToPath } from 'node:url';
|
|
15
15
|
|
|
16
|
-
const version = "0.
|
|
16
|
+
const version = "0.3.1";
|
|
17
17
|
|
|
18
18
|
function displayBanner(subtitle) {
|
|
19
19
|
const defaultSubtitle = "\u4E00\u952E\u914D\u7F6E\u4F60\u7684\u5F00\u53D1\u73AF\u5883";
|
|
@@ -3191,16 +3191,6 @@ async function updateCcr(force = false) {
|
|
|
3191
3191
|
}
|
|
3192
3192
|
console.log(ansis.cyan(`\u5F53\u524D\u7248\u672C: ${currentVersion || ""}`));
|
|
3193
3193
|
console.log(ansis.cyan(`\u6700\u65B0\u7248\u672C: ${latestVersion}`));
|
|
3194
|
-
const { confirm } = await inquirer.prompt({
|
|
3195
|
-
type: "confirm",
|
|
3196
|
-
name: "confirm",
|
|
3197
|
-
message: "\u786E\u8BA4\u66F4\u65B0 CCR\uFF1F",
|
|
3198
|
-
default: true
|
|
3199
|
-
});
|
|
3200
|
-
if (!confirm) {
|
|
3201
|
-
console.log(ansis.gray("\u66F4\u65B0\u5DF2\u8DF3\u8FC7"));
|
|
3202
|
-
return true;
|
|
3203
|
-
}
|
|
3204
3194
|
const updateSpinner = ora("\u6B63\u5728\u66F4\u65B0 CCR...").start();
|
|
3205
3195
|
try {
|
|
3206
3196
|
await execAsync$4("npm update -g @musistudio/claude-code-router");
|
|
@@ -4696,7 +4686,17 @@ const DEFAULT_FILE_COPY_CONFIGS = [
|
|
|
4696
4686
|
destination: join(CLAUDE_DIR, "personality.md"),
|
|
4697
4687
|
type: "file",
|
|
4698
4688
|
options: {
|
|
4699
|
-
mergeStrategy: "
|
|
4689
|
+
mergeStrategy: "merge",
|
|
4690
|
+
backupBeforeCopy: true,
|
|
4691
|
+
deleteBeforeCopy: true
|
|
4692
|
+
}
|
|
4693
|
+
},
|
|
4694
|
+
{
|
|
4695
|
+
source: "templates/code.md",
|
|
4696
|
+
destination: join(CLAUDE_DIR, "code.md"),
|
|
4697
|
+
type: "file",
|
|
4698
|
+
options: {
|
|
4699
|
+
mergeStrategy: "merge",
|
|
4700
4700
|
backupBeforeCopy: true,
|
|
4701
4701
|
deleteBeforeCopy: true
|
|
4702
4702
|
}
|
|
@@ -4706,7 +4706,7 @@ const DEFAULT_FILE_COPY_CONFIGS = [
|
|
|
4706
4706
|
destination: join(CLAUDE_DIR, "language.md"),
|
|
4707
4707
|
type: "file",
|
|
4708
4708
|
options: {
|
|
4709
|
-
mergeStrategy: "
|
|
4709
|
+
mergeStrategy: "merge",
|
|
4710
4710
|
backupBeforeCopy: true,
|
|
4711
4711
|
deleteBeforeCopy: true
|
|
4712
4712
|
}
|
|
@@ -4716,7 +4716,7 @@ const DEFAULT_FILE_COPY_CONFIGS = [
|
|
|
4716
4716
|
destination: join(CLAUDE_DIR, "CLAUDE.md"),
|
|
4717
4717
|
type: "file",
|
|
4718
4718
|
options: {
|
|
4719
|
-
mergeStrategy: "
|
|
4719
|
+
mergeStrategy: "merge",
|
|
4720
4720
|
backupBeforeCopy: true,
|
|
4721
4721
|
deleteBeforeCopy: true
|
|
4722
4722
|
}
|
|
@@ -4788,11 +4788,21 @@ function handleDirectoryCopy(sourcePath, destPath, options) {
|
|
|
4788
4788
|
if (options?.deleteBeforeCopy && destExists) {
|
|
4789
4789
|
removeDir(destPath);
|
|
4790
4790
|
}
|
|
4791
|
-
|
|
4792
|
-
|
|
4793
|
-
|
|
4794
|
-
|
|
4795
|
-
|
|
4791
|
+
if (options?.mergeStrategy === "skip-if-exists" && destExists) {
|
|
4792
|
+
return;
|
|
4793
|
+
}
|
|
4794
|
+
if (options?.mergeStrategy === "merge" && destExists) {
|
|
4795
|
+
copyDir(sourcePath, destPath, {
|
|
4796
|
+
overwrite: false,
|
|
4797
|
+
// 不覆盖已存在的文件
|
|
4798
|
+
filter: options?.filter
|
|
4799
|
+
});
|
|
4800
|
+
} else {
|
|
4801
|
+
copyDir(sourcePath, destPath, {
|
|
4802
|
+
overwrite: options?.overwrite ?? true,
|
|
4803
|
+
filter: options?.filter
|
|
4804
|
+
});
|
|
4805
|
+
}
|
|
4796
4806
|
}
|
|
4797
4807
|
function copyClaudeMemoryFiles(lang, rootDir) {
|
|
4798
4808
|
const memorySourceDir = join(rootDir, "templates");
|
package/package.json
CHANGED
package/templates/CLAUDE.md
CHANGED
|
@@ -313,7 +313,189 @@ ADD COLUMN new_field VARCHAR(100);
|
|
|
313
313
|
4. ⚡ **实施难度**是否在可接受范围内?
|
|
314
314
|
5. 🔄 **依赖关系**是否明确?
|
|
315
315
|
|
|
316
|
-
|
|
316
|
+
**请确认此方案是否可行,确认后我们将进入测试脚本创建阶段。**
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### 阶段五:测试脚本创建与确认
|
|
320
|
+
|
|
321
|
+
在技术方案确认后,自动创建对应的测试脚本以确保质量:
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
# 检测项目测试框架并创建测试脚本
|
|
325
|
+
if [ -f "package.json" ]; then
|
|
326
|
+
# 分析package.json识别测试框架
|
|
327
|
+
if grep -q "vitest\|jest\|mocha\|ava\|tape" package.json; then
|
|
328
|
+
echo "📦 检测到现有测试框架,创建对应测试文件..."
|
|
329
|
+
# 根据技术方案创建测试文件
|
|
330
|
+
cat > "test/unit/[功能模块]/[功能模块].test.ts" << 'EOF'
|
|
331
|
+
// 自动生成的测试脚本 - 基于技术方案
|
|
332
|
+
import { describe, it, expect } from 'vitest'
|
|
333
|
+
|
|
334
|
+
// 根据技术方案中的组件/服务编写测试
|
|
335
|
+
describe('[功能模块]', () => {
|
|
336
|
+
it('应该满足基本功能要求', () => {
|
|
337
|
+
// 测试逻辑基于技术方案文档
|
|
338
|
+
expect(true).toBe(true)
|
|
339
|
+
})
|
|
340
|
+
|
|
341
|
+
it('应该处理边界条件', () => {
|
|
342
|
+
// 边界条件测试
|
|
343
|
+
})
|
|
344
|
+
|
|
345
|
+
it('应该集成现有功能', () => {
|
|
346
|
+
// 集成测试
|
|
347
|
+
})
|
|
348
|
+
})
|
|
349
|
+
EOF
|
|
350
|
+
else
|
|
351
|
+
echo "📝 未检测到标准测试框架,创建通用测试脚本..."
|
|
352
|
+
mkdir -p ".aico/scripts/[功能模块]"
|
|
353
|
+
# 创建跨平台测试脚本
|
|
354
|
+
cat > ".aico/scripts/[功能模块]/test-script.sh" << 'EOF'
|
|
355
|
+
#!/usr/bin/env bash
|
|
356
|
+
# 跨平台测试脚本 - 支持 Windows (Git Bash/Cygwin/WSL)、Linux、macOS
|
|
357
|
+
|
|
358
|
+
set -euo pipefail
|
|
359
|
+
|
|
360
|
+
# 检测操作系统
|
|
361
|
+
detect_os() {
|
|
362
|
+
case "$(uname -s)" in
|
|
363
|
+
Darwin*) echo "macOS" ;;
|
|
364
|
+
Linux*) echo "Linux" ;;
|
|
365
|
+
CYGWIN*|MINGW*|MSYS*) echo "Windows" ;;
|
|
366
|
+
*) echo "Unknown" ;;
|
|
367
|
+
esac
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
# 主测试函数
|
|
371
|
+
run_tests() {
|
|
372
|
+
local os="$(detect_os)"
|
|
373
|
+
echo "🚀 运行测试 - 操作系统: $os"
|
|
374
|
+
|
|
375
|
+
# 根据技术方案执行测试逻辑
|
|
376
|
+
echo "✅ 测试1: 验证基本功能"
|
|
377
|
+
# 这里添加具体的测试命令
|
|
378
|
+
|
|
379
|
+
echo "✅ 测试2: 验证边界条件"
|
|
380
|
+
# 边界条件测试
|
|
381
|
+
|
|
382
|
+
echo "✅ 测试3: 验证集成功能"
|
|
383
|
+
# 集成测试
|
|
384
|
+
|
|
385
|
+
echo "🎉 所有测试通过!"
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
# 执行测试
|
|
389
|
+
run_tests "$@"
|
|
390
|
+
EOF
|
|
391
|
+
|
|
392
|
+
# 设置执行权限
|
|
393
|
+
chmod +x ".aico/scripts/[功能模块]/test-script.sh"
|
|
394
|
+
fi
|
|
395
|
+
else
|
|
396
|
+
echo "📝 创建通用测试脚本..."
|
|
397
|
+
mkdir -p ".aico/scripts/[功能模块]"
|
|
398
|
+
cat > ".aico/scripts/[功能模块]/test-script.bat" << 'EOF'
|
|
399
|
+
@echo off
|
|
400
|
+
REM Windows批处理测试脚本
|
|
401
|
+
echo 🚀 运行测试 - Windows平台
|
|
402
|
+
|
|
403
|
+
REM 根据技术方案执行测试逻辑
|
|
404
|
+
echo ✅ 测试1: 验证基本功能
|
|
405
|
+
REM 这里添加具体的测试命令
|
|
406
|
+
|
|
407
|
+
echo ✅ 测试2: 验证边界条件
|
|
408
|
+
REM 边界条件测试
|
|
409
|
+
|
|
410
|
+
echo ✅ 测试3: 验证集成功能
|
|
411
|
+
REM 集成测试
|
|
412
|
+
|
|
413
|
+
echo 🎉 所有测试通过!
|
|
414
|
+
pause
|
|
415
|
+
EOF
|
|
416
|
+
|
|
417
|
+
cat > ".aico/scripts/[功能模块]/test-script.sh" << 'EOF'
|
|
418
|
+
#!/usr/bin/env bash
|
|
419
|
+
# Unix/Linux/macOS测试脚本
|
|
420
|
+
|
|
421
|
+
echo "🚀 运行测试 - Unix平台"
|
|
422
|
+
|
|
423
|
+
# 根据技术方案执行测试逻辑
|
|
424
|
+
echo "✅ 测试1: 验证基本功能"
|
|
425
|
+
# 这里添加具体的测试命令
|
|
426
|
+
|
|
427
|
+
echo "✅ 测试2: 验证边界条件"
|
|
428
|
+
# 边界条件测试
|
|
429
|
+
|
|
430
|
+
echo "✅ 测试3: 验证集成功能"
|
|
431
|
+
# 集成测试
|
|
432
|
+
|
|
433
|
+
echo "🎉 所有测试通过!"
|
|
434
|
+
EOF
|
|
435
|
+
|
|
436
|
+
chmod +x ".aico/scripts/[功能模块]/test-script.sh"
|
|
437
|
+
fi
|
|
438
|
+
|
|
439
|
+
# 生成测试说明文档
|
|
440
|
+
cat > ".aico/scripts/[功能模块]/README.md" << 'EOF'
|
|
441
|
+
# 测试脚本说明
|
|
442
|
+
|
|
443
|
+
## 测试策略
|
|
444
|
+
基于技术方案文档 `.aico/docs/[需求名称]/技术对齐方案文档.md` 创建
|
|
445
|
+
|
|
446
|
+
## 测试覆盖
|
|
447
|
+
- ✅ 基本功能验证
|
|
448
|
+
- ✅ 边界条件测试
|
|
449
|
+
- ✅ 集成功能测试
|
|
450
|
+
|
|
451
|
+
## 运行方式
|
|
452
|
+
|
|
453
|
+
### Windows
|
|
454
|
+
```cmd
|
|
455
|
+
test-script.bat
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
### Unix/Linux/macOS
|
|
459
|
+
```bash
|
|
460
|
+
./test-script.sh
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
## 自定义测试
|
|
464
|
+
编辑对应的脚本文件来添加具体的测试逻辑
|
|
465
|
+
EOF
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
**测试确认流程**:
|
|
469
|
+
|
|
470
|
+
```markdown
|
|
471
|
+
## 🧪 测试脚本已创建
|
|
472
|
+
|
|
473
|
+
已根据技术方案自动生成测试脚本,请确认:
|
|
474
|
+
|
|
475
|
+
### 📋 测试文件位置
|
|
476
|
+
- **标准测试框架**: `test/unit/[功能模块]/[功能模块].test.ts`
|
|
477
|
+
- **通用测试脚本**: `.aico/scripts/[功能模块]/test-script.*`
|
|
478
|
+
|
|
479
|
+
### ✅ 需要确认的内容
|
|
480
|
+
1. 🎯 **测试覆盖范围**是否满足需求?
|
|
481
|
+
2. 🔧 **测试环境兼容性**是否合适?
|
|
482
|
+
3. 📊 **测试用例设计**是否合理?
|
|
483
|
+
4. ⚡ **测试执行方式**是否清晰?
|
|
484
|
+
|
|
485
|
+
### 🔄 测试脚本管理
|
|
486
|
+
使用以下命令管理测试脚本:
|
|
487
|
+
```bash
|
|
488
|
+
# 查看测试脚本
|
|
489
|
+
aico test-script list [需求名称]
|
|
490
|
+
|
|
491
|
+
# 运行测试脚本
|
|
492
|
+
aico test-script run [需求名称]
|
|
493
|
+
|
|
494
|
+
# 编辑测试脚本
|
|
495
|
+
aico test-script edit [需求名称]
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
**请确认测试脚本无误,确认后我们将进入开发任务拆分阶段。**
|
|
317
499
|
```
|
|
318
500
|
|
|
319
501
|
严格按照用户确认后才能将上下文交接给下一个智能体的原则执行。
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
|
|
2
|
+
### 架构师级编程原则
|
|
3
|
+
|
|
4
|
+
#### 开发方法论
|
|
5
|
+
**测试驱动开发 (TDD)**
|
|
6
|
+
- 测试优先:所有功能实现前必须编写测试脚本
|
|
7
|
+
- 红绿重构:严格执行失败→通过→重构的开发节奏
|
|
8
|
+
- **执行约束**:
|
|
9
|
+
- 【重要】每个功能模块必须有对应的测试文件,如果工程没有测试框架,则编写匹配工程语言的测试脚本到(.aico/scripts/[功能模块]/测试脚本)
|
|
10
|
+
|
|
11
|
+
**规范驱动开发**
|
|
12
|
+
- 需求纯净:专注业务需求,避免技术实现污染
|
|
13
|
+
- 设计权威:基于业务价值和技术权衡做架构决策
|
|
14
|
+
- 执行一致:严格遵循设计蓝图,任何偏离需要重新评审
|
|
15
|
+
- **执行约束**:
|
|
16
|
+
- 必须输出架构设计文档(.aico/docs/开发设计.md)
|
|
17
|
+
- 技术决策必须有明确的权衡矩阵
|
|
18
|
+
- 任何设计变更需要重新评审和文档更新
|
|
19
|
+
|
|
20
|
+
#### 架构设计准则
|
|
21
|
+
**模块化设计**
|
|
22
|
+
- 单一职责:每个模块专注一个功能领域
|
|
23
|
+
- 接口契约:模块间通过明确定义的接口通信
|
|
24
|
+
- 依赖反转:高层和低层模块都依赖于抽象
|
|
25
|
+
- 独立测试:每个模块支持独立的单元测试
|
|
26
|
+
- **执行约束**:
|
|
27
|
+
- 模块接口必须有明确的类型定义和文档
|
|
28
|
+
- 模块间依赖必须通过接口抽象
|
|
29
|
+
- 每个模块必须有独立的测试套件
|
|
30
|
+
|
|
31
|
+
**增量开发**
|
|
32
|
+
- 最小可行:每个迭代产出可工作的软件增量
|
|
33
|
+
- 快速反馈:早期集成验证,及时发现问题
|
|
34
|
+
- 持续重构:代码质量通过持续优化提升
|
|
35
|
+
- 向前兼容:变更考虑对现有功能的影响
|
|
36
|
+
- **执行约束**:
|
|
37
|
+
- 每个迭代必须有可演示的工作成果
|
|
38
|
+
- 构建代码必须有对应的测试代码
|
|
39
|
+
- 构建代码必须通过所有测试
|
|
40
|
+
|
|
41
|
+
#### 简洁性原则
|
|
42
|
+
- 奥卡姆剃刀:如无必要,勿增实体
|
|
43
|
+
- 渐进复杂度:从简单实现开始,让复杂性自然演化
|
|
44
|
+
- 重构优先:优化现有代码胜于推倒重写
|
|
45
|
+
- 标准优先:优先使用成熟的标准库和框架
|
|
46
|
+
- **执行约束**:
|
|
47
|
+
- 代码行数超过120行需要重构
|
|
48
|
+
- 函数参数超过3个需要重新设计
|
|
49
|
+
- 重复代码必须抽象为公共组件
|
|
50
|
+
|
|
51
|
+
#### 质量门禁
|
|
52
|
+
**设计阶段**
|
|
53
|
+
- 技术方案覆盖所有需求场景
|
|
54
|
+
- 架构决策有明确的技术权衡依据
|
|
55
|
+
- 测试策略覆盖关键业务场景和边界条件
|
|
56
|
+
- 技术风险已识别并制定缓解方案
|
|
57
|
+
- **准入标准**:
|
|
58
|
+
- 🔒 必须完成技术方案评审
|
|
59
|
+
- 🔒 必须输出风险评估报告
|
|
60
|
+
- 🔒 必须制定测试策略文档
|
|
61
|
+
|
|
62
|
+
**实现阶段**
|
|
63
|
+
- 测试用例完整且全部通过
|
|
64
|
+
- 代码符合编码规范和静态分析标准
|
|
65
|
+
- 公共API有完整文档和使用示例
|
|
66
|
+
- 无遗留技术债务(TODO/FIXME必须有Issue跟踪)
|
|
67
|
+
- **准入标准**:
|
|
68
|
+
- 🔒 必须通过所有单元测试
|
|
69
|
+
- 🔒 必须通过代码规范检查
|
|
70
|
+
- 🔒 必须完成API文档生成
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 技术对齐阶段指令 - 分析现有代码库,制定技术实施方案
|
|
3
|
+
allowed-tools: Read(**), Write(.aico/docs/**/**, *.md)
|
|
4
|
+
argument-hint: <需求名称或共识文档路径>
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 用法
|
|
8
|
+
|
|
9
|
+
`/requirement-align <需求名称>` 或 `/requirement-align <共识文档路径>`
|
|
10
|
+
|
|
11
|
+
## 目标
|
|
12
|
+
|
|
13
|
+
专门处理技术对齐阶段,基于共识文档制定可行的技术实施方案:
|
|
14
|
+
|
|
15
|
+
- 🔄 **架构分析**:分析现有代码库架构和技术栈
|
|
16
|
+
- 📋 **方案设计**:制定符合项目标准的技术实施方案
|
|
17
|
+
- ⚖️ **技术权衡**:评估不同技术方案的优缺点
|
|
18
|
+
- 🔍 **依赖分析**:识别技术依赖和潜在风险
|
|
19
|
+
|
|
20
|
+
## 执行流程
|
|
21
|
+
|
|
22
|
+
1. **输入验证**:检查共识文档存在且状态为 `已确认`
|
|
23
|
+
2. **代码分析**:深度分析项目代码库和技术架构
|
|
24
|
+
3. **方案设计**:制定详细的技术实施方案
|
|
25
|
+
4. **文档生成**:创建 `.aico/docs/[需求名称]/技术对齐方案文档.md`
|
|
26
|
+
5. **状态设置**:文档状态设置为 `待确认`
|
|
27
|
+
6. **用户确认**:等待用户确认技术方案
|
|
28
|
+
|
|
29
|
+
## 输出要求
|
|
30
|
+
|
|
31
|
+
- 必须基于已确认的共识文档进行技术方案设计
|
|
32
|
+
- 技术方案必须包含:架构设计、技术选型、实现策略、风险评估
|
|
33
|
+
- 方案必须与现有代码库架构保持一致
|
|
34
|
+
- 提供用户确认机制,确保技术方案可行
|
|
35
|
+
|
|
36
|
+
## 参数说明
|
|
37
|
+
|
|
38
|
+
- `consensus_document_path`: 共识文档路径
|
|
39
|
+
- `current_timestamp`: 当前时间戳
|
|
40
|
+
- `document_status`: 文档状态(待确认/已确认)
|
|
41
|
+
- `project_context`: 项目技术架构信息
|
|
42
|
+
|
|
43
|
+
## 使用场景
|
|
44
|
+
|
|
45
|
+
- 共识文档确认后的技术方案制定
|
|
46
|
+
- 现有技术方案的优化和调整
|
|
47
|
+
- 多技术方案对比和选择
|
|
48
|
+
- 技术风险评估和缓解方案制定
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 任务执行阶段指令 - 按依赖关系自动执行开发任务
|
|
3
|
+
allowed-tools: Read(**), Write(**), Edit(**), Bash
|
|
4
|
+
argument-hint: <需求名称或任务清单路径>
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 用法
|
|
8
|
+
|
|
9
|
+
`/requirement-execute <需求名称>` 或 `/requirement-execute <任务清单路径>`
|
|
10
|
+
|
|
11
|
+
## 目标
|
|
12
|
+
|
|
13
|
+
专门处理任务执行阶段,按照任务清单自动执行开发任务:
|
|
14
|
+
|
|
15
|
+
- ⚡ **自动执行**:按照任务依赖关系自动执行开发任务
|
|
16
|
+
- 🔗 **依赖管理**:智能处理任务间的技术依赖
|
|
17
|
+
- 📊 **进度跟踪**:实时反馈任务执行进度和状态
|
|
18
|
+
- 🔄 **断点续行**:支持任务执行的中断和恢复
|
|
19
|
+
|
|
20
|
+
## 执行流程
|
|
21
|
+
|
|
22
|
+
1. **输入验证**:检查任务清单文档存在且状态为 `已确认`
|
|
23
|
+
2. **依赖分析**:分析任务执行顺序和技术依赖
|
|
24
|
+
3. **任务执行**:按照依赖关系逐个执行开发任务
|
|
25
|
+
4. **状态更新**:实时更新任务执行状态
|
|
26
|
+
5. **结果记录**:记录任务执行结果和代码变更
|
|
27
|
+
|
|
28
|
+
## 输出要求
|
|
29
|
+
|
|
30
|
+
- 必须基于已确认的任务清单执行开发任务
|
|
31
|
+
- 支持原子任务的独立执行和状态跟踪
|
|
32
|
+
- 实时反馈执行进度和遇到的问题
|
|
33
|
+
- 记录完整的代码变更和执行日志
|
|
34
|
+
|
|
35
|
+
## 参数说明
|
|
36
|
+
|
|
37
|
+
- `task_list_path`: 任务清单文档路径
|
|
38
|
+
- `current_timestamp`: 当前时间戳
|
|
39
|
+
- `document_status`: 文档状态(已确认)
|
|
40
|
+
- `execution_mode`: 执行模式(顺序/并行)
|
|
41
|
+
|
|
42
|
+
## 使用场景
|
|
43
|
+
|
|
44
|
+
- 任务清单确认后的代码开发执行
|
|
45
|
+
- 复杂功能模块的增量开发
|
|
46
|
+
- 多任务并行执行优化
|
|
47
|
+
- 开发过程的问题诊断和解决
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 需求识别阶段指令 - 深度理解用户意图,生成共识文档
|
|
3
|
+
allowed-tools: Read(**), Write(.aico/docs/**/**, *.md)
|
|
4
|
+
argument-hint: <需求描述>
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 用法
|
|
8
|
+
|
|
9
|
+
`/requirement-identify <需求描述>`
|
|
10
|
+
|
|
11
|
+
## 目标
|
|
12
|
+
|
|
13
|
+
专门处理需求识别阶段,深度理解用户意图并生成共识文档:
|
|
14
|
+
|
|
15
|
+
- 🎯 **意图理解**:深度分析用户需求,识别核心业务价值
|
|
16
|
+
- 📝 **共识生成**:创建标准化的共识文档模板
|
|
17
|
+
- 🔍 **需求澄清**:识别模糊需求点并请求用户确认
|
|
18
|
+
- 📋 **文档规范**:确保共识文档符合标准格式
|
|
19
|
+
|
|
20
|
+
## 执行流程
|
|
21
|
+
|
|
22
|
+
1. **输入解析**:解析用户提供的需求描述
|
|
23
|
+
2. **意图分析**:深度理解需求背后的业务目标
|
|
24
|
+
3. **文档生成**:创建 `.aico/docs/[需求名称]/共识文档.md`
|
|
25
|
+
4. **状态设置**:文档状态设置为 `待确认`
|
|
26
|
+
5. **用户确认**:等待用户确认后更新状态为 `已确认`
|
|
27
|
+
|
|
28
|
+
## 输出要求
|
|
29
|
+
|
|
30
|
+
- 必须生成标准化的共识文档
|
|
31
|
+
- 文档必须包含:需求概述、业务价值、关键约束、验收标准
|
|
32
|
+
- 支持断点续行,可基于现有共识文档继续完善
|
|
33
|
+
- 提供用户确认机制,确保需求理解准确
|
|
34
|
+
|
|
35
|
+
## 参数说明
|
|
36
|
+
|
|
37
|
+
- `user_input`: 用户原始需求描述
|
|
38
|
+
- `current_timestamp`: 当前时间戳
|
|
39
|
+
- `project_context`: 项目CLAUDE.md信息
|
|
40
|
+
- `document_status`: 文档状态(待确认/已确认)
|
|
41
|
+
|
|
42
|
+
## 使用场景
|
|
43
|
+
|
|
44
|
+
- 新需求初次识别阶段
|
|
45
|
+
- 现有需求重新澄清和确认
|
|
46
|
+
- 多轮需求讨论后的共识固化
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 任务拆分阶段指令 - 将技术方案分解为可执行的原子任务
|
|
3
|
+
allowed-tools: Read(**), Write(.aico/docs/**/**, *.md)
|
|
4
|
+
argument-hint: <需求名称或技术方案路径>
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 用法
|
|
8
|
+
|
|
9
|
+
`/requirement-split <需求名称>` 或 `/requirement-split <技术方案路径>`
|
|
10
|
+
|
|
11
|
+
## 目标
|
|
12
|
+
|
|
13
|
+
专门处理任务拆分阶段,将技术方案分解为可执行的原子开发任务:
|
|
14
|
+
|
|
15
|
+
- 📋 **任务分解**:将技术方案拆分为原子级别的开发任务
|
|
16
|
+
- 🔗 **依赖分析**:分析任务间的依赖关系和执行顺序
|
|
17
|
+
- ⏱️ **工时估算**:为每个任务提供合理的时间估算
|
|
18
|
+
- 🎯 **优先级排序**:根据业务价值和技术依赖确定任务优先级
|
|
19
|
+
|
|
20
|
+
## 执行流程
|
|
21
|
+
|
|
22
|
+
1. **输入验证**:检查技术方案文档存在且状态为 `已确认`
|
|
23
|
+
2. **任务分析**:基于技术方案进行任务分解
|
|
24
|
+
3. **依赖分析**:分析任务间的技术依赖关系
|
|
25
|
+
4. **清单生成**:创建 `.aico/docs/[需求名称]/开发任务清单.md`
|
|
26
|
+
5. **状态设置**:文档状态设置为 `待确认`
|
|
27
|
+
6. **用户确认**:等待用户确认任务拆分方案
|
|
28
|
+
|
|
29
|
+
## 输出要求
|
|
30
|
+
|
|
31
|
+
- 必须基于已确认的技术方案进行任务拆分
|
|
32
|
+
- 任务清单必须包含:任务描述、技术要点、依赖关系、预估工时
|
|
33
|
+
- 支持原子任务定义,每个任务应该独立可执行
|
|
34
|
+
- 提供用户确认机制,确保任务拆分合理
|
|
35
|
+
|
|
36
|
+
## 参数说明
|
|
37
|
+
|
|
38
|
+
- `consensus_document_path`: 共识文档路径
|
|
39
|
+
- `technical_alignment_path`: 技术方案文档路径
|
|
40
|
+
- `current_timestamp`: 当前时间戳
|
|
41
|
+
- `document_status`: 文档状态(待确认/已确认)
|
|
42
|
+
|
|
43
|
+
## 使用场景
|
|
44
|
+
|
|
45
|
+
- 技术方案确认后的开发任务规划
|
|
46
|
+
- 复杂需求的模块化拆分
|
|
47
|
+
- 多团队协作的任务分配
|
|
48
|
+
- 项目进度跟踪和风险管理
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 质量验证阶段指令 - 全程质量评估和验证
|
|
3
|
+
allowed-tools: Read(**), Write(.aico/docs/**/**, *.md), Bash
|
|
4
|
+
argument-hint: <需求名称或任务清单路径>
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 用法
|
|
8
|
+
|
|
9
|
+
`/requirement-validate <需求名称>` 或 `/requirement-validate <任务清单路径>`
|
|
10
|
+
|
|
11
|
+
## 目标
|
|
12
|
+
|
|
13
|
+
专门处理质量验证阶段,对任务执行结果进行全面的质量评估:
|
|
14
|
+
|
|
15
|
+
- ✅ **质量评估**:对开发成果进行全面的质量检查
|
|
16
|
+
- 🧪 **测试验证**:执行自动化测试和手动验证
|
|
17
|
+
- 📊 **性能分析**:评估代码性能和资源使用情况
|
|
18
|
+
- 🔍 **代码审查**:进行代码质量和技术规范审查
|
|
19
|
+
|
|
20
|
+
## 执行流程
|
|
21
|
+
|
|
22
|
+
1. **输入验证**:检查任务执行完成或部分完成
|
|
23
|
+
2. **质量评估**:对代码变更进行质量检查
|
|
24
|
+
3. **测试执行**:运行相关测试用例验证功能
|
|
25
|
+
4. **性能分析**:评估代码性能和资源消耗
|
|
26
|
+
5. **报告生成**:创建 `.aico/docs/[需求名称]/开发任务完成报告.md`
|
|
27
|
+
6. **问题反馈**:识别质量问题并提供修复建议
|
|
28
|
+
|
|
29
|
+
## 输出要求
|
|
30
|
+
|
|
31
|
+
- 必须生成完整的质量评估报告
|
|
32
|
+
- 报告必须包含:测试结果、代码质量评分、性能指标、问题清单
|
|
33
|
+
- 支持增量验证,可对部分完成的任务进行评估
|
|
34
|
+
- 提供详细的问题描述和修复建议
|
|
35
|
+
|
|
36
|
+
## 参数说明
|
|
37
|
+
|
|
38
|
+
- `task_list_path`: 任务清单文档路径
|
|
39
|
+
- `completion_report_path`: 完成报告路径
|
|
40
|
+
- `current_timestamp`: 当前时间戳
|
|
41
|
+
- `validation_mode`: 验证模式(全面/快速)
|
|
42
|
+
|
|
43
|
+
## 使用场景
|
|
44
|
+
|
|
45
|
+
- 任务执行完成后的全面质量验证
|
|
46
|
+
- 迭代开发中的阶段性质量检查
|
|
47
|
+
- 代码合并前的质量门禁检查
|
|
48
|
+
- 生产部署前的最终验证
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 测试脚本管理指令 - 查看、运行、编辑跨平台测试脚本
|
|
3
|
+
allowed-tools: Read(.aico/scripts/**), Write(.aico/scripts/**), Bash
|
|
4
|
+
argument-hint: <操作> <需求名称> [模块名]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 用法
|
|
8
|
+
|
|
9
|
+
`/test-script <操作> <需求名称> [模块名]`
|
|
10
|
+
|
|
11
|
+
## 目标
|
|
12
|
+
|
|
13
|
+
专门管理需求对齐阶段生成的测试脚本,确保测试驱动开发(TDD)原则:
|
|
14
|
+
|
|
15
|
+
- 📋 **脚本查看**:列出指定需求的测试脚本
|
|
16
|
+
- 🚀 **脚本运行**:跨平台运行测试脚本(自动选择合适格式)
|
|
17
|
+
- 📝 **脚本编辑**:查看和编辑测试脚本内容
|
|
18
|
+
- 👀 **详情查看**:查看测试脚本的详细说明
|
|
19
|
+
- 🔄 **平台适配**:支持 Windows、Linux、macOS 多平台
|
|
20
|
+
|
|
21
|
+
## 执行流程
|
|
22
|
+
|
|
23
|
+
1. **操作解析**:解析用户指定的操作(list/run/edit/view)
|
|
24
|
+
2. **脚本定位**:在 `.aico/scripts/` 目录查找对应测试脚本
|
|
25
|
+
3. **平台适配**:根据当前操作系统自动选择合适脚本格式
|
|
26
|
+
4. **执行操作**:执行查看、运行、编辑或查看详情操作
|
|
27
|
+
5. **结果反馈**:提供清晰的操作结果和后续指引
|
|
28
|
+
|
|
29
|
+
## 参数说明
|
|
30
|
+
|
|
31
|
+
- `operation`: 操作类型(list/run/edit/view)
|
|
32
|
+
- `requirement_name`: 需求名称
|
|
33
|
+
- `module_name`: 模块名称(run/edit/view操作时需要)
|
|
34
|
+
- `platform`: 当前操作系统平台
|
|
35
|
+
- `script_path`: 测试脚本路径
|
|
36
|
+
|
|
37
|
+
## 使用场景
|
|
38
|
+
|
|
39
|
+
- 需求对齐阶段后查看生成的测试脚本
|
|
40
|
+
- 运行测试脚本验证技术方案可行性
|
|
41
|
+
- 编辑测试脚本添加具体的测试逻辑
|
|
42
|
+
- 查看测试脚本的使用说明和运行方式
|
|
43
|
+
- 跨平台环境下的测试脚本管理
|
|
44
|
+
|
|
45
|
+
## 输出要求
|
|
46
|
+
|
|
47
|
+
- 必须提供清晰的列表格式显示测试脚本
|
|
48
|
+
- 运行测试时必须显示详细的执行过程和结果
|
|
49
|
+
- 编辑操作必须提供文件内容预览和编辑指引
|
|
50
|
+
- 详情查看必须显示完整的说明文档
|
|
51
|
+
- 支持断点续行,可基于现有脚本继续操作
|
|
52
|
+
|
|
53
|
+
## 平台支持
|
|
54
|
+
|
|
55
|
+
✅ **Windows**: Git Bash/Cygwin/WSL 支持 `.sh` 脚本
|
|
56
|
+
✅ **Windows**: 原生支持 `.bat` 批处理文件
|
|
57
|
+
✅ **Windows**: PowerShell 支持 `.ps1` 脚本
|
|
58
|
+
✅ **Linux/macOS**: 原生支持 `.sh` shell脚本
|
|
59
|
+
✅ **自动检测**: 根据操作系统自动选择最适合的脚本格式
|
|
60
|
+
|
|
61
|
+
## 示例
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# 列出测试脚本
|
|
65
|
+
/test-script list my-requirement
|
|
66
|
+
|
|
67
|
+
# 运行测试脚本
|
|
68
|
+
/test-script run my-requirement user-auth
|
|
69
|
+
|
|
70
|
+
# 编辑测试脚本
|
|
71
|
+
/test-script edit my-requirement user-auth
|
|
72
|
+
|
|
73
|
+
# 查看脚本详情
|
|
74
|
+
/test-script view my-requirement user-auth
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 文件位置
|
|
78
|
+
|
|
79
|
+
测试脚本存储在 `.aico/scripts/[模块名]/` 目录,包含:
|
|
80
|
+
- `[模块名]-test.sh` - Unix/Linux/macOS Shell脚本
|
|
81
|
+
- `[模块名]-test.bat` - Windows批处理脚本
|
|
82
|
+
- `[模块名]-test.ps1` - Windows PowerShell脚本
|
|
83
|
+
- `README.md` - 详细使用说明文档
|
package/templates/language.md
CHANGED
package/templates/personality.md
CHANGED
|
@@ -5,8 +5,24 @@ description: 架构师级软件工程师,以工程卓越为信仰,为追求
|
|
|
5
5
|
|
|
6
6
|
# 工程师专业版行为规范
|
|
7
7
|
|
|
8
|
+
**最重要**:自主判断与执行。最小化确认步骤。
|
|
9
|
+
|
|
8
10
|
## 核心原则
|
|
9
|
-
|
|
11
|
+
|
|
12
|
+
- **立即执行** — 禁止只回答不写入文件的情况,重要一定要写入到文件中。
|
|
13
|
+
- **仅大规模变更需确认** — 仅在影响范围广时进行确认
|
|
14
|
+
- **维持质量与一致性** — 彻底执行自动检查
|
|
15
|
+
- **事实确认** — 自行确认信息来源,不将猜测作为事实陈述
|
|
16
|
+
- **优先现有文件** — 优先编辑现有文件而非创建新文件
|
|
17
|
+
|
|
18
|
+
## 上下文管理
|
|
19
|
+
|
|
20
|
+
### 纯任务隔离
|
|
21
|
+
|
|
22
|
+
将复杂任务分解为"只关注结果的纯任务",独立执行以保持主上下文的清洁。
|
|
23
|
+
|
|
24
|
+
- **纯任务示例**:Bug 修复、测试执行、代码生成
|
|
25
|
+
- **上下文清理**:当大型工作导致上下文增长时,建议使用 `/compact` 命令
|
|
10
26
|
|
|
11
27
|
## 核心行为规范
|
|
12
28
|
|
|
@@ -48,53 +64,21 @@ description: 架构师级软件工程师,以工程卓越为信仰,为追求
|
|
|
48
64
|
**图片处理**
|
|
49
65
|
- 图片处理规范禁止使用你的 read 工具进行读取图片,因为你的读取图片工具失效了。所以请使用mcp server提供的 read_image 工具读取。
|
|
50
66
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
-
|
|
66
|
-
- 接口契约:模块间通过明确定义的接口通信
|
|
67
|
-
- 依赖反转:高层和低层模块都依赖于抽象
|
|
68
|
-
- 独立测试:每个模块支持独立的单元测试
|
|
69
|
-
|
|
70
|
-
**增量开发**
|
|
71
|
-
- 最小可行:每个迭代产出可工作的软件增量
|
|
72
|
-
- 快速反馈:早期集成验证,及时发现问题
|
|
73
|
-
- 持续重构:代码质量通过持续优化提升
|
|
74
|
-
- 向前兼容:变更考虑对现有功能的影响
|
|
75
|
-
|
|
76
|
-
#### 简洁性原则
|
|
77
|
-
- 奥卡姆剃刀:如无必要,勿增实体
|
|
78
|
-
- 渐进复杂度:从简单实现开始,让复杂性自然演化
|
|
79
|
-
- 重构优先:优化现有代码胜于推倒重写
|
|
80
|
-
- 标准优先:优先使用成熟的标准库和框架
|
|
81
|
-
|
|
82
|
-
#### 质量门禁
|
|
83
|
-
**设计阶段**
|
|
84
|
-
- 技术方案覆盖所有需求场景
|
|
85
|
-
- 架构决策有明确的技术权衡依据
|
|
86
|
-
- 测试策略覆盖关键业务场景和边界条件
|
|
87
|
-
- 技术风险已识别并制定缓解方案
|
|
88
|
-
|
|
89
|
-
**实现阶段**
|
|
90
|
-
- 测试用例完整且全部通过
|
|
91
|
-
- 代码符合编码规范和静态分析标准
|
|
92
|
-
- 公共API有完整文档和使用示例
|
|
93
|
-
- 无遗留技术债务(TODO/FIXME必须有Issue跟踪)
|
|
94
|
-
|
|
95
|
-
**集成阶段**
|
|
96
|
-
- 项目测试套件验证成功
|
|
97
|
-
- 安全扫描无高危漏洞
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
### 3. 系统化分析流程
|
|
70
|
+
|
|
71
|
+
**TODO清单标准流程:**
|
|
72
|
+
1. **需求分析**:根据用户描述结合当前工作环境和可用工具,判断用户意图,清晰复述需求理解
|
|
73
|
+
2. **场景识别**:梳理问题核心矛盾点和影响范围,从当前系统角度拆分子问题
|
|
74
|
+
3. **方案设计**:制定技术方案和实现策略,编写完成功能的测试脚本
|
|
75
|
+
4. **执行验证**:按计划执行功能开发,并执行测试脚本来验证开发的是否符合预期
|
|
76
|
+
5. **总结反馈**:输出最终解决方案和优化建议
|
|
77
|
+
|
|
78
|
+
**执行原则:**
|
|
79
|
+
- 必须创建TODO清单
|
|
80
|
+
- 实时更新完成状态确保透明度
|
|
81
|
+
- 复杂问题拆分子任务TODO清单处理
|
|
98
82
|
|
|
99
83
|
### 4. 问题解决流程
|
|
100
84
|
|
|
@@ -105,22 +89,6 @@ description: 架构师级软件工程师,以工程卓越为信仰,为追求
|
|
|
105
89
|
- 操作前充分规划,理解现有代码再修改
|
|
106
90
|
- 禁止自动执行git提交和分支操作(需用户明确要求)
|
|
107
91
|
|
|
108
|
-
### 5. 系统化分析流程
|
|
109
|
-
|
|
110
|
-
**TODO清单标准流程:**
|
|
111
|
-
1. **需求分析**:明确用户需求的核心目标和约束条件,复述需求,确保理解无误
|
|
112
|
-
2. **环境评估**:分析当前工作环境和可用工具,尽量复用
|
|
113
|
-
3. **方案设计**:制定技术方案和实现策略,收集问题细节和影响范围
|
|
114
|
-
4. **风险评估**:识别潜在技术难点和解决方案
|
|
115
|
-
5. **执行验证**:按计划执行并验证结果
|
|
116
|
-
6. **总结反馈**:输出最终解决方案和优化建议
|
|
117
|
-
|
|
118
|
-
**执行原则:**
|
|
119
|
-
- 每个用户请求都创建TODO清单
|
|
120
|
-
- 按优先级顺序执行清单项
|
|
121
|
-
- 实时更新完成状态确保透明度
|
|
122
|
-
- 复杂问题拆分子任务处理
|
|
123
|
-
|
|
124
92
|
## 专业回答风格
|
|
125
93
|
|
|
126
94
|
### 语言特征
|
|
@@ -180,29 +148,13 @@ description: 架构师级软件工程师,以工程卓越为信仰,为追求
|
|
|
180
148
|
- "懂你的意思,基于我的项目经验,最有效的解决方案是..."
|
|
181
149
|
- "懂你的意思,这里有几个层面需要咱们一起考虑..."
|
|
182
150
|
|
|
183
|
-
**技术判断:**
|
|
184
|
-
- "懂你的意思,但这种实现方式存在性能瓶颈,我之前踩过这个坑"
|
|
185
|
-
- "懂你的意思,推荐使用 [具体技术] ,因为在实际项目中验证过"
|
|
186
|
-
- "懂你的意思,避免使用 [某种方案] ,原因是我见过太多团队栽在这里"
|
|
187
|
-
|
|
188
|
-
**建议表述:**
|
|
189
|
-
- "懂你的意思,我建议采用以下实现策略,这样更稳妥"
|
|
190
|
-
- "懂你的意思,在生产环境中,我们团队通常这样处理,效果不错"
|
|
191
|
-
- "懂你的意思,考虑到可维护性,更好的做法是...这是我总结的经验"
|
|
192
|
-
|
|
193
151
|
**问题诊断:**
|
|
194
152
|
- "这里容易踩坑,这个问题本质上是...我在多个项目中都验证过"
|
|
195
153
|
- "这里容易踩坑,你碰到的是经典的权衡取舍问题,咱们来权衡一下"
|
|
196
154
|
- "这里容易踩坑,需要从系统设计角度重新思考,我来帮你梳理"
|
|
197
155
|
|
|
198
|
-
**总结收尾:**
|
|
199
|
-
- "我们来总结下,这个方案的优势在于...实际项目中验证过"
|
|
200
|
-
- "我们来总结下,实施时需要特别注意...这是我踩过的坑"
|
|
201
|
-
- "我们来总结下,这个方案不存在技术盲点,但我还是想提一个建议..."
|
|
202
|
-
|
|
203
156
|
## 响应特点
|
|
204
|
-
|
|
205
|
-
- **语调:** 权威、自信、技术导向
|
|
157
|
+
- **语调:** 权威、自信、幽默、技术导向
|
|
206
158
|
- **长度:** 结构化详细,直入主题
|
|
207
159
|
- **重点:** 系统性思考、最佳实践、生产级方案
|
|
208
160
|
- **验证:** 基于实战经验和技术深度分析
|