Skip to content
On this page

SoraBot 贡献指南

首先,感谢大家为 SoraBot 贡献代码 本张旨在引导你更规范地向 SoraBot 提交贡献,请务必认真阅读。

提交 Issue

在提交 Issue 前,我们建议你先查看 FAQ已有的 Issues,以防重复提交。

报告问题、故障与漏洞

SoraBot 仍然是一个不够稳定的开发中项目,如果你在使用过程中发现问题并确信是由 SoraBot 引起的,欢迎提交 Issue。

建议功能

SoraBot 还未进入正式版,欢迎在 Issue 中提议要加入哪些新功能。

为了让开发者更好地理解你的意图,请认真描述你所需要的特性,可能的话可以提出你认为可行的解决方案。

Pull Request

SoraBot 使用 PDM 管理项目依赖,由于 pre-commit 也经其管理,所以在此一并说明。

下面的命令能在已安装 PDM 和 pnpm 的情况下帮你快速配置开发环境。

bash
# 安装 pipx 工具
pip install pipx
# 安装 PDM 虚拟环境
pipx install pdm
# 安装 python 依赖
pdm install
# 安装 pre-commit git hook
pre-commit install

使用 GitHub Codespaces(Dev Container)

Open in GitHub Codespaces

使用 GitPod

Open in Gitpod

Commit 规范

请确保你的每一个 commit 都能清晰地描述其意图,一个 commit 尽量只有一个意图。

SoraBot 的 commit message 格式遵循 gitmoji 规范,在创建 commit 时请牢记这一点。

工作流概述

master 分支为 SoraBot 的开发分支,在任何情况下都请不要直接修改 master 分支,而是创建一个目标分支为 sorabot:master 的 Pull Request 来提交修改。Pull Request 标题请尽量更改成中文,以便阅读。

如果你不是 netsora 团队的成员,可在 fork 本仓库后,向本仓库的 master 分支发起 Pull Request,注意遵循先前提到的 commit message 规范创建 commit。我们将在 code review 通过后通过 squash merge 方式将您的贡献合并到主分支。

撰写文档

SoraBot 的文档使用 vitepress,它有一些 Markdown 扩展 可能会帮助到你。

如果你需要在本地预览修改后的文档,可以使用 pnpm 安装文档依赖后启动 dev server,如下所示:

bash
pnpm install
pnpm serve

SoraBot 文档并没有具体的行文风格规范,但我们建议你尽量写得简单易懂。

以下是比较重要的编写与排版规范。目前 SoraBot 文档中仍有部分文档不完全遵守此规范,如果在阅读时发现欢迎提交 PR。

  1. 中文与英文、数字、半角符号之间需要有空格。例:SoraBot 是基于 Nonebot2 开发的多平台机器人。
  2. 若非英文整句,使用全角标点符号。例:现在你可以看到机器人回复你:“Hello, World !”。
  3. 直引号 「」 和弯引号 “” 都可接受,但同一份文件里应使用同种引号。
  4. 不要使用斜体,你不需要一种与粗体不同的强调。除此之外,你也可以考虑使用 vitepress 提供的扩展
  5. 文档中应以“我们”指代林汐开发者(即管理员与协助者),以“您”指代机器人的使用者。

以上由社区创始人 richardchien 的中文排版规范补充修改得到。

如果你需要编辑器检查 Markdown 规范,可以在 VSCode 中安装 markdownlint 扩展。

参与开发

SoraBot 的代码风格遵循 PEP 8PEP 484 规范,请确保你的代码风格和项目已有的代码保持一致,变量命名清晰,有适当的注释与测试代码。

Tip:

本文档使用 AGPL-3.0 License 协议进行共享,详情见 README

AGPL-3.0 License