# CLAUDE.md CodePilot — Claude Code 的桌面 GUI 客户端,基于 Electron + Next.js。 ## 开发规则 **提交前必须详尽测试:** - 每次提交代码前,必须在开发环境中充分测试所有改动的功能,确认无回归 - 涉及前端 UI 的改动需要实际启动应用验证(`npm run dev` 或 `npm run electron:dev`) - 涉及构建/打包的改动需要完整执行一次打包流程验证产物可用 - 涉及多平台的改动需要考虑各平台的差异性 **新增功能前必须详尽调研:** - 新增功能前必须充分调研相关技术方案、API 兼容性、社区最佳实践 - 涉及 Electron API 需确认目标版本支持情况 - 涉及第三方库需确认与现有依赖的兼容性 - 涉及 Claude Code SDK 需确认 SDK 实际支持的功能和调用方式 - 对不确定的技术点先做 POC 验证,不要直接在主代码中试错 **Commit 信息规范:** - 标题行使用 conventional commits 格式(feat/fix/refactor/chore 等) - body 中按文件或功能分组,说明改了什么、为什么改、影响范围 - 修复 bug 需说明根因;架构决策需简要说明理由 ## 发版 **发版流程:** 更新 package.json version → `npm install` 同步 lock → 提交推送 → `git tag v{版本号} && git push origin v{版本号}` → CI 自动构建发布。不要手动创建 GitHub Release。 **发版纪律:** 禁止自动发版。`git push` + `git tag` 必须等用户明确指示后才执行。commit 可以正常进行。 **Release Notes 格式:** 标题 `CodePilot v{版本号}`,正文包含:更新内容、Downloads、Installation、Requirements、Changelog。 **构建:** macOS 产出 DMG(arm64 + x64),Windows 产出 NSIS 安装包。`scripts/after-pack.js` 重编译 better-sqlite3 为 Electron ABI。构建前清理 `rm -rf release/ .next/`。 ## 文档 - `docs/handover/` — 交接文档(架构、数据流、设计决策) - `docs/research/` — 调研文档(技术方案、可行性分析) **检索前先读对应目录的 README.md;增删文件后更新索引。**