Files
Neo-ZQYY/docs/claude_code_migration.md
Neo f2e0de8fab chore(migration): Cursor → Claude Code 反向迁移 + 单轨化(v2)
- 删除 5 个 AGENTS.md(根 + 4 子模块)与 .cursor/、.cursorignore,全部已备份
- 在 CLAUDE.md 末尾追加 5 节迁移必需内容(CLI/Shell 中文与编码、Claude Code 资产入口、Hook 与权限、不破坏原则、历史追溯),保留用户选定的 226 行项目规则全集
- 用户级 12 个 skills 从 ~/.cursor/skills/ 剥包装回迁到 ~/.claude/skills/(neozqyy-cursor-migration → neozqyy-claude-code-migration)
- docs/ai-env-history/ 顶层 10 文件入仓(含 conversation_index.csv、file_impact_index.csv,已脱敏);sessions/ 原文继续本地保留
- 新增 tools/claude-code/migrate_ai_environment.py(--check 14/14 通过)
- 新增 docs/claude_code_migration.md 与 docs/audit/changes/2026-05-02__claude_code_migration.md
- .gitignore 调整:开放 2 个 CSV 索引入仓,保留 sessions/ 与 claude-history/ 排除
- 不混入 124 个业务变更(AI 模块重构、runtime_context、sandbox 等保持 unstaged)
- 备份位置:~/.claude/backups/pre-claude-code-migration-2026-05-02/

第二轮迁移(第一轮 commit 6facb2d 已被 git reset 回滚;本轮策略为追加而非重写 CLAUDE.md)
2026-05-03 21:08:13 +08:00

8.6 KiB
Raw Blame History

Cursor → Claude Code 反向迁移说明2026-05-02

迁移路径:旧服务器 → 本机 → Claude Code → Codex → Cursor → Claude Code当前单轨化

0. 一句话总结

把上一轮主环境 Cursor 沉淀的所有用户手写资产规则、skills、agents、hooks、MCP反向迁回 Claude Code 原生格式,单轨化:删除 AGENTS.md / .cursor/ 等 Cursor 自带格式资产,保留 CLAUDE.md / .claude/ 等 Claude Code 原生格式。

1. 迁移原则

  1. Cursor/Codex 自带模板 → 备份去除
  2. 用户手写规则、agents、skills、MCP → 完整迁移
  3. 迁移内容符合 Claude Code 要求和使用习惯
  4. 还原或重建 Claude 需要的内容组件 / 索引
  5. 最大程度还原使用习惯,回归到 Claude Code 进行开发

2. 关键决策

2.1 单轨化(核心变化)

去除 AGENTS.md 双轨,全面采用 Claude Code 原生 CLAUDE.md

删除(已备份)

  • AGENTS.md130 行)
  • apps/backend/AGENTS.mdapps/etl/connectors/feiqiu/AGENTS.mdapps/demo-miniprogram/AGENTS.mddb/AGENTS.md
  • .cursor/(整个目录,含 rules/.mdc、skills/、hooks/、mcp.json、hooks.json
  • .cursorignore

保留(重写或验证等价)

  • CLAUDE.md226 行):保留用户已选定的项目规则全集,追加迁移所需 5 节CLI/Shell 中文与编码、Claude Code 资产入口、Hook 与权限、不破坏原则、历史追溯)
  • 4 个子模块 CLAUDE.md(验证内容已与对应 AGENTS.md 等价,无需合并)
  • .claude/commands/5 个 slash 命令)、.claude/hooks/8 个 Python hook.claude/settings.json
  • .mcp.json单一源prod 库 disabled: true、test 库 disabled: false
  • .ignoreripgrep 工具,非 Cursor 自带,保留)

保留为冷备

  • tools/cursor/tools/codex/.mcp.json 仍引用 tools/codex/mcp-postgres.ps1
  • ~/.cursor/(用户级 Cursor 配置)

2.2 用户级 skills 回迁

12 个用户级 skill 从 ~/.cursor/skills/ 反向迁移到 ~/.claude/skills/,剥掉 Cursor 时代的兼容包装:

  • 删除每个 SKILL.md 头部的"迁移说明:本 skill 从 ... 转换而来"前言
  • 删除 frontmatter 里的 disable-model-invocation: trueCursor 专属字段)
  • 简化 description去掉"从 Claude Code 迁移;当用户提到 $xxx、原 Claude skill"的兼容话术
  • neozqyy-cursor-migration 重命名为 neozqyy-claude-code-migration,重写内容指向 Claude Code 原生路径

触发策略(需求文档第 10 节原样照搬):

  • 自动触发2 个)neozqyy-claude-code-migrationstrategic-compactclaude-api 是系统内置 skill不在用户目录
  • 显式触发10 个)agent-introspection-debugging / claude-agent-roles / claude-rules-reference / code-tour / codebase-onboarding / repo-scan / rules-distill / search-first / security-review / tdd-workflow — description 末尾追加 Explicit invocation only — invoke via Skill tool with name=<X> or by typing $<X>.

不迁移

  • ~/.cursor/skills-cursor/ 13 个 Cursor 元工具babysit / canvas / create-* / cursor-sdk / migrate-to-skills / shell / split-to-prs / statusline / update-cli-config / update-cursor-settings
  • 这些是 Cursor IDE 自带的命令工具,与 Claude Code 工作模式不兼容,原位保留为冷备

2.3 用户级 agents 不动

~/.claude/agents/ 已有 8 个 subagentarchitect / code-reviewer / database-reviewer / planner / python-reviewer / refactor-cleaner / security-reviewer / tdd-guide与需求一致。~/.cursor/agents/ 同名 8 个不再迁移(已存在)。

2.4 项目级 .claude/ 不创建 agents/skills 子目录

按用户决策"还原 Claude 默认配置"

  • .claude/agents/ 不创建(沿用用户级 ~/.claude/agents/
  • .claude/skills/ 不创建(项目级流程通过 .claude/commands/*.md 暴露为 slash 命令)

2.5 Hook 设计

.claude/hooks/*.py 8 个分立 Python 文件结构(来自上轮 Codex 迁移),不复用 Cursor 的单文件 dispatcherai_env_guard.py。Hook 命令使用裸 python,依赖 .claude/settings.local.json 配置的 PATH.venv/Scripts 已在 PATH 头部)。

2.6 MCP 单一源

.mcp.json 是唯一权威源。Cursor 时代留下的 .cursor/mcp.json(仅 test 库子集)随 .cursor/ 整体归档删除。

Server 默认状态 备注
pg-etl disabled 生产 ETL 库,按需开启
pg-app disabled 生产业务库,按需开启
pg-etl-test enabled 测试 ETL 库(默认)
pg-app-test enabled 测试业务库(默认)
weixin-devtools-mcp enabled 微信开发者工具
playwright enabled Playwright
openapi enabled 后端 OpenAPI

DSN 通过 tools/codex/mcp-postgres.ps1 间接读取(PG_DSN / APP_DB_DSN / TEST_DB_DSN / TEST_APP_DB_DSN),不写入文档。

2.7 历史索引入仓

docs/ai-env-history/ 顶层 8 文件 + 2 个 CSV 索引入仓(敏感扫描通过,无密钥/DSN 泄露)。本次反向迁移作为新一节追加到 topic_timeline.mdREADME 头部追加迁移路径说明。sessions/ 子目录 109 个原文摘要继续本地保留gitignore 排除)。

2.8 CLAUDE.md 处理(本次新策略)

与 5 月 2 日早些时候的迁移决策不同:本次保留用户主动选定的 226 行版本(包含完整的项目规则、常用命令、架构模式、子代理、审计等章节),仅追加 Claude Code 必需的 5 节迁移内容,而不是重写为精简版。原因:用户在第一次迁移完成后做了 git reset 并保留了更全的版本,这是用户偏好。

3. 不做的事

  • 不删除 tools/cursor/tools/codex/(冷备 + .mcp.json 引用)
  • 不触碰 ~/.claude/projects/c--Project-NeoZQYY/memory/(用户记忆持久化)
  • 不触碰 124 个未提交业务变更AI 模块重构、runtime_context、sandbox 等)
  • 不修改 ~/.claude/agents/ 8 个文件(已存在)
  • 不创建 .claude/agents/.claude/skills/(保留 Claude Code 默认结构)

4. 验证migrate_ai_environment.py --check

执行 python tools/claude-code/migrate_ai_environment.py --check

检查项 期望 实际
迁移备份目录 存在 + 含 BACKUP_MANIFEST.md OK
根 CLAUDE.md 5 节迁移章节 全部存在 OK
CLAUDE.md 单轨保留5 个) 全部存在 OK
AGENTS.md 已归档5 个) 全部不存在 OK
.cursor/ + .cursorignore 已归档 全部不存在 OK
.claude/ 项目级资产14 个) 全部存在 OK
用户级 8 个 subagent 全部存在 OK
用户级 12 个 skills 全部存在 OK
Skills 已剥 Cursor 包装 无残留 OK
MCP 单一源 + prod/test 状态 正确 OK
docs/ai-env-history/ 入仓 ≥100 文件 OK 117
历史索引敏感扫描 0 hit OK
冷备资产保留 全部存在 OK
用户记忆未受影响 文件数 ≥5 OK 13

5. 回滚步骤

详见 ~/.claude/backups/pre-claude-code-migration-2026-05-02/BACKUP_MANIFEST.md

部分回滚(仅恢复 AGENTS.md 双轨):

cp ~/.claude/backups/pre-claude-code-migration-2026-05-02/project_root/AGENTS.md .
for sub in apps/backend apps/etl/connectors/feiqiu apps/demo-miniprogram db; do
  cp ~/.claude/backups/pre-claude-code-migration-2026-05-02/project_root/$sub/AGENTS.md $sub/
done

6. 备份位置

~/.claude/backups/pre-claude-code-migration-2026-05-02/

7. 已知遗留

  • 124 个未提交业务变更迁移前已存在AI 模块重构、runtime_context、sandbox 等),与本次迁移无关,未触碰
  • docs/audit/audit_dashboard.md当前已被业务变更修改M将在业务变更收尾时统一刷新
  • apps/etl/connectors/feiqiu/.env 已修改:业务变更产物
  • ~/.cursor/skills-cursor/ 13 个 Cursor 元工具:原位保留为冷备
  • tools/codex/:保留为冷备 + .mcp.json 仍引用 mcp-postgres.ps1,不删除

8. 历史回顾

本次迁移在 5 月 2 日有过两轮:

  1. 第一轮commit 6facb2d:把根 CLAUDE.md 重写为 179 行精简版(吸收 AGENTS.md。提交后用户做了 git reset 81e4173 并保留了更全的 226 行 CLAUDE.md删除了 tools/claude-code/docs/claude_code_migration.md 等迁移产物,并 rm -rf ~/.claude/skills/
  2. 第二轮(本次):尊重用户保留的 226 行 CLAUDE.md仅在末尾追加 5 节迁移必需内容;其余产物(用户级 skills、迁移脚本、说明、审计记录重新生成。