# Claude 项目上下文迁移到 Codex:设计说明 ## 目标 在不删除或修改现有 `.claude` 配置的前提下,把 `factory` 项目中仍有效的 Claude 项目知识迁移成 Codex 可稳定使用的项目级上下文。 迁移后的配置应做到: - Codex 每次进入仓库时都能读取关键项目约束。 - 较长的背景资料和历史排障记录不会挤占常规任务上下文。 - 发版流程只在用户明确要求时启用。 - 不复制数据库口令等敏感信息。 - Claude 与 Codex 可以继续并行使用。 ## 现状 项目内现有 Claude 配置: - `.claude/settings.local.json`:Claude 工具授权历史,包含大量机器相关命令及明文数据库连接信息。 - `.claude/commands/release.md`:后端发版命令。 - Claude 用户目录中的项目 memory:包含前后端关系、动态路由、Python 虚拟环境、生产库只读查询约束、脚本忽略规则、发版约束、套壳 App 背景及一次历史缺陷排查。 项目当前没有根目录 `CLAUDE.md`、`AGENTS.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 只包含本次迁移相关文件。