Skip to content

Contributing Guidelines.zh CN

Ben edited this page Feb 18, 2024 · 1 revision

代码风格与贡献指南

欢迎来到 LobeChat 的代码风格与贡献指南。本指南将帮助您理解我们的代码规范和贡献流程,确保代码的一致性和项目的顺利进行。

TOC

代码风格

在 LobeChat 中,我们使用 @lobehub/lint 程序包来统一代码风格。该程序包内置了 ESLintPrettierremarklintstylelint 的配置,以确保我们的 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. 等待代码审查,并根据反馈进行必要的修改。

感谢您遵循这些指导原则,它们有助于我们维护项目的质量和一致性。我们期待您的贡献!

Clone this wiki locally