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