cx-config

📁 m19803261706/cx-workflow 📅 Feb 10, 2026
3
总安装量
2
周安装量
#55959
全站排名
安装命令
npx skills add https://github.com/m19803261706/cx-workflow --skill cx-config

Agent 安装分布

mcpjam 2
mistral-vibe 2
claude-code 2
junie 2
windsurf 2
zencoder 2

Skill 文档

cx-config — 工作流配置管理

概述

查看和修改 CX 工作流的核心配置,包括开发者标识、GitHub 同步模式、功能开关等。所有配置存储在 ${GIT_ROOT}/.claude/cx/config.json 中。

执行流程

Step 1: 定位配置文件

GIT_ROOT=$(git rev-parse --show-toplevel)
CONFIG_FILE="${GIT_ROOT}/.claude/cx/config.json"

if [ ! -f "$CONFIG_FILE" ]; then
  echo "❌ 工作流未初始化"
  echo "请先运行: /cx-init"
  exit 1
fi

Step 2: 读取当前配置

{
  "version": "2.0",
  "developer_id": "cx",
  "github_sync": "collab",
  "current_feature": "cx-payment",

  "agent_teams": false,
  "background_agents": false,
  "code_review": true,

  "auto_format": {
    "enabled": true,
    "formatter": "auto"
  },

  "hooks": {
    "session_start": true,
    "pre_compact": true,
    "prompt_refresh_interval": 5,
    "stop_verify": true,
    "post_edit_format": true,
    "notification": true,
    "permission_auto_approve": true
  }
}

Step 3: 展示当前配置

⚙️ CX 工作流 — 当前配置

📋 基本配置
├─ developer_id: cx
├─ github_sync: collab
└─ current_feature: cx-payment

🤖 AI 功能
├─ agent_teams: false
├─ background_agents: false
└─ code_review: true

🎨 代码处理
├─ auto_format.enabled: true
└─ auto_format.formatter: auto

🔧 Hooks 开关
├─ session_start: true
├─ pre_compact: true
├─ prompt_refresh_interval: 5
├─ stop_verify: true
├─ post_edit_format: true
├─ notification: true
└─ permission_auto_approve: true

修改配置: /cx-config <字段> <值>
或者: /cx-config (进入交互式菜单)

Step 4: 交互式修改菜单

使用 AskUserQuestion 展示菜单让用户选择要修改的配置:

选择要修改的配置项:

【基本配置】
  1. developer_id (当前: cx)
  2. github_sync (当前: collab)
  3. current_feature (当前: cx-payment)

【AI 功能】
  4. agent_teams (当前: false)
  5. background_agents (当前: false)
  6. code_review (当前: true)

【代码处理】
  7. auto_format.enabled (当前: true)
  8. auto_format.formatter (当前: auto)

【Hooks 开关】
  9. session_start (当前: true)
  10. pre_compact (当前: true)
  11. prompt_refresh_interval (当前: 5)
  12. stop_verify (当前: true)
  13. post_edit_format (当前: true)
  14. notification (当前: true)
  15. permission_auto_approve (当前: true)

  0. 返回

选择 (输入数字或直接输入字段名):

配置项详解

1. developer_id

类型: 字符串 默认值: 首次 /cx-init 时设置 说明: 开发者标识,用于:

  • 功能目录命名前缀
  • Git commit author 前缀
  • 日志和通知中的身份标识

修改示例:

当前: developer_id = "cx"
修改为: "alice"

功能目录: features/alice-payment/ (而非 cx-payment/)

2. github_sync

类型: 枚举 可选值: off | local | collab | full 默认值: collab

各模式对比

模式 文档 Issue 任务 Issue PR 适用场景
off ❌ ❌ ❌ 单人项目、内部测试
local ❌ ❌ ❌ 单人回顾、记录
collab ✅ (PRD/Design) ❌ ✅ (Summary) 2-5 人团队推荐
full ✅ (全部) ✅ (全部) ✅ 大团队、严格流程

修改示例:

当前: github_sync = "collab"
修改为: "off"

效果: cx-summary 后续不创建 GitHub Issue,仅生成本地 summary.md

修改流程 (AskUserQuestion):

当前 GitHub 同步模式: collab

选择新模式:
① off — 纯本地,不创建任何 GitHub Issue/PR
② local — 完成时创建汇总 Issue
③ collab — PRD/Design Doc 创建 Issue,summary 创建 Issue+PR (推荐)
④ full — 所有文档都创建 Issue

选择 (1-4):

3. current_feature

类型: 字符串 默认值: 空字符串 说明: 当前活跃的功能 slug。手动设置用于:

  • /cx-status 查看该功能进度
  • /cx-exec 默认执行该功能的任务
  • 会话 SessionStart hook 自动加载该功能上下文

修改示例:

当前: current_feature = "cx-payment"
修改为: "cx-refund"

效果: 下次 /cx-exec 执行 cx-refund 相关任务
      /cx-status 展示 cx-refund 的进度

4. agent_teams

类型: 布尔值 默认值: false 说明: 是否启用 Agent Teams 模式(前后端契约协作)

启用条件:

  • Claude Code 必须支持 Agent Teams 特性(目前实验性)
  • 项目有明确的前后端分工
  • 需要通过 API 契约锁定前后端对齐

启用后的效果:

cx-plan 执行时:
  └─ 自动识别前端/后端任务分组

cx-exec 执行时:
  ├─ 启动 frontend-agent(处理前端任务)
  ├─ 启动 backend-agent(处理后端任务)
  └─ SubagentStop hook 校验双方契约一致性

修改示例:

当前: agent_teams = false
修改为: true

提示: 启用后需要 Claude Code 支持 Agent Teams,建议咨询文档

5. background_agents

类型: 布尔值 默认值: false 说明: 是否允许后台 agent 运行

启用后的效果:

cx-summary 生成后:
  ├─ 本地汇总立即完成(用户可继续操作)
  └─ GitHub 同步(Issue/PR 创建)在后台运行

禁用时的行为 (默认):

cx-summary 生成后:
  ├─ 本地汇总执行
  ├─ GitHub 同步阻塞等待
  └─ 完成后返回

6. code_review

类型: 布尔值 默认值: true 说明: cx-exec 全部任务完成后,是否智能询问代码审查

启用时 (true):

所有任务完成后,提示用户:
"所有任务已完成。是否进行代码审查?"

用户可选:
① 全面审查 (逻辑 bug + 安全 + 质量 + 清理)
② 快速检查 (仅逻辑 bug)
③ 跳过

禁用时 (false):

任务完成后直接进入 cx-summary
跳过代码审查流程

修改示例:

当前: code_review = true
修改为: false

效果: 后续执行不再询问代码审查

7. auto_format.enabled

类型: 布尔值 默认值: true 说明: PostToolUse hook 是否自动格式化写入的文件

启用时 (true):

Edit/Write 工具执行后,自动运行:
├─ JavaScript/TypeScript → prettier
├─ Python → black
├─ Go → gofmt
├─ Rust → rustfmt
└─ 其他 → 按 formatter 检测

禁用时 (false):

文件不自动格式化,需要手动运行 format 命令

8. auto_format.formatter

类型: 枚举 可选值: auto | prettier | black | gofmt | rustfmt 默认值: auto 说明: 自动格式化工具选择

值 说明
auto 自动检测,根据文件类型选择
prettier 强制使用 prettier (JS/TS/JSON)
black 强制使用 black (Python)
gofmt 强制使用 gofmt (Go)
rustfmt 强制使用 rustfmt (Rust)

修改示例:

当前: auto_format.formatter = "auto"
修改为: "prettier"

效果: 所有可格式化文件都用 prettier 处理

9. hooks.session_start

类型: 布尔值 默认值: true 说明: SessionStart hook 是否启用

启用时 (true):

每次会话开始时自动执行:
├─ 读取 status.json
├─ 检测中断任务
├─ 加载上下文摘要
└─ 提示用户可用操作

禁用时 (false):

会话不自动加载上下文
需要手动 /cx-status 查询进度

10. hooks.pre_compact

类型: 布尔值 默认值: true 说明: PreCompact hook 是否启用

启用时 (true):

compaction 前自动执行:
└─ 生成 context-snapshot.md
   ├─ 当前任务号
   ├─ 契约摘要
   └─ 进度信息

compaction 后恢复时使用 snapshot 快速恢复上下文

11. hooks.prompt_refresh_interval

类型: 整数 默认值: 5 说明: UserPromptSubmit hook 每隔多少轮注入目标刷新

值含义:

  • 0 — 禁用目标刷新
  • N > 0 — 每 N 轮注入一次:”当前任务: #{n}, 剩余: X”

修改示例:

当前: prompt_refresh_interval = 5
修改为: 3

效果: 每 3 轮对话自动注入一次进度提醒

12. hooks.stop_verify

类型: 布尔值 默认值: true 说明: Stop hook 是否启用

启用时 (true):

用户要离开时自动检查:
├─ 读取 status.json
├─ 检测是否有 in_progress 但未完成的任务
└─ 如果有,提醒用户确认

禁用时 (false):

用户可直接离开,不提醒

13. hooks.post_edit_format

类型: 布尔值 默认值: true 说明: PostToolUse hook 自动格式化是否启用

启用时 (true):

每次 Edit/Write 后自动执行:
└─ 调用 auto_format.formatter 格式化文件

禁用时 (false):

不自动格式化
与 auto_format.enabled 结合使用

14. hooks.notification

类型: 布尔值 默认值: true 说明: 是否启用桌面通知

启用时 (true):

以下事件发送桌面通知:
├─ cx-exec 全部任务完成
├─ cx-fix 完成修复
└─ cx-summary 汇总完成

通知方式 (自动检测):

  • macOS: osascript
  • Linux: notify-send
  • Windows: PowerShell MessageBox

禁用时 (false):

不发送任何桌面通知

15. hooks.permission_auto_approve

类型: 布尔值 默认值: true 说明: 是否自动放行安全操作

启用时 (true):

PermissionRequest hook 自动批准以下命令:
├─ git add/commit/push/checkout/branch
├─ gh issue/pr/project
└─ npm test / pytest / cargo test / go test

禁用时 (false):

所有命令都需要用户手动确认

修改方式

方式 1: 交互式菜单(推荐)

/cx-config
→ 显示当前配置
→ 提示选择要修改的项
→ 根据字段类型提供输入/选择界面

方式 2: 直接命令

/cx-config developer_id alice
/cx-config github_sync off
/cx-config code_review false
/cx-config hooks.notification true

参数验证:

  • 必须是有效的配置字段
  • 值必须与字段类型匹配
  • 枚举字段只接受允许的值

方式 3: 手动编辑

vim ${GIT_ROOT}/.claude/cx/config.json

注意: 手动编辑后需要确保 JSON 格式正确。

配置修改后的效果

立即生效的配置

- developer_id: 下次创建功能时使用
- current_feature: 下次 /cx-exec 立即生效
- code_review: 下次 cx-exec 完成后立即生效
- auto_format.enabled/formatter: 下次 Write/Edit 后立即生效
- hooks.prompt_refresh_interval: 下次 UserPromptSubmit 立即生效

需要重新运行命令的配置

- github_sync: 下次 /cx-summary 时生效
- agent_teams: 需要重新 /cx-plan 才能应用新的任务分组
- background_agents: 下次 /cx-summary 时生效

Hooks 开关

- 修改后立即生效于下次对应 hook 触发
- 关闭 hook 后不会逆序清理(如 session_start=false 后
  已加载的上下文继续有效)

完整配置备份与恢复

备份当前配置

cp ${GIT_ROOT}/.claude/cx/config.json \
   ${GIT_ROOT}/.claude/cx/config.json.backup

从备份恢复

cp ${GIT_ROOT}/.claude/cx/config.json.backup \
   ${GIT_ROOT}/.claude/cx/config.json

配置验证

修改配置时自动检查:

字段 有效值 说明
developer_id 非空字符串 最多 32 字符,仅英数下划线
github_sync off/local/collab/full 必须为允许值
current_feature 字符串 可为空
agent_teams true/false 布尔值
background_agents true/false 布尔值
code_review true/false 布尔值
auto_format.enabled true/false 布尔值
auto_format.formatter auto/prettier/… 必须为允许值
hooks.* 布尔值/整数 根据字段类型

常见修改场景

场景 1: 从单人模式切换到团队协作

当前配置:
  github_sync: off
  code_review: false

修改为:
  github_sync: collab
  code_review: true

结果: 后续开发会创建 GitHub Issue 供 review,支持团队协作

场景 2: 禁用自动格式化

修改:
  auto_format.enabled: false

结果: 写入的代码不自动格式化

场景 3: 关闭桌面通知

修改:
  hooks.notification: false

结果: 任务完成不再发送通知

场景 4: 加速大规模开发

修改:
  agent_teams: true (启用前后端并行)
  background_agents: true (后台 GitHub 同步)
  hooks.prompt_refresh_interval: 10 (降低刷新频率)

结果: 多 agent 并行开发,减少人工等待时间

故障排查

问题 解决方案
修改后不生效 检查是否需要重新运行命令,或重新启动会话
config.json 格式错误 使用 jq 验证: jq . config.json
无法写入 config 检查文件权限: chmod 644 config.json
GitHub 同步不工作 确保 github_sync 不是 off,且有有效的 GitHub token