UNPKG

@lobehub/chat

Version:

Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.

73 lines (41 loc) 3.42 kB
# 代码风格与贡献指南 欢迎来到 LobeChat 的代码风格与贡献指南。本指南将帮助您理解我们的代码规范和贡献流程,确保代码的一致性和项目的顺利进行。 ## 代码风格 在 LobeChat 中,我们使用 [@lobehub/lint](https://github.com/lobehub/lobe-lint) 程序包来统一代码风格。该程序包内置了 `ESLint``Prettier``remarklint``stylelint` 的配置,以确保我们的 JavaScript、Markdown 和 CSS 文件遵循相同的编码标准。 ### ESLint 我们的项目使用 ESLint 来检查 JavaScript 代码中的问题。您可以在项目根目录下找到 `.eslintrc.js` 文件,其中包含了我们对 `@lobehub/lint` 的 ESLint 配置的扩展和自定义规则。 为了与 Next.js 框架兼容,我们在配置中添加了 `plugin:@next/next/recommended`。此外,我们禁用了一些规则,以适应我们项目的特定需求。 ### Prettier Prettier 负责代码格式化,以保证代码的一致性。您可以在 `.prettierrc.js` 中找到我们的 Prettier 配置,它是从 `@lobehub/lint` 导入的。 在保存文件时,建议您配置您的编辑器以自动运行 Prettier。 ### remarklint 对于 Markdown 文件,我们使用 remarklint 来确保文档格式的统一。您可以在项目中找到相应的配置文件。 ### stylelint 我们使用 stylelint 来规范 CSS 代码的风格。在 `stylelint` 的配置文件中,我们基于 `@lobehub/lint` 的配置进行了一些自定义规则的调整。 ### 风格检查 你不需要手动运行这些检查,项目配置了 husky 会在您提交代码时自动运行 lint-staged 检查你提交的文件是否符合以上规范。 ## 贡献流程 LobeChat 采用 gitmoji 和 semantic release 作为我们的代码提交和发布流程。 ### Gitmoji 在提交代码时,请使用 gitmoji 来标注您的提交信息。这有助于其他贡献者快速理解您提交的内容和目的。 Gitmoji commit messages 使用特定的 emoji 来表示提交的类型或意图。以下是一个示例: ```markdown 📝 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. 等待代码审查,并根据反馈进行必要的修改。 感谢您遵循这些指导原则,它们有助于我们维护项目的质量和一致性。我们期待您的贡献!