factory/docs/superpowers/specs/2026-07-27-claude-to-codex-...

4.5 KiB
Raw Blame History

Claude 项目上下文迁移到 Codex设计说明

目标

在不删除或修改现有 .claude 配置的前提下,把 factory 项目中仍有效的 Claude 项目知识迁移成 Codex 可稳定使用的项目级上下文。

迁移后的配置应做到:

  • Codex 每次进入仓库时都能读取关键项目约束。
  • 较长的背景资料和历史排障记录不会挤占常规任务上下文。
  • 发版流程只在用户明确要求时启用。
  • 不复制数据库口令等敏感信息。
  • Claude 与 Codex 可以继续并行使用。

现状

项目内现有 Claude 配置:

  • .claude/settings.local.jsonClaude 工具授权历史,包含大量机器相关命令及明文数据库连接信息。
  • .claude/commands/release.md:后端发版命令。
  • Claude 用户目录中的项目 memory包含前后端关系、动态路由、Python 虚拟环境、生产库只读查询约束、脚本忽略规则、发版约束、套壳 App 背景及一次历史缺陷排查。

项目当前没有根目录 CLAUDE.mdAGENTS.md 或项目级 Codex memory。

采用方案

采用分层兼容结构:

  1. 根目录 AGENTS.md

    • 放置每次工作都应遵守的稳定规则。
    • 内容保持简短,避免把一次性历史排障细节注入所有任务。
    • 指向更详细的 memory 和按需 skill。
  2. .agents/skills/release/SKILL.md

    • .claude/commands/release.md 转换为 Codex 项目 skill。
    • 仅在用户明确要求“发版”“release”或“bump 版本”时使用。
    • 保留版本生成、更新 SYS_VERSION、检查 changelog、提交、打 tag 和推送的顺序。
    • 去掉 Claude 专属的 Co-Authored-By 署名。
    • 保留远端写操作前的工作区检查和失败处理约束。
  3. .codex/memory/

    • MEMORY.md 作为主题索引。
    • 按主题保存项目背景、用户反馈和历史排障资料。
    • 去除 Claude 的 session ID、Claude 专属元数据和 wiki 链接语法。
    • 使用普通 Markdown 相对链接,便于人工和 Codex 按需读取。
  4. .claude/

    • 原样保留,不删除、不重写。

内容映射

必须进入 AGENTS.md 的规则:

  • 配套前端位于 ../ehs_web;后端 API 变化时检查对应前端调用。
  • ehs_web 菜单和路由由后端动态下发,新页面不要修改 src/config/route.js
  • Django/Python 命令使用项目根目录 .venv/Scripts/python.exe
  • scripts/*.py 是有意忽略的一次性脚本,未经明确要求不得 git add -f
  • 不自动提升版本或发版,只有用户明确要求时才执行 release skill。
  • 生产数据库只允许只读查询;任何写操作需要用户另行明确授权。
  • 不在项目文档、skill 或命令中保存数据库口令。

保存在 .codex/memory/ 的资料:

  • 前后端工程关系与统计页面惯例。
  • 生产数据库只读验证方法,但连接参数只指向本地忽略配置,不记录凭据。
  • 前端独立发版流程。
  • 两个 WebView 套壳 App 的位置与交互约定。
  • material_ofrom 合批历史缺陷的排查结论和后续接续点。
  • 上述关键反馈规则的详细原因。

不迁移的内容:

  • .claude/settings.local.json 中的 Claude 权限语法。
  • 临时 scratchpad 路径、历史会话 ID、一次性命令白名单。
  • 数据库用户名、密码及可直接复用的带密码命令。

安全与错误处理

  • 新文件中扫描常见密码片段和 PGPASSWORD,确认没有凭据泄漏。
  • 不读取或修改被 .gitignore 排除的本地数据库配置。
  • 不连接生产数据库验证迁移,因为本任务只迁移文档和工作约束。
  • 不删除 .claude,迁移失败时现有 Claude 工作流不受影响。
  • 不执行 release skill仅验证其结构与引用路径。

验证

完成迁移后执行:

  1. 检查 AGENTS.md.agents/skills/release/SKILL.md.codex/memory/*.md 均存在。
  2. 检查 AGENTS.md 中的索引链接均能解析到实际文件。
  3. 搜索新文件中的密码、PGPASSWORD、Claude session ID 和临时 scratchpad 路径。
  4. 对照原 memory 索引,确认所有仍有效主题均已覆盖。
  5. 检查 Git diff确认 .claude 没有变化,且没有混入用户现有未跟踪文件。

完成标准

  • Codex 项目级入口、按需发版 skill 和 memory 索引全部建立。
  • 原 Claude 配置保持不变。
  • 原有 9 个 memory 主题均被迁移或被更高层规则覆盖。
  • 新配置不含明文凭据或 Claude 专属运行痕迹。
  • 验证命令通过Git diff 只包含本次迁移相关文件。