Skip to content

Commit 0486fd8

Browse files
committed
feat: 重组 CLAUDE.md 文档,添加开发命令、文件组织原则和最佳实践部分
1 parent ed8c4c9 commit 0486fd8

1 file changed

Lines changed: 30 additions & 2 deletions

File tree

CLAUDE.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22

33
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
44

5-
## Development Commands
6-
75
## Tone & Communication
6+
87
- 语言:中文输出,技术术语保留 English
98
- 语气:自然、克制、礼貌;禁止命令式、情绪化、俚语、粗鲁
109
- 表达:先结论后必要补充;简洁,避免空泛抽象措辞
@@ -13,6 +12,8 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
1312
- 冲突:文档与用户即时指令冲突时优先后者并简短提示
1413
- 拒绝:不合规请求礼貌拒绝,最少必要解释
1514

15+
## Development Commands
16+
1617
- Build: `bun run build`
1718
- Dev (watch): `bun run dev`
1819
- Start (production env): `bun run start`
@@ -28,6 +29,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
2829
Notes:
2930
- 不要手动运行 Prettier;风格遵循 eslint 规则与现有配置,修复交给 lint-staged。
3031
- 本仓库的命令使用 bash 运行。
32+
- 质量保证流程:频繁运行 `bun run lint && bun run typecheck && bun run build` 避免错误积累
3133

3234
## Project Architecture
3335

@@ -119,6 +121,12 @@ Error handling
119121
- 不要直接运行 Prettier;依赖 eslint 与 lint-staged 做自动修复
120122
- 不要打印或写入敏感信息
121123

124+
## File Organization
125+
126+
- 测试专用类型声明放在 `tests/@types/` 而不是全局 `types/` 目录
127+
- 遵循关注点分离:测试相关文件与测试代码放在一起
128+
- 使用 `declare module "~/server?*"` 支持测试中的查询参数导入隔离
129+
122130
## Debugging & Troubleshooting
123131

124132
- 常见 Gemini 问题
@@ -154,6 +162,8 @@ Error handling
154162
## Testing
155163

156164
- 测试结构:遵循行为驱动测试(BDD),专注于外部行为而非内部实现细节
165+
- 测试组织:针对覆盖率不足的代码创建专门的 `-coverage.test.ts` 文件
166+
- Mock 模式:使用严格的 TypeScript 接口(如 `CapturedPayload`)替代 `any` 类型
157167
- 主要测试场景:
158168
- API 翻译正确性:Gemini ↔ OpenAI 格式转换
159169
- 流式响应处理:完整响应与分片响应的正确处理
@@ -164,3 +174,21 @@ Error handling
164174
- 运行特定文件:`bun test tests/path/to/file.test.ts`
165175
- 查看覆盖率:`bun test --coverage`
166176
- 目标覆盖率:保持 90%+ 的代码覆盖率,重点关注核心翻译逻辑
177+
178+
## Development Best Practices
179+
180+
基于实际项目经验的最佳实践:
181+
182+
### 质量保证流程
183+
- **渐进式改进**:小步快跑,频繁运行 lint + typecheck + build,避免错误积累
184+
- **立即验证**:每次重要变更后立即运行测试确保功能正常
185+
- **类型安全**:严格使用 TypeScript 类型,测试中避免 `any` 类型
186+
187+
### 文件组织原则
188+
- **关注点分离**:测试专用类型放 `tests/@types/`,避免污染全局类型定义
189+
- **测试隔离**:使用 `~/server?query` 模式实现测试场景隔离
190+
191+
### 调试方法论
192+
- **数据先行**:基于实际 debug logs 而非理论假设进行问题分析
193+
- **简单解决方案优先**:例如工具调用去重 > 复杂拆分逻辑
194+
- **验证而非猜测**:每次修改必须通过新的测试/logs 验证效果

0 commit comments

Comments
 (0)