ccjk 13.6.4 → 13.6.7
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/agents.mjs +1 -1
- package/dist/chunks/api-config-selector.mjs +6 -4
- package/dist/chunks/auto-updater.mjs +100 -2
- package/dist/chunks/banner.mjs +0 -16
- package/dist/chunks/ccjk-mcp.mjs +2 -2
- package/dist/chunks/ccr.mjs +6 -4
- package/dist/chunks/check-updates.mjs +28 -17
- package/dist/chunks/claude-code-config-manager.mjs +3 -1
- package/dist/chunks/claude-code-incremental-manager.mjs +46 -20
- package/dist/chunks/claude-config.mjs +52 -2
- package/dist/chunks/claude-wrapper.mjs +1 -1
- package/dist/chunks/cli-hook.mjs +25 -83
- package/dist/chunks/codex-config-switch.mjs +3 -2
- package/dist/chunks/codex-provider-manager.mjs +1 -0
- package/dist/chunks/codex.mjs +3 -359
- package/dist/chunks/config-switch.mjs +23 -10
- package/dist/chunks/config.mjs +1 -1
- package/dist/chunks/config2.mjs +3 -3
- package/dist/chunks/constants.mjs +179 -3
- package/dist/chunks/doctor.mjs +1 -1
- package/dist/chunks/features.mjs +76 -11
- package/dist/chunks/index10.mjs +55 -36
- package/dist/chunks/init.mjs +120 -61
- package/dist/chunks/installer.mjs +80 -19
- package/dist/chunks/mcp-cli.mjs +17 -16
- package/dist/chunks/mcp.mjs +8 -7
- package/dist/chunks/memory-check.mjs +1 -1
- package/dist/chunks/package.mjs +1 -1
- package/dist/chunks/platform.mjs +5 -1
- package/dist/chunks/quick-setup.mjs +13 -11
- package/dist/chunks/research.mjs +1177 -0
- package/dist/chunks/sessions.mjs +1 -1
- package/dist/chunks/smart-defaults.mjs +42 -14
- package/dist/chunks/uninstall.mjs +2 -2
- package/dist/chunks/update.mjs +14 -13
- package/dist/chunks/version-checker.mjs +11 -1
- package/dist/cli.mjs +32 -0
- package/dist/i18n/locales/en/cli.json +0 -4
- package/dist/i18n/locales/en/menu.json +3 -3
- package/dist/i18n/locales/en/notification.json +2 -2
- package/dist/i18n/locales/zh-CN/cli.json +0 -4
- package/dist/i18n/locales/zh-CN/menu.json +3 -3
- package/dist/i18n/locales/zh-CN/notification.json +2 -2
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +8 -174
- package/dist/shared/{ccjk.DvAP4XfP.mjs → ccjk.B4aXNclK.mjs} +2 -2
- package/dist/shared/ccjk.BI-hdI7P.mjs +30 -0
- package/dist/shared/{ccjk.DwSebGy0.mjs → ccjk.BOO14f66.mjs} +1 -1
- package/dist/shared/ccjk.BnsY5WxD.mjs +171 -0
- package/dist/shared/{ccjk.C4m4ypdk.mjs → ccjk.DHaUdzX3.mjs} +4 -3
- package/dist/shared/ccjk.DKXs7Fbm.mjs +361 -0
- package/dist/shared/{ccjk.BP5hsTZQ.mjs → ccjk.Dz0ssUQx.mjs} +1 -1
- package/dist/shared/ccjk.yYQMbHH3.mjs +115 -0
- package/package.json +70 -65
- package/templates/common/workflow/essential/en/feat.md +68 -291
- package/templates/common/workflow/sixStep/en/workflow.md +56 -330
- package/dist/shared/ccjk.CiKtBUW_.mjs +0 -54
|
@@ -1,357 +1,83 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: '
|
|
3
|
-
argument-hint:
|
|
4
|
-
# examples:
|
|
5
|
-
# - /workflow 实现用户认证系统 # 完整六阶段流程
|
|
6
|
-
# - /workflow 添加暗色模式 --quick # 快速模式,简化流程
|
|
7
|
-
# - /workflow 重构支付模块 --skip-research # 跳过研究阶段
|
|
8
|
-
# - /workflow 优化性能 --focus optimize # 聚焦优化阶段
|
|
2
|
+
description: 'Structured six-stage development workflow for research, planning, implementation, optimization, and review'
|
|
3
|
+
argument-hint: <task description> [--skip-research] [--quick] [--focus <stage>]
|
|
9
4
|
---
|
|
10
5
|
|
|
11
|
-
#
|
|
6
|
+
# Structured Development Workflow
|
|
12
7
|
|
|
13
|
-
|
|
8
|
+
Use this workflow when the user wants a broader staged execution loop rather than planning alone.
|
|
14
9
|
|
|
15
|
-
|
|
10
|
+
## Command context
|
|
16
11
|
|
|
17
|
-
|
|
12
|
+
- Workflow bundle: `sixStepsWorkflow`
|
|
13
|
+
- Installed command file: `workflow.md`
|
|
14
|
+
- Claude Code command: `/ccjk:workflow <task description>`
|
|
15
|
+
- Codex command: `/prompts:workflow <task description>`
|
|
18
16
|
|
|
19
|
-
|
|
20
|
-
/workflow <任务描述> [选项]
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### 选项说明
|
|
24
|
-
|
|
25
|
-
| 选项 | 说明 |
|
|
26
|
-
|------|------|
|
|
27
|
-
| `--skip-research` | 跳过研究阶段,直接进入构思 |
|
|
28
|
-
| `--quick` | 快速模式,简化各阶段流程 |
|
|
29
|
-
| `--focus <阶段>` | 聚焦特定阶段(research/ideate/plan/execute/optimize/review) |
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## 快捷指令
|
|
34
|
-
|
|
35
|
-
在工作流执行过程中,可使用以下快捷指令:
|
|
36
|
-
|
|
37
|
-
| 指令 | 说明 |
|
|
38
|
-
|------|------|
|
|
39
|
-
| `!r` 或 `!research` | 切换到研究模式 |
|
|
40
|
-
| `!i` 或 `!ideate` | 切换到构思模式 |
|
|
41
|
-
| `!p` 或 `!plan` | 切换到计划模式 |
|
|
42
|
-
| `!e` 或 `!execute` | 切换到执行模式 |
|
|
43
|
-
| `!o` 或 `!optimize` | 切换到优化模式 |
|
|
44
|
-
| `!v` 或 `!review` | 切换到评审模式 |
|
|
45
|
-
| `!status` | 查看当前进度 |
|
|
46
|
-
| `!next` | 进入下一阶段 |
|
|
47
|
-
| `!back` | 返回上一阶段 |
|
|
48
|
-
| `!save` | 保存当前进度到文件 |
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## 上下文
|
|
53
|
-
|
|
54
|
-
- 要开发的任务:$ARGUMENTS
|
|
55
|
-
- 带质量把关的结构化 6 阶段工作流
|
|
56
|
-
- 面向专业开发者的交互
|
|
57
|
-
- MCP 服务集成以增强功能
|
|
58
|
-
|
|
59
|
-
## 你的角色
|
|
60
|
-
|
|
61
|
-
你是 IDE 的 AI 编程助手,遵循核心工作流(研究 -> 构思 -> 计划 -> 执行 -> 优化 -> 评审)用中文协助用户,面向专业程序员,交互应简洁专业,避免不必要解释。
|
|
62
|
-
|
|
63
|
-
## 工作流总览
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
┌─────────────────────────────────────────────────────────────────┐
|
|
67
|
-
│ 六阶段开发工作流 │
|
|
68
|
-
├─────────────────────────────────────────────────────────────────┤
|
|
69
|
-
│ │
|
|
70
|
-
│ 🔍 研究 ──→ 💡 构思 ──→ 📋 计划 ──→ ⚡ 执行 ──→ 🚀 优化 ──→ ✅ 评审 │
|
|
71
|
-
│ ↑ │ │
|
|
72
|
-
│ └───────────────── 迭代反馈 ─────────────────────────────┘ │
|
|
73
|
-
│ │
|
|
74
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## 沟通守则
|
|
78
|
-
|
|
79
|
-
1. 响应以模式标签 `[模式:X]` 开始,初始为 `[模式:研究]`。
|
|
80
|
-
2. 核心工作流严格按 `研究 -> 构思 -> 计划 -> 执行 -> 优化 -> 评审` 顺序流转,用户可指令跳转。
|
|
81
|
-
3. 每个阶段完成时显示进度指示器。
|
|
82
|
-
4. 关键决策点必须请求用户确认。
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## 核心工作流详解
|
|
87
|
-
|
|
88
|
-
### 🔍 模式 1:研究
|
|
89
|
-
|
|
90
|
-
**目标**: 理解需求并评估完整性
|
|
91
|
-
|
|
92
|
-
**进度指示**: `[█░░░░░] 1/6 研究`
|
|
93
|
-
|
|
94
|
-
**核心动作**:
|
|
95
|
-
- 评估需求完整性(0-10 分)
|
|
96
|
-
- 低于 7 分时主动要求补充关键信息
|
|
97
|
-
- 自动识别项目技术栈和约束
|
|
98
|
-
|
|
99
|
-
**输出**: 需求分析报告 + 完整性评分
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
### 💡 模式 2:构思
|
|
104
|
-
|
|
105
|
-
**目标**: 设计多个可行方案
|
|
106
|
-
|
|
107
|
-
**进度指示**: `[██░░░░] 2/6 构思`
|
|
108
|
-
|
|
109
|
-
**核心动作**:
|
|
110
|
-
- 提供至少 2 种可行方案
|
|
111
|
-
- 每个方案包含:描述、优点、缺点、适用场景
|
|
112
|
-
- 给出推荐方案及理由
|
|
113
|
-
|
|
114
|
-
**输出**: 方案对比表 + 推荐选择
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
### 📋 模式 3:计划
|
|
119
|
-
|
|
120
|
-
**目标**: 细化为可执行步骤
|
|
121
|
-
|
|
122
|
-
**进度指示**: `[███░░░] 3/6 计划`
|
|
123
|
-
|
|
124
|
-
**核心动作**:
|
|
125
|
-
- 将方案分解为原子操作
|
|
126
|
-
- 定义:文件、函数/类、逻辑概要
|
|
127
|
-
- 指定预期结果和验收标准
|
|
128
|
-
- 新库使用 `Context7` 查询文档
|
|
129
|
-
- **不写完整代码**
|
|
130
|
-
|
|
131
|
-
**输出**: 详细执行计划(需用户批准)
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
### ⚡ 模式 4:执行
|
|
136
|
-
|
|
137
|
-
**目标**: 按计划编码实施
|
|
138
|
-
|
|
139
|
-
**进度指示**: `[████░░] 4/6 执行`
|
|
140
|
-
|
|
141
|
-
**核心动作**:
|
|
142
|
-
- 计划存入 `.ccjk/plan/current/任务名.md`
|
|
143
|
-
- **必须用户批准方可执行**
|
|
144
|
-
- 严格按计划编码
|
|
145
|
-
- 关键步骤后请求反馈
|
|
146
|
-
|
|
147
|
-
**输出**: 实现的代码 + 进度报告
|
|
17
|
+
## User request
|
|
148
18
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
### 🚀 模式 5:优化
|
|
19
|
+
$ARGUMENTS
|
|
152
20
|
|
|
153
|
-
|
|
21
|
+
## Workflow stages
|
|
154
22
|
|
|
155
|
-
|
|
23
|
+
1. **Research**
|
|
24
|
+
- understand the request, current codebase constraints, and success criteria
|
|
25
|
+
- identify missing context or important risks
|
|
156
26
|
|
|
157
|
-
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
- 提出具体优化建议(含理由和预期收益)
|
|
161
|
-
- 用户确认后执行优化
|
|
27
|
+
2. **Ideate**
|
|
28
|
+
- generate realistic solution directions
|
|
29
|
+
- compare trade-offs and recommend a path
|
|
162
30
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
31
|
+
3. **Plan**
|
|
32
|
+
- break the chosen direction into concrete implementation steps
|
|
33
|
+
- name affected files, logic areas, and validation steps
|
|
166
34
|
|
|
167
|
-
|
|
35
|
+
4. **Execute**
|
|
36
|
+
- implement the approved plan
|
|
37
|
+
- stay within scope and keep progress visible
|
|
168
38
|
|
|
169
|
-
|
|
39
|
+
5. **Optimize**
|
|
40
|
+
- improve the new implementation where there is clear payoff
|
|
41
|
+
- avoid unrelated cleanup
|
|
170
42
|
|
|
171
|
-
|
|
43
|
+
6. **Review**
|
|
44
|
+
- verify the result against the plan
|
|
45
|
+
- summarize what shipped and what remains unverified
|
|
172
46
|
|
|
173
|
-
|
|
174
|
-
- 对照计划评估执行结果
|
|
175
|
-
- 报告问题与改进建议
|
|
176
|
-
- 归档计划文件到 `.ccjk/plan/history/`
|
|
177
|
-
|
|
178
|
-
**输出**: 完成总结 + 归档确认
|
|
179
|
-
|
|
180
|
-
---
|
|
47
|
+
## How to respond
|
|
181
48
|
|
|
182
|
-
|
|
49
|
+
- Start in the stage that best matches the user request.
|
|
50
|
+
- If the request is underspecified, stay in research until the task is clear enough.
|
|
51
|
+
- If the user already has a clear approach, move quickly into planning and execution.
|
|
52
|
+
- Ask for approval before meaningful implementation when the task requires planning.
|
|
53
|
+
- Keep the workflow grounded in the actual repository and runtime.
|
|
183
54
|
|
|
184
|
-
|
|
55
|
+
## Output shape
|
|
185
56
|
|
|
186
|
-
|
|
187
|
-
- 默认格式:`date +'%Y-%m-%d %H:%M:%S'`
|
|
188
|
-
- 文件名格式:`date +'%Y-%m-%d_%H%M%S'`
|
|
189
|
-
- 可读格式:`date +'%Y-%m-%d %H:%M:%S %Z'`
|
|
190
|
-
- ISO 格式:`date +'%Y-%m-%dT%H:%M:%S%z'`
|
|
191
|
-
|
|
192
|
-
典型应用场景:
|
|
193
|
-
- 更新文档中的时间戳字段
|
|
194
|
-
- 任务计划文档归档时的命名(从 `.ccjk/plan/current/` 移至 `.ccjk/plan/history/` 时)
|
|
195
|
-
- 其他任何需要记录当前时间的场合
|
|
196
|
-
|
|
197
|
-
[主动反馈与 MCP 服务]
|
|
198
|
-
|
|
199
|
-
# 主动反馈规则
|
|
200
|
-
|
|
201
|
-
1. 在任何流程、任务、对话进行时,无论是询问、回复、或完成阶段性任务,皆必须请求用户确认。
|
|
202
|
-
2. 每当收到用户反馈,若反馈内容非空,必须再次请求用户确认,并根据反馈内容调整行为。
|
|
203
|
-
3. 仅当用户明确表示「结束」或「不再需要交互」时, 才可停止请求用户确认,流程才算结束。
|
|
204
|
-
4. 除非收到结束指令,否则所有步骤都必须重复请求用户确认。
|
|
205
|
-
5. 完成任务前,必须请求用户确认,并向用户询问反馈。
|
|
206
|
-
|
|
207
|
-
---
|
|
57
|
+
Structure the response in this form when useful:
|
|
208
58
|
|
|
209
|
-
|
|
59
|
+
```markdown
|
|
60
|
+
# Current stage
|
|
61
|
+
- Research / Ideate / Plan / Execute / Optimize / Review
|
|
210
62
|
|
|
211
|
-
|
|
63
|
+
# Goal
|
|
64
|
+
- What is being solved
|
|
212
65
|
|
|
213
|
-
|
|
66
|
+
# Findings or options
|
|
67
|
+
- Key context, trade-offs, or chosen approach
|
|
214
68
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
#### 需求完整性评分(0-10 分)
|
|
220
|
-
|
|
221
|
-
评分维度:
|
|
222
|
-
|
|
223
|
-
- **目标明确性**(0-3 分):任务目标是否清晰具体,要解决什么问题
|
|
224
|
-
- **预期结果**(0-3 分):成功标准和交付物是否明确定义
|
|
225
|
-
- **边界范围**(0-2 分):任务范围和边界是否清楚
|
|
226
|
-
- **约束条件**(0-2 分):时间、性能、业务限制等是否说明
|
|
227
|
-
|
|
228
|
-
注:技术栈、框架版本等信息将从项目自动识别,不计入评分
|
|
229
|
-
|
|
230
|
-
**评分规则**:
|
|
231
|
-
|
|
232
|
-
- 9-10 分:需求非常完整,可直接进入下一阶段
|
|
233
|
-
- 7-8 分:需求基本完整,建议补充个别细节
|
|
234
|
-
- 5-6 分:需求有明显缺失,必须补充关键信息
|
|
235
|
-
- 0-4 分:需求过于模糊,需要重新描述
|
|
236
|
-
|
|
237
|
-
**当评分低于 7 分时,主动提出补充问题**:
|
|
238
|
-
|
|
239
|
-
- 识别缺失的关键信息维度
|
|
240
|
-
- 针对每个缺失维度提出 1-2 个具体问题
|
|
241
|
-
- 提供示例帮助用户理解需要的信息类型
|
|
242
|
-
- 等待用户补充后重新评分
|
|
243
|
-
|
|
244
|
-
**评分示例**:
|
|
245
|
-
|
|
246
|
-
```
|
|
247
|
-
用户需求:"帮我优化代码"
|
|
248
|
-
评分分析:
|
|
249
|
-
- 目标明确性:0/3分(未说明优化什么代码、解决什么问题)
|
|
250
|
-
- 预期结果:0/3分(未定义优化成功标准、期望达到什么效果)
|
|
251
|
-
- 边界范围:1/2分(只知道是代码优化,但范围不明)
|
|
252
|
-
- 约束条件:0/2分(无性能指标、时间限制说明)
|
|
253
|
-
总分:1/10 - 需要大量补充信息
|
|
69
|
+
# Next steps
|
|
70
|
+
1. Step one
|
|
71
|
+
2. Step two
|
|
72
|
+
3. Step three
|
|
254
73
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
2. 当前存在什么具体问题需要优化?
|
|
258
|
-
3. 期望优化后达到什么效果(如响应时间提升、代码量减少等)?
|
|
259
|
-
4. 有具体的性能指标或时间要求吗?
|
|
74
|
+
# Verification
|
|
75
|
+
- Tests, build, or checks to run
|
|
260
76
|
```
|
|
261
77
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
- 目标类:"您希望实现什么具体功能/效果?" "当前存在什么具体问题?"
|
|
265
|
-
- 结果类:"如何判断任务成功完成?" "期望的输出/效果是什么?"
|
|
266
|
-
- 范围类:"需要处理哪些具体文件/模块?" "不需要包含什么?"
|
|
267
|
-
- 约束类:"时间要求是怎样的?" "有什么业务限制或性能要求?"
|
|
268
|
-
|
|
269
|
-
**自动获取的项目信息**(不需要询问):
|
|
270
|
-
|
|
271
|
-
- 技术栈(从 AGENTS.md、CLAUDE.md、package.json、requirements.txt 等获取)
|
|
272
|
-
- 框架版本(从 AGENTS.md、CLAUDE.md、配置文件获取)
|
|
273
|
-
- 项目结构(从文件系统获取)
|
|
274
|
-
- 现有代码规范(从 AGENTS.md、CLAUDE.md、配置文件和现有代码获取)
|
|
275
|
-
- 开发命令(从 AGENTS.md、CLAUDE.md 获取,如构建、测试、类型检查等)
|
|
276
|
-
|
|
277
|
-
#### 执行步骤
|
|
278
|
-
|
|
279
|
-
- 分析任务需求和约束
|
|
280
|
-
- 进行需求完整性评分(显示具体得分)
|
|
281
|
-
- 识别关键目标和成功标准
|
|
282
|
-
- 收集必要的技术上下文
|
|
283
|
-
- 如需要,使用 MCP 服务获取额外信息
|
|
284
|
-
|
|
285
|
-
### 💡 阶段 2:方案构思
|
|
286
|
-
|
|
287
|
-
[模式:构思] - 设计解决方案:
|
|
288
|
-
|
|
289
|
-
- 生成多个可行的解决方案
|
|
290
|
-
- 评估每种方法的优缺点
|
|
291
|
-
- 提供详细的比较和推荐
|
|
292
|
-
- 考虑技术约束和最佳实践
|
|
293
|
-
- 在继续之前请求用户批准
|
|
294
|
-
|
|
295
|
-
### 📋 阶段 3:详细规划
|
|
296
|
-
|
|
297
|
-
[模式:计划] - 创建执行路线图:
|
|
298
|
-
|
|
299
|
-
- 将解决方案分解为原子的、可执行的步骤
|
|
300
|
-
- 定义文件结构、函数/类和逻辑概述
|
|
301
|
-
- 为每个步骤指定预期结果
|
|
302
|
-
- 如需要,使用 Context7 查询新库
|
|
303
|
-
- 在继续之前请求用户批准
|
|
304
|
-
|
|
305
|
-
### ⚡ 阶段 4:实施
|
|
306
|
-
|
|
307
|
-
[模式:执行] - 代码开发:
|
|
308
|
-
|
|
309
|
-
- 在项目根目录 `.ccjk/plan/current/任务名.md` 中存储执行计划
|
|
310
|
-
- 根据批准的计划实施
|
|
311
|
-
- 遵循开发最佳实践
|
|
312
|
-
- 在导入语句之前添加使用方法(关键规则)
|
|
313
|
-
- 在关键里程碑请求反馈
|
|
314
|
-
|
|
315
|
-
### 🚀 阶段 5:代码优化
|
|
316
|
-
|
|
317
|
-
[模式:优化] - 质量改进:
|
|
318
|
-
|
|
319
|
-
- 自动分析已实现的代码
|
|
320
|
-
- 识别冗余、低效或有问题的代码
|
|
321
|
-
- 提供具体的优化建议
|
|
322
|
-
- 在用户确认后执行改进
|
|
323
|
-
|
|
324
|
-
### ✅ 阶段 6:质量审查
|
|
325
|
-
|
|
326
|
-
[模式:评审] - 最终评估:
|
|
327
|
-
|
|
328
|
-
- 将结果与原始计划进行比较
|
|
329
|
-
- 识别任何剩余的问题或改进
|
|
330
|
-
- 提供完成总结和建议
|
|
331
|
-
- 请求最终用户确认
|
|
332
|
-
- 任务完全结束后,将计划文件从 `.ccjk/plan/current/` 移动到 `.ccjk/plan/history/` 进行归档
|
|
333
|
-
- 归档时重命名为 `[完成时间]任务名.md` 便于追踪,时间格式为 `YYYY-MM-DD_HHMMSS`
|
|
334
|
-
|
|
335
|
-
## 预期输出结构
|
|
336
|
-
|
|
337
|
-
```
|
|
338
|
-
project/ # 项目根目录
|
|
339
|
-
├── .ccjk/
|
|
340
|
-
│ └── plan/
|
|
341
|
-
│ ├── current/ # 当前进行中的任务
|
|
342
|
-
│ │ └── 任务名.md # 执行计划和上下文
|
|
343
|
-
│ └── history/ # 已完成的历史任务
|
|
344
|
-
│ └── [完成时间]任务名.md # 归档的任务记录
|
|
345
|
-
├── src/
|
|
346
|
-
│ ├── components/
|
|
347
|
-
│ ├── services/
|
|
348
|
-
│ ├── utils/
|
|
349
|
-
│ └── types/
|
|
350
|
-
├── tests/
|
|
351
|
-
│ ├── unit/
|
|
352
|
-
│ ├── integration/
|
|
353
|
-
│ └── e2e/
|
|
354
|
-
└── README.md
|
|
355
|
-
```
|
|
78
|
+
## Behavioral guardrails
|
|
356
79
|
|
|
357
|
-
|
|
80
|
+
- Do not overclaim automation.
|
|
81
|
+
- Do not describe capabilities that are not actually wired into the shipped runtime.
|
|
82
|
+
- Prefer concise, implementation-oriented output.
|
|
83
|
+
- Keep recommendations tied to the current project instead of generic process theater.
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { a as detectCodeToolType } from '../chunks/smart-defaults.mjs';
|
|
2
|
-
import { DEFAULT_CODE_TOOL_TYPE } from '../chunks/constants.mjs';
|
|
3
|
-
import { i18n } from '../chunks/index2.mjs';
|
|
4
|
-
import { readZcfConfigAsync } from '../chunks/ccjk-config.mjs';
|
|
5
|
-
|
|
6
|
-
const CODE_TYPE_ABBREVIATIONS = {
|
|
7
|
-
cc: "claude-code",
|
|
8
|
-
cx: "codex"
|
|
9
|
-
};
|
|
10
|
-
async function resolveCodeType(codeTypeParam) {
|
|
11
|
-
if (codeTypeParam) {
|
|
12
|
-
const normalizedParam = codeTypeParam.toLowerCase().trim();
|
|
13
|
-
if (normalizedParam in CODE_TYPE_ABBREVIATIONS) {
|
|
14
|
-
return CODE_TYPE_ABBREVIATIONS[normalizedParam];
|
|
15
|
-
}
|
|
16
|
-
if (isValidCodeType(normalizedParam)) {
|
|
17
|
-
return normalizedParam;
|
|
18
|
-
}
|
|
19
|
-
const validAbbreviations = Object.keys(CODE_TYPE_ABBREVIATIONS);
|
|
20
|
-
const validFullTypes = Object.values(CODE_TYPE_ABBREVIATIONS);
|
|
21
|
-
const validOptions = [...validAbbreviations, ...validFullTypes].join(", ");
|
|
22
|
-
let defaultValue = DEFAULT_CODE_TOOL_TYPE;
|
|
23
|
-
try {
|
|
24
|
-
const config = await readZcfConfigAsync();
|
|
25
|
-
if (config?.codeToolType && isValidCodeType(config.codeToolType)) {
|
|
26
|
-
defaultValue = config.codeToolType;
|
|
27
|
-
}
|
|
28
|
-
} catch {
|
|
29
|
-
}
|
|
30
|
-
throw new Error(
|
|
31
|
-
i18n.t("errors:invalidCodeType", { value: codeTypeParam, validOptions, defaultValue })
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
try {
|
|
35
|
-
const config = await readZcfConfigAsync();
|
|
36
|
-
if (config?.codeToolType && isValidCodeType(config.codeToolType)) {
|
|
37
|
-
return config.codeToolType;
|
|
38
|
-
}
|
|
39
|
-
} catch {
|
|
40
|
-
}
|
|
41
|
-
try {
|
|
42
|
-
const freshDetected = detectCodeToolType();
|
|
43
|
-
if (isValidCodeType(freshDetected)) {
|
|
44
|
-
return freshDetected;
|
|
45
|
-
}
|
|
46
|
-
} catch {
|
|
47
|
-
}
|
|
48
|
-
return DEFAULT_CODE_TOOL_TYPE;
|
|
49
|
-
}
|
|
50
|
-
function isValidCodeType(value) {
|
|
51
|
-
return ["claude-code", "codex"].includes(value);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export { resolveCodeType as r };
|