mirror of
https://github.com/LiteyukiStudio/LiteyukiBot.git
synced 2024-12-01 20:04:46 +08:00
3.7 KiB
3.7 KiB
title | order |
---|---|
开发指南 | 0 |
开发指南
如何开发
如需往轻雪仓库提交代码,请阅读以下内容:
- 首先fork一份轻雪仓库到你的个人/组织账户下。
- 在你的仓库中进行开发。
- 在你的仓库中创建一个新的分支,将你的代码提交到这个分支。
- 在你的仓库中创建一个Pull Request,将你的分支合并到轻雪仓库的
main
分支。
参与开发默认你已经了解Python语言和轻雪框架的基本使用方法,如果是文档相关的开发,请确保你了解Markdown语法和基本前端知识。 出现冲突请与仓库维护者联系。
建议
- 开发过程中可以使用
mypy
,flake8
,black
等工具进行代码检查和格式化。 - 启用开发者模式,可以在
config.yml
中设置dev_mode: true
,这样可以在控制台看到更多的调试信息。
项目结构
main.py
: 机器人入口文件liteyuki
: 框架目录(liteyukibot)src
: 机器人源码目录liteyuki_plugins
: 轻雪插件目录nonebot_plugins
: Nonebot插件目录resources
: 内置资源包目录utils
: 工具目录
tests
: 单元测试目录docs
: 文档目录en
: 英文文档zh
: 中文文档
docker
: Docker相关内容目录
其中,liteyuki
框架是包含在LiteyukiBot
应用中的,所以此项目既是LiteyukiBot
应用仓库,同时也是liteyuki
框架的仓库
src
目录下为应用程序部分,业务逻辑请在此目录下进行开发,liteyuki_plugins
和nonebot_plugins
目录下为插件目录,插件开发请在此目录下进行开发。
规范化
- 代码请遵循
PEP8
和Google Python Style Guide
- 提交到轻雪仓库的代码,请遵循以下规范:
- 请确保代码是可运行的,没有危害的。
- 请确保代码的类型提示是正确的。
- 请确保注释风格为
Google Docstring
或Liteyuki Docstring
(推荐)以保证Litedoc能够正确解析并生成文档。 - 字符串请使用双引号
"
,尽量避免使用单引号'
,但在嵌套字符串时可以使用单引号。 - 若有面向普通用户部分,请确保文档是完善的(每种语言都有对应的文档)。
- commit message请遵循以下规范:
- 应在每次完成一个功能或修复一个bug后提交代码,不要将多个功能或多个bug的代码混在一起提交。
- 我们使用gitmoji来标记commit的类型,如
:sparkles:
表示引入新功能,:bug:
表示修复bug等,具体请参考gitmoji - commit message的格式为
<emoji> [type:] <message>
,如:sparkles: feat: 给event添加新字段
, 其中type
字段为commit类型且可选,message字段为简短的描述,总结来说就是你干了什么。 - 不限制commit message的语言,有条件可以使用中英双语。
- 文档请遵循
Markdown
语法,并且支持vitepress相关内容:- 修订文档时,每个语言的文档都要修订。
- 请确保文档内的链接是正确的,不要出现无法访问的死链接。
- 请确保用户文档是通俗易懂的,开发文档是详细的。
最后
- 本项目是一个非盈利的开源项目,我们欢迎任何人参与开发,你的贡献将会使轻雪变得更好。