ccg-workflow 1.7.61 → 1.7.63

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.md CHANGED
@@ -237,4 +237,4 @@ MIT
237
237
 
238
238
  ---
239
239
 
240
- v1.7.60 | [Issues](https://github.com/fengshao1227/ccg-workflow/issues)
240
+ v1.7.63 | [Issues](https://github.com/fengshao1227/ccg-workflow/issues)
package/dist/cli.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import cac from 'cac';
3
3
  import ansis from 'ansis';
4
- import { z as diagnoseMcpConfig, A as isWindows, B as readClaudeCodeConfig, C as fixWindowsMcpConfig, D as writeClaudeCodeConfig, r as readCcgConfig, b as initI18n, s as showMainMenu, i as init, E as configMcp, F as version, a as i18n } from './shared/ccg-workflow.DRQxix1F.mjs';
4
+ import { z as diagnoseMcpConfig, A as isWindows, B as readClaudeCodeConfig, C as fixWindowsMcpConfig, D as writeClaudeCodeConfig, r as readCcgConfig, b as initI18n, s as showMainMenu, i as init, E as configMcp, F as version, a as i18n } from './shared/ccg-workflow.CJlHAzd-.mjs';
5
5
  import 'inquirer';
6
6
  import 'node:child_process';
7
7
  import 'node:util';
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { c as changeLanguage, x as checkForUpdates, y as compareVersions, d as createDefaultConfig, e as createDefaultRouting, g as getCcgDir, f as getConfigPath, t as getCurrentVersion, v as getLatestVersion, j as getWorkflowById, h as getWorkflowConfigs, a as i18n, i as init, b as initI18n, l as installAceTool, m as installAceToolRs, k as installWorkflows, p as migrateToV1_4_0, q as needsMigration, r as readCcgConfig, s as showMainMenu, o as uninstallAceTool, n as uninstallWorkflows, u as update, w as writeCcgConfig } from './shared/ccg-workflow.DRQxix1F.mjs';
1
+ export { c as changeLanguage, x as checkForUpdates, y as compareVersions, d as createDefaultConfig, e as createDefaultRouting, g as getCcgDir, f as getConfigPath, t as getCurrentVersion, v as getLatestVersion, j as getWorkflowById, h as getWorkflowConfigs, a as i18n, i as init, b as initI18n, l as installAceTool, m as installAceToolRs, k as installWorkflows, p as migrateToV1_4_0, q as needsMigration, r as readCcgConfig, s as showMainMenu, o as uninstallAceTool, n as uninstallWorkflows, u as update, w as writeCcgConfig } from './shared/ccg-workflow.CJlHAzd-.mjs';
2
2
  import 'ansis';
3
3
  import 'inquirer';
4
4
  import 'node:child_process';
@@ -10,7 +10,7 @@ import i18next from 'i18next';
10
10
  import ora from 'ora';
11
11
  import { parse, stringify } from 'smol-toml';
12
12
 
13
- const version = "1.7.61";
13
+ const version = "1.7.63";
14
14
 
15
15
  function isWindows() {
16
16
  return process.platform === "win32";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccg-workflow",
3
- "version": "1.7.61",
3
+ "version": "1.7.63",
4
4
  "description": "Claude-Codex-Gemini 多模型协作系统 - 智能路由多模型开发工作流",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.17.1",
@@ -49,7 +49,7 @@ EOF",
49
49
  ```
50
50
 
51
51
  **模型参数说明**:
52
- - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
52
+ - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3.1-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
53
53
 
54
54
  **角色提示词**:
55
55
 
@@ -44,7 +44,7 @@ EOF
44
44
 
45
45
  **Gemini 前端诊断**:
46
46
  ```bash
47
- ~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3-pro-preview - "$(pwd)" <<'EOF'
47
+ ~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3.1-pro-preview - "$(pwd)" <<'EOF'
48
48
  ROLE_FILE: ~/.claude/.ccg/prompts/gemini/debugger.md
49
49
  <TASK>
50
50
  需求:<增强后的需求>
@@ -86,7 +86,7 @@ EOF",
86
86
  ```
87
87
 
88
88
  **模型参数说明**:
89
- - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
89
+ - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3.1-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
90
90
 
91
91
  **角色提示词**:
92
92
 
@@ -51,7 +51,7 @@ EOF",
51
51
  ```
52
52
 
53
53
  **模型参数说明**:
54
- - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
54
+ - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3.1-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
55
55
 
56
56
  **角色提示词**:
57
57
 
@@ -40,7 +40,7 @@ description: '前端专项工作流(研究→构思→计划→执行→优化
40
40
  ```
41
41
  # 新会话调用
42
42
  Bash({
43
- command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend gemini --gemini-model gemini-3-pro-preview - \"{{WORKDIR}}\" <<'EOF'
43
+ command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend gemini --gemini-model gemini-3.1-pro-preview - \"{{WORKDIR}}\" <<'EOF'
44
44
  ROLE_FILE: <角色提示词路径>
45
45
  <TASK>
46
46
  需求:<增强后的需求(如未增强则用 $ARGUMENTS)>
@@ -55,7 +55,7 @@ EOF",
55
55
 
56
56
  # 复用会话调用
57
57
  Bash({
58
- command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend gemini --gemini-model gemini-3-pro-preview resume <SESSION_ID> - \"{{WORKDIR}}\" <<'EOF'
58
+ command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend gemini --gemini-model gemini-3.1-pro-preview resume <SESSION_ID> - \"{{WORKDIR}}\" <<'EOF'
59
59
  ROLE_FILE: <角色提示词路径>
60
60
  <TASK>
61
61
  需求:<增强后的需求(如未增强则用 $ARGUMENTS)>
@@ -54,7 +54,7 @@ EOF",
54
54
  ```
55
55
 
56
56
  **模型参数说明**:
57
- - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
57
+ - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3.1-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
58
58
 
59
59
  **角色提示词**:
60
60
 
@@ -45,7 +45,7 @@ EOF",
45
45
  ```
46
46
 
47
47
  **模型参数说明**:
48
- - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
48
+ - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3.1-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
49
49
 
50
50
  **角色提示词**:
51
51
 
@@ -44,7 +44,7 @@ EOF",
44
44
  ```
45
45
 
46
46
  **模型参数说明**:
47
- - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
47
+ - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3.1-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
48
48
 
49
49
  **角色提示词**:
50
50
 
@@ -37,7 +37,7 @@ description: '按规范执行 + 多模型协作 + 归档'
37
37
 
38
38
  For each task:
39
39
  ```
40
- codeagent-wrapper --backend <codex|gemini> --gemini-model gemini-3-pro-preview - "{{WORKDIR}}" <<'EOF'
40
+ codeagent-wrapper --backend <codex|gemini> --gemini-model gemini-3.1-pro-preview - "{{WORKDIR}}" <<'EOF'
41
41
  TASK: <task description from tasks.md>
42
42
  CONTEXT: <relevant code context>
43
43
  CONSTRAINTS: <constraints from spec>
@@ -83,7 +83,7 @@ description: '按规范执行 + 多模型协作 + 归档'
83
83
  **SECOND Bash call (Gemini) - IN THE SAME MESSAGE**:
84
84
  ```
85
85
  Bash({
86
- command: "~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3-pro-preview - \"{{WORKDIR}}\" <<'EOF'\nReview the implementation changes:\n- Maintainability: readability, complexity\n- Patterns: consistency with project style\n- Integration: cross-module impacts\nOUTPUT: JSON with findings\nEOF",
86
+ command: "~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3.1-pro-preview - \"{{WORKDIR}}\" <<'EOF'\nReview the implementation changes:\n- Maintainability: readability, complexity\n- Patterns: consistency with project style\n- Integration: cross-module impacts\nOUTPUT: JSON with findings\nEOF",
87
87
  run_in_background: true,
88
88
  timeout: 300000,
89
89
  description: "Gemini: maintainability/patterns review"
@@ -109,12 +109,14 @@ description: '按规范执行 + 多模型协作 + 归档'
109
109
 
110
110
  10. **Archive on Completion**
111
111
  - When ALL tasks in `tasks.md` are marked `[x]`:
112
+ - **Verify first (v1.2+)**: Use `/opsx:verify` to validate implementation matches artifacts.
112
113
  - The agent will use OpenSpec skills to archive the change.
113
114
  - This merges spec deltas to `openspec/specs/` and moves change to archive.
114
115
 
115
116
  **Reference**
116
117
  - Check task status: `openspec status --change "<id>" --json`
117
118
  - View active changes: `openspec list --json`
119
+ - Verify before archive (v1.2+): `/opsx:verify`
118
120
  - Search existing patterns: `rg -n "function|class" <file>`
119
121
 
120
122
  **Exit Criteria**
@@ -43,10 +43,14 @@ description: '初始化 OpenSpec (OPSX) 环境 + 验证多模型 MCP 工具'
43
43
  ```bash
44
44
  ls -la openspec/ .claude/skills/openspec-* 2>/dev/null || echo "Not initialized"
45
45
  ```
46
- - If not initialized, run:
46
+ - If not initialized, run interactive setup (v1.2+ auto-detects AI tools):
47
47
  ```bash
48
- npx @fission-ai/openspec init --tools claude
48
+ npx @fission-ai/openspec init
49
49
  ```
50
+ - **Profile Selection** (v1.2+):
51
+ - `core` profile (default): 4 essential workflows (`propose`, `explore`, `apply`, `archive`)
52
+ - `custom` profile: Pick any subset of workflows
53
+ - To change profile later: `openspec config profile`
50
54
  - Verify initialization:
51
55
  - Check `openspec/` directory exists
52
56
  - Check `.claude/skills/` contains `openspec-*` skills
@@ -62,7 +66,7 @@ description: '初始化 OpenSpec (OPSX) 环境 + 验证多模型 MCP 工具'
62
66
  ```
63
67
  - Test Gemini backend:
64
68
  ```bash
65
- ~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3-pro-preview - "{{WORKDIR}}" <<< "echo test"
69
+ ~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3.1-pro-preview - "{{WORKDIR}}" <<< "echo test"
66
70
  ```
67
71
  - For each unavailable tool, display warning with installation instructions.
68
72
 
@@ -99,7 +103,8 @@ description: '初始化 OpenSpec (OPSX) 环境 + 验证多模型 MCP 工具'
99
103
 
100
104
  **Reference**
101
105
  - OpenSpec (OPSX) CLI: `npx @fission-ai/openspec --help`
102
- - OPSX Commands: `/opsx:new`, `/opsx:continue`, `/opsx:apply`, etc.
106
+ - OPSX Commands (v1.2+): `/opsx:propose` (one-step), `/opsx:explore`, `/opsx:new`, `/opsx:ff`, `/opsx:apply`, `/opsx:verify`, `/opsx:archive`
107
+ - Profile Management: `openspec config profile`
103
108
  - CCG Workflow: `npx ccg-workflow`
104
109
  - Codex/Gemini MCP: Bundled with codeagent-wrapper
105
110
  - Node.js >= 18.x required for OpenSpec
@@ -40,7 +40,7 @@ description: '多模型分析 → 消除歧义 → 零决策可执行计划'
40
40
  **SECOND Bash call (Gemini) - IN THE SAME MESSAGE**:
41
41
  ```
42
42
  Bash({
43
- command: "~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3-pro-preview - \"{{WORKDIR}}\" <<'EOF'\nAnalyze change <change_id> from frontend/integration perspective:\n- Maintainability assessment\n- Scalability considerations\n- Integration conflicts\nOUTPUT: JSON with analysis\nEOF",
43
+ command: "~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3.1-pro-preview - \"{{WORKDIR}}\" <<'EOF'\nAnalyze change <change_id> from frontend/integration perspective:\n- Maintainability assessment\n- Scalability considerations\n- Integration conflicts\nOUTPUT: JSON with analysis\nEOF",
44
44
  run_in_background: true,
45
45
  timeout: 300000,
46
46
  description: "Gemini: frontend analysis"
@@ -88,6 +88,7 @@ description: '多模型分析 → 消除歧义 → 零决策可执行计划'
88
88
  * specs (Requirements + PBT)
89
89
  * design (Technical decisions)
90
90
  * tasks (Zero-decision implementation plan)
91
+ - **Fast-Forward Option (v1.2+)**: Use `/opsx:ff` to generate all planning artifacts at once instead of step-by-step with `/opsx:continue`.
91
92
  - Ensure all resolved constraints and PBT properties are included in the generated artifacts.
92
93
 
93
94
  6. **Context Checkpoint**
@@ -105,6 +106,7 @@ A change is ready for implementation only when:
105
106
  **Reference**
106
107
  - Inspect change: `openspec status --change "<id>" --json`
107
108
  - List changes: `openspec list --json`
109
+ - Fast-forward artifacts (v1.2+): `/opsx:ff` — creates all planning artifacts at once
108
110
  - Search patterns: `rg -n "INVARIANT:|PROPERTY:" openspec/`
109
111
  - Use `AskUserQuestion` for ANY ambiguity—never assume
110
112
  <!-- CCG:SPEC:PLAN:END -->
@@ -27,11 +27,15 @@ description: '需求 → 约束集(并行探索 + OPSX 提案)'
27
27
  ```bash
28
28
  openspec list --json
29
29
  ```
30
- - If change doesn't exist, create it:
31
- ```bash
32
- openspec new change "<brief-descriptive-name>"
33
- ```
34
- - This scaffolds `openspec/changes/<name>/` with proposal.md.
30
+ - **Option A: One-Step Propose (v1.2+ Recommended)**
31
+ - Use `/opsx:propose` to generate complete proposal (design + specs + tasks) in one step.
32
+ - This is faster but less iterative.
33
+ - **Option B: Step-by-Step (More Control)**
34
+ - If change doesn't exist, create it:
35
+ ```bash
36
+ openspec new change "<brief-descriptive-name>"
37
+ ```
38
+ - This scaffolds `openspec/changes/<name>/` with proposal.md.
35
39
  - If change already exists, continue with existing change.
36
40
 
37
41
  2. **Initial Codebase Assessment**
@@ -95,6 +99,8 @@ description: '需求 → 约束集(并行探索 + OPSX 提案)'
95
99
 
96
100
  **Reference**
97
101
  - OPSX CLI: `openspec status --change "<id>" --json`, `openspec list --json`
102
+ - One-step workflow (v1.2+): `/opsx:propose` — generates complete proposal from requirement
103
+ - Step-by-step workflow: `/opsx:new` → `/opsx:continue` or `/opsx:ff`
98
104
  - Check prior research: `ls openspec/changes/*/`
99
105
  - Use `AskUserQuestion` for ANY ambiguity—never assume or guess
100
106
  <!-- CCG:SPEC:RESEARCH:END -->
@@ -11,7 +11,7 @@ description: '双模型交叉审查(独立工具,随时可用)'
11
11
  **Guardrails**
12
12
  - **MANDATORY**: Both Codex AND Gemini must complete review before synthesis.
13
13
  - Review scope is strictly limited to the proposal's changes—no scope creep.
14
- - Refer to `openspec/AGENTS.md` for spec conventions if reviewing OpenSpec proposals.
14
+ - Refer to `openspec/config.yaml` for project conventions when reviewing OpenSpec proposals.
15
15
 
16
16
  **Steps**
17
17
  1. **Select Proposal**
@@ -117,5 +117,6 @@ Review is complete when:
117
117
  - View proposal: `openspec status --change "<id>" --json`
118
118
  - Check spec constraints: `rg -n "CONSTRAINT:|MUST|INVARIANT:" openspec/changes/<id>/specs/`
119
119
  - View implementation diff: `git diff`
120
- - Archive (after passing): `/ccg:spec-impl` Step 10
120
+ - Verify implementation (v1.2+): `/opsx:verify` validates implementation matches artifacts
121
+ - Archive (after passing): `/opsx:archive` or `/ccg:spec-impl` → Step 10
121
122
  <!-- CCG:SPEC:REVIEW:END -->
@@ -58,7 +58,7 @@ EOF",
58
58
  ```
59
59
 
60
60
  **模型参数说明**:
61
- - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
61
+ - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3.1-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
62
62
 
63
63
  **角色提示词**:
64
64
 
@@ -73,7 +73,7 @@ EOF",
73
73
  ```
74
74
 
75
75
  **模型参数说明**:
76
- - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
76
+ - `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3.1-pro-preview `(注意末尾空格);使用 codex 时替换为空字符串
77
77
 
78
78
  **角色提示词**:
79
79