Skip to content

Commit f757d2d

Browse files
committed
CI: coderabbit review config
1 parent 29eb9c1 commit f757d2d

1 file changed

Lines changed: 94 additions & 0 deletions

File tree

.coderabbit.yaml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
language: "zh-CN"
2+
3+
# .coderabbit.yaml for Open Source Bazaar 项目
4+
5+
# -----------------
6+
# 核心设置
7+
# -----------------
8+
9+
# -----------------
10+
# 内容过滤 (Next.js 项目关键)
11+
# -----------------
12+
13+
# 排除 Next.js 项目中不需要审查的文件和目录
14+
exclude:
15+
# 这是最重要的排除项!'.next' 目录包含了所有的构建输出、开发缓存和服务端代码。
16+
- ".next/**"
17+
18+
# node_js 依赖
19+
- "node_modules/**"
20+
21+
# public 目录通常存放静态资源(图片、字体等),一般不需要代码审查。
22+
- "public/**"
23+
24+
# next export 的输出目录
25+
- "out/**"
26+
27+
# 自动生成的 TypeScript 类型定义文件
28+
- "next-env.d.ts"
29+
30+
# 依赖锁定文件
31+
- "package-lock.json"
32+
- "pnpm-lock.yaml"
33+
- "yarn.lock"
34+
35+
# 测试快照
36+
- "**/__snapshots__/**"
37+
38+
# 文档文件
39+
- "**/*.md"
40+
41+
# -----------------
42+
# 审查定制 (为 Next.js 优化的指令)
43+
# -----------------
44+
45+
# 这是配置的核心部分!我们为 AI 提供针对 Open Source Bazaar 项目的审查指令。
46+
extra_instructions: |
47+
这是一个基于 Next.js 15 (Pages Router) + TypeScript + MobX + React Bootstrap 的项目。请像一位资深的开发者一样进行审查,并严格遵循以下规则:
48+
49+
1. **React Bootstrap 组件使用**:
50+
- 必须使用 React Bootstrap 组件替代自定义 HTML 元素
51+
- 使用 `<Button variant="outline-primary">` 而不是 `<a className="btn btn-outline-primary">`
52+
- 使用 `<Badge bg="secondary">` 而不是 `<span className="badge bg-secondary">`
53+
- 优先使用现有的 Bootstrap 组件库
54+
55+
2. **MobX 状态管理**:
56+
- 检查 MobX store 的正确使用,包括 `@observer` 装饰器
57+
- 确保 `@observable`、`@action`、`@computed` 的正确使用
58+
- 验证组件正确连接到 MobX store
59+
60+
3. **国际化 (i18n) 要求**:
61+
- 所有用户界面文本必须使用 `t()` 函数进行翻译
62+
- 检查翻译键是否在所有语言文件中存在 (zh-CN.ts, en-US.ts, zh-TW.ts)
63+
- 使用通用术语如 `t('knowledge_base')` 而不是特定术语
64+
65+
4. **GitHub API 集成**:
66+
- 检查是否从 `models/Base.ts` 导入配置的 `githubClient`
67+
- 验证 GitHub API 认证和错误处理的正确实现
68+
- 确保 Base64 内容正确解码使用 `atob(item.content)`
69+
70+
5. **Pages Router 最佳实践**:
71+
- 检查 `getStaticProps` 和 `getServerSideProps` 的正确使用
72+
- 验证 API 路由的结构和错误处理
73+
- 确保静态生成时的错误处理(让错误自然冒泡)
74+
75+
6. **TypeScript 类型安全**:
76+
- 强类型定义,避免使用 `any` 类型
77+
- 正确使用泛型和接口
78+
- 确保 React 组件 props 正确类型化
79+
80+
7. **性能优化**:
81+
- 使用 `next/image` 组件进行图片优化
82+
- 检查不必要的重新渲染
83+
- 确保 MobX 的响应式性能优化
84+
85+
8. **代码组织**:
86+
- 遵循现有的项目结构
87+
- 使用现有的工具库(如 `web-utility`)
88+
- 保持代码的可读性和模块化
89+
90+
# PR 的变更行数上限。如果超过,则跳过审查。
91+
line_limit: 1000
92+
93+
# PR 变更总结的类型
94+
summarize: "default"

0 commit comments

Comments
 (0)