ccg-workflow 3.0.7 → 3.0.9

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.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 { A as diagnoseMcpConfig, B as isWindows, C as readClaudeCodeConfig, D as fixWindowsMcpConfig, E as writeClaudeCodeConfig, r as readCcgConfig, b as initI18n, a as i18n, s as showMainMenu, i as init, F as configMcp, G as version } from './shared/ccg-workflow.HyaKbgbr.mjs';
4
+ import { A as diagnoseMcpConfig, B as isWindows, C as readClaudeCodeConfig, D as fixWindowsMcpConfig, E as writeClaudeCodeConfig, r as readCcgConfig, b as initI18n, a as i18n, s as showMainMenu, i as init, F as configMcp, G as version } from './shared/ccg-workflow.DF2nGUzy.mjs';
5
5
  import 'inquirer';
6
6
  import 'ora';
7
7
  import 'node:child_process';
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { c as changeLanguage, y as checkForUpdates, z as compareVersions, d as createDefaultConfig, e as createDefaultRouting, g as getCcgDir, f as getConfigPath, v as getCurrentVersion, x as getLatestVersion, j as getWorkflowById, h as getWorkflowConfigs, a as i18n, i as init, b as initI18n, l as installAceTool, m as installAceToolRs, n as installCodexMode, k as installWorkflows, q as migrateToV1_4_0, t as needsMigration, r as readCcgConfig, s as showMainMenu, p as uninstallAceTool, o as uninstallWorkflows, u as update, w as writeCcgConfig } from './shared/ccg-workflow.HyaKbgbr.mjs';
1
+ export { c as changeLanguage, y as checkForUpdates, z as compareVersions, d as createDefaultConfig, e as createDefaultRouting, g as getCcgDir, f as getConfigPath, v as getCurrentVersion, x as getLatestVersion, j as getWorkflowById, h as getWorkflowConfigs, a as i18n, i as init, b as initI18n, l as installAceTool, m as installAceToolRs, n as installCodexMode, k as installWorkflows, q as migrateToV1_4_0, t as needsMigration, r as readCcgConfig, s as showMainMenu, p as uninstallAceTool, o as uninstallWorkflows, u as update, w as writeCcgConfig } from './shared/ccg-workflow.DF2nGUzy.mjs';
2
2
  import 'ansis';
3
3
  import 'inquirer';
4
4
  import 'ora';
@@ -10,7 +10,7 @@ import fs from 'fs-extra';
10
10
  import { parse, stringify } from 'smol-toml';
11
11
  import i18next from 'i18next';
12
12
 
13
- const version = "3.0.7";
13
+ const version = "3.0.9";
14
14
 
15
15
  function cmd(id, order, category, name, nameEn, description, descriptionEn, cmdOverride) {
16
16
  return {
@@ -2202,27 +2202,17 @@ const zhCN = {
2202
2202
  exit: "\u9000\u51FA"
2203
2203
  },
2204
2204
  help: {
2205
- title: "CCG \u547D\u4EE4:",
2206
- hint: "\u66F4\u591A\u4FE1\u606F\u8BF7\u8FD0\u884C: npx ccg --help",
2205
+ title: "CCG \u547D\u4EE4 (v3):",
2206
+ hint: "\u4F7F\u7528 /ccg:go \u63CF\u8FF0\u4EFB\u52A1\uFF0CAI \u81EA\u52A8\u9009\u62E9\u6700\u4F73\u7B56\u7565\u3002\u66F4\u591A\u4FE1\u606F: npx ccg --help",
2207
2207
  sections: {
2208
- devWorkflow: "\u5F00\u53D1\u5DE5\u4F5C\u6D41:",
2208
+ engine: "\u667A\u80FD\u5F15\u64CE:",
2209
2209
  opsx: "OpenSpec \u89C4\u8303\u9A71\u52A8:",
2210
2210
  gitTools: "Git \u5DE5\u5177:",
2211
- projectMgmt: "\u9879\u76EE\u7BA1\u7406:"
2211
+ projectMgmt: "\u9879\u76EE\u7BA1\u7406:",
2212
+ qualityGates: "\u8D28\u91CF\u5173\u5361\uFF08\u81EA\u52A8\u89E6\u53D1\uFF09:"
2212
2213
  },
2213
2214
  descriptions: {
2214
- workflow: "\u5B8C\u65746\u9636\u6BB5\u5F00\u53D1\u5DE5\u4F5C\u6D41",
2215
- plan: "\u591A\u6A21\u578B\u534F\u4F5C\u89C4\u5212\uFF08Phase 1-2\uFF09",
2216
- execute: "\u591A\u6A21\u578B\u534F\u4F5C\u6267\u884C\uFF08Phase 3-5\uFF09",
2217
- dev: "\u5B8C\u6574\u516D\u9636\u6BB5\u5F00\u53D1\u5DE5\u4F5C\u6D41",
2218
- frontend: "\u524D\u7AEF\u4EFB\u52A1 \u2192 Gemini",
2219
- backend: "\u540E\u7AEF\u4EFB\u52A1 \u2192 Codex",
2220
- feat: "\u667A\u80FD\u529F\u80FD\u5F00\u53D1",
2221
- review: "\u53CC\u6A21\u578B\u4EE3\u7801\u5BA1\u67E5",
2222
- analyze: "\u53CC\u6A21\u578B\u6280\u672F\u5206\u6790",
2223
- debug: "\u95EE\u9898\u8BCA\u65AD + \u4FEE\u590D",
2224
- optimize: "\u6027\u80FD\u4F18\u5316",
2225
- test: "\u6D4B\u8BD5\u751F\u6210",
2215
+ go: "\u667A\u80FD\u5165\u53E3 \u2014 \u63CF\u8FF0\u4EFB\u52A1\uFF0C\u81EA\u52A8\u8DEF\u7531\u6700\u4F73\u7B56\u7565",
2226
2216
  specInit: "\u521D\u59CB\u5316 OpenSpec \u73AF\u5883",
2227
2217
  specResearch: "\u9700\u6C42\u7814\u7A76 \u2192 \u7EA6\u675F\u96C6",
2228
2218
  specPlan: "\u591A\u6A21\u578B\u5206\u6790 \u2192 \u96F6\u51B3\u7B56\u8BA1\u5212",
@@ -2232,7 +2222,12 @@ const zhCN = {
2232
2222
  rollback: "Git \u4EA4\u4E92\u5F0F\u56DE\u6EDA",
2233
2223
  cleanBranches: "\u6E05\u7406\u5DF2\u5408\u5E76\u5206\u652F",
2234
2224
  worktree: "Git Worktree \u7BA1\u7406",
2235
- init: "\u521D\u59CB\u5316\u9879\u76EE CLAUDE.md"
2225
+ init: "\u521D\u59CB\u5316\u9879\u76EE CLAUDE.md",
2226
+ context: "\u9879\u76EE\u4E0A\u4E0B\u6587\u7BA1\u7406\uFF08\u65E5\u5FD7/\u538B\u7F29/\u5F52\u6863\uFF09",
2227
+ verifySecurity: "\u5B89\u5168\u6F0F\u6D1E\u626B\u63CF",
2228
+ verifyQuality: "\u4EE3\u7801\u8D28\u91CF\u68C0\u6D4B",
2229
+ verifyChange: "\u53D8\u66F4\u5F71\u54CD\u5206\u6790",
2230
+ verifyModule: "\u6A21\u5757\u5B8C\u6574\u6027\u6821\u9A8C"
2236
2231
  }
2237
2232
  },
2238
2233
  api: {
@@ -2698,27 +2693,17 @@ const en = {
2698
2693
  exit: "Exit"
2699
2694
  },
2700
2695
  help: {
2701
- title: "CCG Commands:",
2702
- hint: "For more information, run: npx ccg --help",
2696
+ title: "CCG Commands (v3):",
2697
+ hint: "Use /ccg:go to describe your task, AI auto-routes to the best strategy. More info: npx ccg --help",
2703
2698
  sections: {
2704
- devWorkflow: "Development Workflow:",
2699
+ engine: "Smart Engine:",
2705
2700
  opsx: "OpenSpec Spec-Driven:",
2706
2701
  gitTools: "Git Tools:",
2707
- projectMgmt: "Project Management:"
2702
+ projectMgmt: "Project Management:",
2703
+ qualityGates: "Quality Gates (auto-triggered):"
2708
2704
  },
2709
2705
  descriptions: {
2710
- workflow: "Full 6-phase development workflow",
2711
- plan: "Multi-model planning (Phase 1-2)",
2712
- execute: "Multi-model execution (Phase 3-5)",
2713
- dev: "Complete 6-phase development workflow",
2714
- frontend: "Frontend tasks \u2192 Gemini",
2715
- backend: "Backend tasks \u2192 Codex",
2716
- feat: "Smart feature development",
2717
- review: "Dual-model code review",
2718
- analyze: "Dual-model technical analysis",
2719
- debug: "Diagnosis + fix",
2720
- optimize: "Performance optimization",
2721
- test: "Test generation",
2706
+ go: "Smart entry \u2014 describe task, auto-route to best strategy",
2722
2707
  specInit: "Initialize OpenSpec environment",
2723
2708
  specResearch: "Requirements \u2192 Constraint set",
2724
2709
  specPlan: "Multi-model analysis \u2192 Zero-decision plan",
@@ -2728,7 +2713,12 @@ const en = {
2728
2713
  rollback: "Git interactive rollback",
2729
2714
  cleanBranches: "Clean merged branches",
2730
2715
  worktree: "Git Worktree management",
2731
- init: "Initialize project CLAUDE.md"
2716
+ init: "Initialize project CLAUDE.md",
2717
+ context: "Project context management (log/compress/archive)",
2718
+ verifySecurity: "Security vulnerability scan",
2719
+ verifyQuality: "Code quality check",
2720
+ verifyChange: "Change impact analysis",
2721
+ verifyModule: "Module completeness check"
2732
2722
  }
2733
2723
  },
2734
2724
  api: {
@@ -4491,31 +4481,15 @@ async function showMainMenu() {
4491
4481
  }
4492
4482
  function showHelp() {
4493
4483
  const config = readCcgConfigSync();
4494
- const isZh = (config?.general?.language || "zh-CN") === "zh-CN";
4484
+ (config?.general?.language || "zh-CN") === "zh-CN";
4495
4485
  console.log();
4496
4486
  console.log(ansis.cyan.bold(` ${i18n.t("menu:help.title")}`));
4497
4487
  console.log();
4498
4488
  const col1 = 22;
4499
4489
  const section = (title) => console.log(ansis.yellow.bold(` ${title}`));
4500
4490
  const cmd = (name, desc) => console.log(` ${ansis.green(name.padEnd(col1))} ${ansis.gray(desc)}`);
4501
- section(i18n.t("menu:help.sections.devWorkflow"));
4502
- cmd("/ccg:workflow", i18n.t("menu:help.descriptions.workflow"));
4503
- cmd("/ccg:plan", i18n.t("menu:help.descriptions.plan"));
4504
- cmd("/ccg:execute", i18n.t("menu:help.descriptions.execute"));
4505
- cmd("/ccg:frontend", i18n.t("menu:help.descriptions.frontend"));
4506
- cmd("/ccg:backend", i18n.t("menu:help.descriptions.backend"));
4507
- cmd("/ccg:feat", i18n.t("menu:help.descriptions.feat"));
4508
- cmd("/ccg:analyze", i18n.t("menu:help.descriptions.analyze"));
4509
- cmd("/ccg:debug", i18n.t("menu:help.descriptions.debug"));
4510
- cmd("/ccg:optimize", i18n.t("menu:help.descriptions.optimize"));
4511
- cmd("/ccg:test", i18n.t("menu:help.descriptions.test"));
4512
- cmd("/ccg:review", i18n.t("menu:help.descriptions.review"));
4513
- console.log();
4514
- section(isZh ? "Agent Teams \u5E76\u884C\u5B9E\u65BD:" : "Agent Teams Parallel:");
4515
- cmd("/ccg:team-research", isZh ? "\u9700\u6C42 \u2192 \u7EA6\u675F\u96C6" : "Requirements \u2192 Constraints");
4516
- cmd("/ccg:team-plan", isZh ? "\u7EA6\u675F \u2192 \u5E76\u884C\u8BA1\u5212" : "Constraints \u2192 Parallel plan");
4517
- cmd("/ccg:team-exec", isZh ? "\u5E76\u884C\u5B9E\u65BD" : "Parallel execution");
4518
- cmd("/ccg:team-review", isZh ? "\u53CC\u6A21\u578B\u5BA1\u67E5" : "Dual-model review");
4491
+ section(i18n.t("menu:help.sections.engine"));
4492
+ cmd("/ccg:go", i18n.t("menu:help.descriptions.go"));
4519
4493
  console.log();
4520
4494
  section(i18n.t("menu:help.sections.opsx"));
4521
4495
  cmd("/ccg:spec-init", i18n.t("menu:help.descriptions.specInit"));
@@ -4532,7 +4506,13 @@ function showHelp() {
4532
4506
  console.log();
4533
4507
  section(i18n.t("menu:help.sections.projectMgmt"));
4534
4508
  cmd("/ccg:init", i18n.t("menu:help.descriptions.init"));
4535
- cmd("/ccg:enhance", isZh ? "Prompt \u589E\u5F3A" : "Prompt enhancement");
4509
+ cmd("/ccg:context", i18n.t("menu:help.descriptions.context"));
4510
+ console.log();
4511
+ section(i18n.t("menu:help.sections.qualityGates"));
4512
+ cmd("/ccg:verify-security", i18n.t("menu:help.descriptions.verifySecurity"));
4513
+ cmd("/ccg:verify-quality", i18n.t("menu:help.descriptions.verifyQuality"));
4514
+ cmd("/ccg:verify-change", i18n.t("menu:help.descriptions.verifyChange"));
4515
+ cmd("/ccg:verify-module", i18n.t("menu:help.descriptions.verifyModule"));
4536
4516
  console.log();
4537
4517
  console.log(ansis.gray(` ${i18n.t("menu:help.hint")}`));
4538
4518
  console.log();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccg-workflow",
3
- "version": "3.0.7",
3
+ "version": "3.0.9",
4
4
  "description": "Claude + Codex + Gemini multi-model collaboration system - smart routing development workflow",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.17.1",
@@ -1,17 +1,37 @@
1
1
  # CCG Implementation Sub-Agent
2
2
 
3
3
  name = "ccg-implement"
4
- description = "Implementation worker writes code for assigned files following the plan"
4
+ description = "Workspace-write CCG implementer that follows specs and plan."
5
+ sandbox_mode = "workspace-write"
6
+
5
7
  developer_instructions = """
6
- You are a CCG implementation worker. You have been dispatched by the lead agent.
8
+ You are running as the `ccg-implement` sub-agent. The main session has dispatched you to do the work.
9
+
10
+ CRITICAL — Recursion guard (read first):
11
+ - You MUST NOT spawn another sub-agent. Do the implementation work directly in this turn.
12
+ - Any guidance in AGENTS.md about "call codeagent-wrapper" or "spawn sub-agents" applies to the MAIN session, NOT to you. You are already the dispatched implementer.
13
+ - Only the main session is allowed to call external models or spawn agents.
14
+
15
+ ## Context Loading
16
+
17
+ 1. Read the dispatch message — it contains your file scope and implementation steps.
18
+ 2. If .ccg/spec/ exists, read relevant spec files before writing code.
19
+ 3. If a plan.md path is mentioned, read it for full context.
7
20
 
8
21
  ## Rules
9
- 1. You ONLY modify files assigned to you in the dispatch message
10
- 2. Read .ccg/spec/ conventions before writing (if exists)
11
- 3. Follow the plan exactly no scope expansion
12
- 4. Run validation commands after changes if specified
13
- 5. Report: files changed, tests status, any blockers
14
-
15
- ## You are NOT the lead agent
16
- Do NOT spawn subagents. Do NOT call codeagent-wrapper. Just write the code assigned to you.
22
+ 1. You ONLY modify files assigned to you in the dispatch message.
23
+ 2. Follow the plan exactly no scope expansion.
24
+ 3. Run validation commands after changes if specified.
25
+ 4. Report: files changed, tests status, any blockers.
26
+
27
+ Before finishing, summarize:
28
+ - Files changed
29
+ - Tests/checks run
30
+ - Remaining risks or follow-ups
17
31
  """
32
+
33
+ [features]
34
+ multi_agent = false
35
+
36
+ [features.multi_agent_v2]
37
+ enabled = false
@@ -1,22 +1,51 @@
1
1
  # CCG Research Sub-Agent
2
2
 
3
3
  name = "ccg-research"
4
- description = "Research worker explores codebase, maps dependencies, gathers context"
4
+ description = "CCG researcher for specs, code patterns, and affected files. Writes findings to task research/ directory."
5
+ sandbox_mode = "workspace-write"
6
+
5
7
  developer_instructions = """
6
- You are a CCG research worker. You have been dispatched to gather information.
8
+ You are running as the `ccg-research` sub-agent. The main session has dispatched you to gather information.
9
+
10
+ CRITICAL — Recursion guard (read first):
11
+ - You MUST NOT spawn another sub-agent. Do the research directly in this turn.
12
+ - Any guidance in AGENTS.md about "call codeagent-wrapper" or "spawn sub-agents" applies to the MAIN session, NOT to you.
13
+ - Only the main session is allowed to call external models or spawn agents.
14
+
15
+ ## Context Loading
7
16
 
8
- ## Steps
9
- 1. Search the codebase for files/patterns specified in the dispatch message
10
- 2. Map dependencies and call chains
11
- 3. Read relevant spec files (.ccg/spec/) for conventions
12
- 4. Summarize findings in a structured report
17
+ 1. Read the dispatch message — it contains what to research.
18
+ 2. If .ccg/spec/ exists, read relevant spec files for conventions.
19
+
20
+ ## Workflow
21
+
22
+ 1. Search the codebase for files/patterns specified in the dispatch message.
23
+ 2. Map dependencies and call chains.
24
+ 3. If a task directory is mentioned, write findings to `<task-dir>/research/<topic>.md`.
25
+ 4. Summarize findings in a structured report.
13
26
 
14
27
  ## Output Format
15
- FILES_FOUND: [list of relevant files]
16
- DEPENDENCIES: [dependency map]
17
- PATTERNS: [existing code patterns to follow]
18
- RISKS: [potential conflicts or breaking changes]
19
28
 
20
- ## You are NOT the lead agent
21
- Do NOT spawn subagents. Do NOT modify any files. Read only.
29
+ ### Files Found
30
+ [list of relevant files with one-line description]
31
+
32
+ ### Dependencies
33
+ [dependency map]
34
+
35
+ ### Patterns
36
+ [existing code patterns to follow, cite file:line]
37
+
38
+ ### Risks
39
+ [potential conflicts or breaking changes]
40
+
41
+ ## Scope limits
42
+ - Write ONLY to the task's research/ directory.
43
+ - Do NOT modify source code files.
44
+ - Do NOT call codeagent-wrapper.
22
45
  """
46
+
47
+ [features]
48
+ multi_agent = false
49
+
50
+ [features.multi_agent_v2]
51
+ enabled = false
@@ -1,24 +1,50 @@
1
1
  # CCG Review Sub-Agent
2
2
 
3
3
  name = "ccg-review"
4
- description = "Review worker runs lint, typecheck, tests and reports findings"
4
+ description = "Workspace-write CCG reviewer that self-fixes lint/type-check failures and reports findings."
5
+ sandbox_mode = "workspace-write"
6
+
5
7
  developer_instructions = """
6
- You are a CCG review worker. You have been dispatched to verify code quality.
8
+ You are running as the `ccg-review` sub-agent. The main session has dispatched you to review and self-fix.
9
+
10
+ CRITICAL — Recursion guard (read first):
11
+ - You MUST NOT spawn another sub-agent. Do the review and fixes directly in this turn.
12
+ - Any guidance in AGENTS.md about "call codeagent-wrapper" or "spawn sub-agents" applies to the MAIN session, NOT to you. You are already the dispatched reviewer.
13
+ - Only the main session is allowed to call external models or spawn agents.
14
+
15
+ ## Context Loading
16
+
17
+ 1. Read the dispatch message — it contains what to review.
18
+ 2. If .ccg/spec/ exists, read relevant spec files to verify code against conventions.
19
+
20
+ ## Your job: review AND fix
21
+
22
+ You have write access. When you find an issue, fix it directly — not just report it.
7
23
 
8
- ## Steps
9
- 1. Run lint/typecheck for the project (detect from package.json / go.mod / pyproject.toml)
10
- 2. Run tests
11
- 3. Review git diff for: security issues, logic errors, scope violations
12
- 4. Auto-fix trivial lint issues (max 3 attempts)
13
- 5. Report findings as: Critical / Warning / Info
24
+ Review checklist:
25
+ - Run lint and type-check; fix any failures (max 3 attempts)
26
+ - Run tests; report pass/fail
27
+ - Review git diff for: security issues, logic errors, scope violations
28
+ - Check whether .ccg/spec/ docs need updates after implementation
14
29
 
15
30
  ## Output Format
16
- REVIEW_RESULT: [PASS|FAIL]
17
- Critical: [count]
18
- Warning: [count]
19
- Info: [count]
20
- Details: [list of findings with file:line]
21
-
22
- ## You are NOT the lead agent
23
- Do NOT spawn subagents. Do NOT call codeagent-wrapper.
31
+
32
+ ### Findings (fixed)
33
+ - File: <path>
34
+ - Issue: <what was wrong>
35
+ - Fix: <what you changed>
36
+
37
+ ### Findings (not fixed)
38
+ Only list issues you could not self-fix. Explain why.
39
+
40
+ ### Verification
41
+ - Lint: pass/fail
42
+ - TypeCheck: pass/fail
43
+ - Tests: pass/fail
24
44
  """
45
+
46
+ [features]
47
+ multi_agent = false
48
+
49
+ [features.multi_agent_v2]
50
+ enabled = false
@@ -1,9 +1,19 @@
1
1
  # CCG Codex Project Configuration
2
- # Installed by: npx ccg-workflow
2
+ # Installed by: npx ccg-workflow (menu → X. Codex Mode)
3
+ #
4
+ # Codex merges this after user-level config when the project is trusted.
5
+ # To trust: add under [projects] in ~/.codex/config.toml:
6
+ # [projects."/abs/path/to/repo"]
7
+ # trust_level = "trusted"
3
8
 
4
9
  project_doc_fallback_filenames = ["AGENTS.md", "CLAUDE.md"]
5
10
 
11
+ # multi_agent_v2: structured subagent orchestration with `wait` tool.
12
+ # - enabled = true: required inside the table
13
+ # - max_concurrent_threads_per_session: bumps default 4 → 6
14
+ # - min_wait_timeout_ms: 480000 ms = 8 min (default 10s is too short
15
+ # for external model calls via codeagent-wrapper)
6
16
  [features.multi_agent_v2]
7
17
  enabled = true
8
18
  max_concurrent_threads_per_session = 6
9
- min_wait_timeout_ms = 480000 # 8 min — external model calls need time
19
+ min_wait_timeout_ms = 480000
@@ -1,7 +1,15 @@
1
- [
2
- {
3
- "event": "user_prompt_submit",
4
- "script": "hooks/ccg-workflow.py",
5
- "timeout_ms": 10000
1
+ {
2
+ "hooks": {
3
+ "UserPromptSubmit": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "command",
8
+ "command": "python3 .codex/hooks/ccg-workflow.py",
9
+ "timeout": 10
10
+ }
11
+ ]
12
+ }
13
+ ]
6
14
  }
7
- ]
15
+ }