|
|
# 代码风格与贡献指南
|
|
|
|
|
|
欢迎来到 LobeChat 的代码风格与贡献指南。本指南将帮助您理解我们的代码规范和贡献流程,确保代码的一致性和项目的顺利进行。
|
|
|
|
|
|
## TOC
|
|
|
|
|
|
- [代码风格](#代码风格)
|
|
|
- [ESLint](#eslint)
|
|
|
- [Prettier](#prettier)
|
|
|
- [remarklint](#remarklint)
|
|
|
- [stylelint](#stylelint)
|
|
|
- [贡献流程](#贡献流程)
|
|
|
- [Gitmoji](#gitmoji)
|
|
|
- [Semantic Release](#semantic-release)
|
|
|
- [Commitlint](#commitlint)
|
|
|
- [如何贡献](#如何贡献)
|
|
|
|
|
|
## 代码风格
|
|
|
|
|
|
在 LobeChat 中,我们使用 `@lobehub/lint` 程序包来统一代码风格。该程序包内置了 `ESLint`、`Prettier`、`remarklint` 和 `stylelint` 的配置,以确保我们的 JavaScript、Markdown 和 CSS 文件遵循相同的编码标准。
|
|
|
|
|
|
### ESLint
|
|
|
|
|
|
我们的项目使用 ESLint 来检查 JavaScript 代码中的问题。您可以在项目根目录下找到 `.eslintrc.js` 文件,其中包含了我们对 `@lobehub/lint` 的 ESLint 配置的扩展和自定义规则。
|
|
|
|
|
|
为了与 Next.js 框架兼容,我们在配置中添加了 `plugin:@next/next/recommended`。此外,我们禁用了一些规则,以适应我们项目的特定需求。
|
|
|
|
|
|
请在提交代码前运行 ESLint,以确保您的代码符合项目规范。
|
|
|
|
|
|
### Prettier
|
|
|
|
|
|
Prettier 负责代码格式化,以保证代码的一致性。您可以在 `.prettierrc.js` 中找到我们的 Prettier 配置,它是从 `@lobehub/lint` 导入的。
|
|
|
|
|
|
在保存文件时,建议您配置您的编辑器以自动运行 Prettier,或者在提交前手动运行它。
|
|
|
|
|
|
### remarklint
|
|
|
|
|
|
对于 Markdown 文件,我们使用 remarklint 来确保文档格式的统一。您可以在项目中找到相应的配置文件。
|
|
|
|
|
|
### stylelint
|
|
|
|
|
|
我们使用 stylelint 来规范 CSS 代码的风格。在 `stylelint` 的配置文件中,我们基于 `@lobehub/lint` 的配置进行了一些自定义规则的调整。
|
|
|
|
|
|
确保您的样式代码在提交前通过了 stylelint 的检查。
|
|
|
|
|
|
## 贡献流程
|
|
|
|
|
|
LobeChat 采用 gitmoji 和 semantic release 作为我们的代码提交和发布流程。
|
|
|
|
|
|
### Gitmoji
|
|
|
|
|
|
在提交代码时,请使用 gitmoji 来标注您的提交信息。这有助于其他贡献者快速理解您提交的内容和目的。
|
|
|
|
|
|
Gitmoji commit messages 使用特定的 emoji 来表示提交的类型或意图。以下是一个示例:
|
|
|
|
|
|
```
|
|
|
📝 Update README with contribution guidelines
|
|
|
|
|
|
- Added section about code style preferences
|
|
|
- Included instructions for running tests
|
|
|
- Corrected typos and improved formatting
|
|
|
```
|
|
|
|
|
|
在这个示例中,📝 emoji 代表了文档的更新。提交信息清晰地描述了更改的内容,提供了具体的细节。
|
|
|
|
|
|
### Semantic Release
|
|
|
|
|
|
我们使用 semantic release 来自动化版本控制和发布流程。请确保您的提交信息遵循 semantic release 的规范,这样当代码合并到主分支后,系统就可以自动创建新的版本并发布。
|
|
|
|
|
|
### Commitlint
|
|
|
|
|
|
为了确保提交信息的一致性,我们使用 `commitlint` 来检查提交信息格式。您可以在 `.commitlintrc.js` 配置文件中找到相关规则。
|
|
|
|
|
|
在您提交代码之前,请确保您的提交信息遵循我们的规范。
|
|
|
|
|
|
### 如何贡献
|
|
|
|
|
|
1. Fork 项目到您的账户。
|
|
|
2. 创建一个新的分支进行开发。
|
|
|
3. 开发完成后,确保您的代码通过了上述的代码风格检查。
|
|
|
4. 提交您的更改,并使用合适的 gitmoji 标注您的提交信息。
|
|
|
5. 创建一个 Pull Request 到原项目的主分支。
|
|
|
6. 等待代码审查,并根据反馈进行必要的修改。
|
|
|
|
|
|
感谢您遵循这些指导原则,它们有助于我们维护项目的质量和一致性。我们期待您的贡献!
|