Files
CodePilot/CLAUDE.md
T
7418andClaude Opus 4.6 a7104aa4eb chore: 集成 chrome-devtools MCP + UI 验证规则
.mcp.json(新建):
- 添加 chrome-devtools MCP server(stdio 模式,npx chrome-devtools-mcp@latest)
- 签入仓库使团队成员 clone 后自动启用

CLAUDE.md:
- 新增"UI 改动必须用 CDP 验证"规则:
  修改组件/样式/布局后,通过 chrome-devtools MCP 截图确认渲染正确、
  检查 console 无报错、模拟交互验证、响应式布局用 device emulation 验证

目的:建立 UI 改动的自动化视觉验证闭环,
AI 修改前端代码后自动启动浏览器截图检查,而非仅靠 typecheck 判断正确性。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 19:50:18 +08:00

77 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CLAUDE.md
CodePilot — Claude Code 的桌面 GUI 客户端,基于 Electron + Next.js。
> 架构细节见 [ARCHITECTURE.md](./ARCHITECTURE.md),本文件只包含规则和流程。
## 开发规则
**提交前必须详尽测试:**
- 每次提交代码前,必须在开发环境中充分测试所有改动的功能,确认无回归
- 涉及前端 UI 的改动需要实际启动应用验证(`npm run dev` 或 `npm run electron:dev`)
- 涉及构建/打包的改动需要完整执行一次打包流程验证产物可用
- 涉及多平台的改动需要考虑各平台的差异性
**UI 改动必须用 CDP 验证(chrome-devtools MCP):**
- 修改组件、样式、布局后,必须通过 chrome-devtools MCP 实际验证效果
- 验证流程:`npm run dev` 启动应用 → 用 CDP 打开 `http://localhost:3000` 对应页面 → 截图确认渲染正确 → 检查 console 无报错
- 涉及交互的改动(按钮、表单、导航)需通过 CDP 模拟点击/输入并截图验证
- 修改响应式布局时,用 CDP 的 device emulation 分别验证桌面和移动端视口
**新增功能前必须详尽调研:**
- 新增功能前必须充分调研相关技术方案、API 兼容性、社区最佳实践
- 涉及 Electron API 需确认目标版本支持情况
- 涉及第三方库需确认与现有依赖的兼容性
- 涉及 Claude Code SDK 需确认 SDK 实际支持的功能和调用方式
- 对不确定的技术点先做 POC 验证,不要直接在主代码中试错
**Commit 信息规范:**
- 标题行使用 conventional commits 格式(feat/fix/refactor/chore 等)
- body 中按文件或功能分组,说明改了什么、为什么改、影响范围
- 修复 bug 需说明根因;架构决策需简要说明理由
## 自检命令
**自检命令(pre-commit hook 会自动执行前三项):**
- `npm run test` — typecheck + 单元测试(~4s,无需 dev server)
- `npm run test:smoke` — 冒烟测试(~15s,需要 dev server)
- `npm run test:e2e` — 完整 E2E(~60s+,需要 dev server)
修改代码后,commit 前至少确保 `npm run test` 通过。
涉及 UI 改动时额外运行 `npm run test:smoke`。
## 改动自查
完成代码修改后,在提交前确认:
1. 改动是否涉及 i18n — 是否需要同步 `src/i18n/en.ts` 和 `zh.ts`
2. 改动是否涉及数据库 — 是否需要在 `src/lib/db.ts` 更新 schema 迁移
3. 改动是否涉及类型 — 是否需要更新 `src/types/index.ts`
4. 改动是否涉及已有文档 — 是否需要更新 `docs/handover/` 中的交接文档
## 发版
**发版流程:** 更新 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/`。
## 执行计划
**中大型功能(跨 3+ 模块、涉及 schema 变更、需分阶段交付)必须先写执行计划再开工。**
- 活跃计划放 `docs/exec-plans/active/`,完成后移至 `completed/`
- 纯调研/可行性分析放 `docs/research/`
- 发现技术债务时记录到 `docs/exec-plans/tech-debt-tracker.md`
- 模板和规范见 `docs/exec-plans/README.md`
## 文档
- [ARCHITECTURE.md](./ARCHITECTURE.md) — 项目架构、目录结构、数据流、新功能触及点
- `docs/exec-plans/` — 执行计划(进度状态 + 决策日志 + 技术债务)
- `docs/handover/` — 交接文档(架构、数据流、设计决策)
- `docs/research/` — 调研文档(技术方案、可行性分析)
**检索前先读对应目录的 README.md;增删文件后更新索引。**