# 变更审计记录:Kiro → Claude Code 全量迁移 | 字段 | 值 | |------|-----| | 日期 | 2026-04-05 15:36:04 | ## 操作摘要 NeoZQYY 项目从 Kiro IDE 迁移到 Claude Code。将 Kiro 的 steering 文档、hooks、skills、agents、MCP 配置、审计脚本全部迁移为 Claude Code 对应架构:steering → CLAUDE.md,hooks → `.claude/hooks/` Python 脚本,skills → `.claude/commands/`,MCP → `.mcp.json`,审计脚本合并为 `scripts/audit/prescan.py`。 迁移完成后,删除 `.kiro/` 下已迁移的目录(agents、hooks、scripts、settings、skills、state),仅保留 `specs/`(历史需求文档)和 `steering/`(原始对照)。 ## 变更文件 ### 新增 | 文件 | 说明 | |------|------| | `CLAUDE.md` | 根项目指导文件,合并所有 `inclusion: always` steering 文档 | | `apps/etl/connectors/feiqiu/CLAUDE.md` | ETL 子目录指导,DWD 12 条 + DWS 26 条权威规范 | | `db/CLAUDE.md` | 数据库子目录指导,双 Schema RLS 规则、迁移格式 | | `.mcp.json` | MCP 配置,从 `.kiro/settings/mcp.json` 迁移 | | `.claude/settings.json` | 注册 3 个 hooks(SessionStart / PostToolUse / Stop) | | `.claude/hooks/session_start_context.py` | SessionStart hook,启动时报告项目状态 | | `.claude/hooks/post_edit_audit_reminder.py` | PostToolUse hook,高风险文件编辑后提醒审计 | | `.claude/hooks/stop_audit_check.py` | Stop hook,会话结束前检查未审计变更 | | `.claude/commands/audit.md` | /audit 自定义命令,5 步审计流程 | | `.claude/commands/doc-sync.md` | /doc-sync 命令,从 `steering-readme-maintainer` skill 迁移 | | `.claude/commands/db-docs.md` | /db-docs 命令,从 `bd-manual-db-docs` skill 迁移 | | `scripts/audit/prescan.py` | 合并 Kiro audit_flagger.py + change_compliance_prescan.py | ### 修改 | 文件 | 说明 | |------|------| | `.gitignore` | 增加 `.claude/settings.local.json`,简化 `.kiro/state/` 规则 | ### 删除 | 目录/文件 | 原因 | |-----------|------| | `.kiro/agents/` | Kiro agent 定义 → Claude Code Agent 工具内联 prompt 替代 | | `.kiro/hooks/` | Kiro hook JSON → `.claude/hooks/` Python 脚本 | | `.kiro/scripts/` | Kiro 审计脚本 → `scripts/audit/prescan.py` 合并 | | `.kiro/settings/` | Kiro MCP 配置 → `.mcp.json` | | `.kiro/skills/` | Kiro 技能 → `.claude/commands/` | | `.kiro/state/` | Kiro 运行时状态文件,Claude Code 不需要 | ## 改动注解 ### 高风险文件 - **`db/CLAUDE.md`**(risk: dir:db)— 新建的数据库子目录指导文件,内容为从 Kiro steering 提取的双 Schema RLS 规则和迁移 SQL 模板。纯文档,不影响数据库结构或数据。无 DDL 变更。 ### 根目录文件 - **`CLAUDE.md`** — 项目核心指导文件。合并 6 份 Kiro steering 文档,新增审计流程、子代理原则、脚本规范等章节。所有后续 Claude Code 会话都会自动加载此文件。 - **`.mcp.json`** — 去掉 git MCP(Claude Code 原生支持)、去掉 autoApprove、测试库默认启用、生产库默认禁用。 - **`.gitignore`** — 增加 Claude Code 本地配置文件排除规则。 ### 审计系统 - **`scripts/audit/prescan.py`** — 合并两个 Kiro 脚本为一个,去掉 `.kiro/state/` 依赖,输出 JSON 到 stdout,支持 `--files` 参数过滤。 - **`.claude/hooks/`** — 三个 hook 脚本分别覆盖 Kiro 的 session-summary、pre-change-guard、run-audit-writer hook 的核心功能。 ### 删除的 `.kiro/` 子目录 6 个目录(agents、hooks、scripts、settings、skills、state)包含约 25 个文件,全部已有 Claude Code 对应物。保留 `specs/` 和 `steering/` 做历史对照。 ## 数据库变更 无。本次变更不涉及任何 DDL、迁移脚本、表结构或数据修改。 ## 风险与回滚 | 风险点 | 等级 | 说明 | |--------|------|------| | CLAUDE.md 内容遗漏 | 低 | 原始 steering 文档保留在 `.kiro/steering/`,可随时对照补充 | | hooks 行为差异 | 低 | Kiro hooks 已不可用,Claude Code hooks 为全新实现,无兼容性问题 | | MCP 配置变更 | 低 | 仅去掉冗余 server,测试库配置不变 | | db/CLAUDE.md 误导 | 低 | 纯文档指导,不执行任何 SQL | **回滚要点**: 1. 删除新增的 12 个文件 2. `git checkout` 恢复 `.gitignore` 3. `git checkout` 恢复 `.kiro/` 下被删除的目录 4. 无数据库回滚需要 ## 验证 1. 确认 CLAUDE.md 被 Claude Code 自动加载: ```bash # 新开 Claude Code 会话,检查是否识别项目结构 claude "这个项目有哪些子系统?" ``` 2. 确认 prescan.py 正常运行: ```bash cd c:/Project/NeoZQYY && python scripts/audit/prescan.py ``` 3. 确认 `.kiro/` 已迁移目录不再存在: ```bash ls -d c:/Project/NeoZQYY/.kiro/agents c:/Project/NeoZQYY/.kiro/hooks c:/Project/NeoZQYY/.kiro/scripts c:/Project/NeoZQYY/.kiro/settings c:/Project/NeoZQYY/.kiro/skills c:/Project/NeoZQYY/.kiro/state 2>&1 ``` ## 合规检查 | 检查项 | 状态 | |--------|------| | CLAUDE.md 与原 steering 内容一致 | ✓ 已逐份对照合并 | | 飞球数据规范完整迁移 | ✓ DWD 12 条 + DWS 26 条均在 ETL CLAUDE.md | | 审计流程可用 | ✓ prescan.py + /audit 命令 + gen_audit_dashboard.py | | MCP 测试库可用 | ✓ pg-etl-test + pg-app-test 保留 | | 无数据库变更需同步 | ✓ 本次无 DDL | | `.kiro/` 保留目录合理 | ✓ specs(历史需求)+ steering(对照参考) |