/ 目录 / 演练场 / CCPM (Claude Code Project Mgmt)
● 社区 automazeio ⚡ 即开即用

CCPM (Claude Code Project Mgmt)

作者 automazeio · automazeio/ccpm

用 GitHub Issues + Git worktree 作为 Claude Code 的项目管理层——每个 issue 对应一个分支,每个 agent 在隔离环境中工作,互不干扰。

CCPM(Claude Code Project Management)将 GitHub Issues 作为 AI 编程 agent 的工作单元。每个 issue 拥有独立的 Git worktree(分支 + 隔离工作区),多个 Claude 会话可以并行工作而不会相互踩踏。该 skill 提供命令来从 prompt 创建 issue、认领 issue、以 PR 形式提交,以及清理工作区。专为同时开着多个 Claude 标签页的独立开发者构建。

为什么要用

核心特性

实时演示

实际使用效果

就绪

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ccpm-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/automazeio/ccpm",
        "~/.claude/skills/ccpm"
      ],
      "_inferred": true
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "ccpm-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/automazeio/ccpm",
        "~/.claude/skills/ccpm"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "ccpm-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/automazeio/ccpm",
        "~/.claude/skills/ccpm"
      ],
      "_inferred": true
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "ccpm-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/automazeio/ccpm",
        "~/.claude/skills/ccpm"
      ],
      "_inferred": true
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "ccpm-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/automazeio/ccpm",
        "~/.claude/skills/ccpm"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "ccpm-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/automazeio/ccpm",
          "~/.claude/skills/ccpm"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add ccpm-skill -- git clone https://github.com/automazeio/ccpm ~/.claude/skills/ccpm

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: CCPM (Claude Code Project Mgmt)

同时用 3 个 Claude 会话处理 3 个不同 issue

👤 独立创始人、独立开发者 ⏱ ~60 min intermediate

何时使用: 你有 5 个小 issue;顺序处理太慢,但切换分支又会打乱状态。

前置条件
  • gh CLI 已认证gh auth login——用 gh repo view 验证
  • 已安装 skill — git clone https://github.com/automazeio/ccpm ~/.claude/skills/ccpm
步骤
  1. 选择 issue
    Use ccpm. List open issues; recommend 3 small ones I can do in parallel today.✓ 已复制
    → 3 个 issue,附大致时间估算,相互无依赖
  2. 启动
    Start issue #42, #43, #45 each in its own worktree. Open 3 Claude Code sessions ready.✓ 已复制
    → 3 个 worktree 已创建于 ../wt-42 等路径;每个会话知道自己负责哪个 issue
  3. 提交
    (在每个会话中)When done — /ship — push branch and open PR linked to the issue.✓ 已复制
    → PR 已创建,与 issue 关联,CI 开始运行

结果: 当天关闭三个 issue,无需痛苦的分支切换。

注意事项
  • issue 涉及重叠的文件——产生合并冲突 — skill 会在选择的 issue 有文件重叠时发出警告;并行时选择不重叠的
搭配使用: github

将随口一说的想法转化为有明确范围的 issue

👤 想法过多的任何人 ⏱ ~5 min beginner

何时使用: 你不断在对话中说「哦对了我们还应该……」,把它们变成正式 issue。

步骤
  1. 捕获
    Use ccpm. I want to add JSON export to the dashboard. Create an issue with rationale, acceptance criteria, and a rough plan.✓ 已复制
    → 结构完整的 issue 已在 GitHub 创建
  2. 关联
    Link to related issues if any.✓ 已复制
    → 关联关系已添加

结果: 想法变成日后可以分类的正式 issue。

注意事项
  • issue 正文过于冗长 — skill 强制正文不超过 200 个单词
搭配使用: github

干净地放弃一个已启动的 issue,不留烂尾分支

👤 中途改变主意的任何人 ⏱ ~2 min beginner

何时使用: 做了 30 分钟,发现方向不对,想干净地退出。

步骤
  1. 放弃
    /abandon. Remove the worktree, delete the branch, close the issue with a comment explaining why.✓ 已复制
    → worktree 已删除,分支已删除,issue 已关闭并附说明

结果: 仓库里不留僵尸分支。

注意事项
  • 你其实想保留部分已完成的工作 — skill 在删除前会在 /tmp/ccpm-stashes 下保存一份 patch——约 7 天内可恢复
搭配使用: github

组合

与其他 MCP 搭配,撬动十倍杠杆

ccpm-skill + github

确保 CCPM 和 GitHub MCP 的 issue 状态保持同步

Sync issue state after every /ship to ensure project boards reflect.✓ 已复制
ccpm-skill + memorix-mcp

跨 worktree 传递上下文

When starting an issue, recall any memorix entries tagged with this issue's component.✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
list filters 查找待处理工作 0
start issue_number 开始处理一个 issue 0
ship issue_number? 完成;准备提 PR 0
abandon issue_number, reason 干净退出 0

成本与限制

运行它的成本

API 配额
受 GitHub API 限制(认证用户 5000 次/小时)
每次调用 Token 数
极少——大部分操作是 git + gh CLI
费用
免费
提示
不要过度创建 issue——skill 鼓励记录想法,但不是每一个微小想法都要记

安全

权限、密钥、影响范围

最小权限: repo(用于 issue + PR 写入)
凭据存储: 通过 gh auth 管理
数据出站: GitHub API
切勿授予: admin:org

故障排查

常见错误与修复

git worktree add 失败:已被使用

之前的 worktree 仍然存在;用 git worktree prune 清理

验证: `git worktree list`
gh PR create 报错「no commits between」

在 /ship 之前至少在 worktree 分支上提交一次

两个会话认领了同一个 issue

skill 为每个 issue 写入锁文件——第二次 start 会以明确的错误信息失败

替代方案

CCPM (Claude Code Project Mgmt) 对比其他方案

替代方案何时用它替代权衡
Linear MCP你使用 Linear 而非 GitHub IssuesCCPM 仅支持 GitHub;Linear MCP 是其自己的生态
纯 `git worktree` + 手动清单你每次只运行 1 个 agent手动操作;CCPM 将整个生命周期自动化

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills