贡献指南
Goravel 欢迎不同人才提供丰富多样的贡献,例如编码、翻译、文章、教程等。完成两个 Feature
(不包含 Good First Issue
)后,您将成为核心贡献者。之后每三个月至少完成一个 Feature
,可以保持这个头衔。核心贡献者将可以在未来从 Goravel 中获得收益。
让我们一起将 Goravel 变得更高效!
核心开发者
贡献者
Bug 报告
您可以在这里提交一个 Bug 报告,在提交前请搜索 Issue 列表 中是否已存在类似问题。该报告应该包含一个标题和对问题的清晰描述,还应该包含尽可能多的相关信息以及演示该问题的代码示例。错误报告的目标是使您自己(以及其他人)能够轻松地复现错误并开发修复程序。Goravel 鼓励提交者同时创建 PR 进行 Bug 修复,使开源项目得到更积极的发展。
帮助支持
Goravel 的 GitHub issue 不提供 Goravel 的帮助或支持。您可以通过以下途径进行讨论:
开发讨论
您可以在 Goravel 仓库的 GitHub 讨论区 中提出新功能或对现有 Goravel 行为的改进。也可以在 Telegram 或微信群中进行有关错误、新功能和现有功能实现的非正式讨论。Goravel 的维护者 Bowen 通常在工作日的上午 9 点至下午 6 点(UTC+08:00)出现在频道中,并在其他时间偶尔出现在频道中。
提交贡献
寻找/创建 Issue
您可以在 Issue 列表 中寻找或创建一个 Issue,留言表达想要处理该 Issue 的意愿,得到仓库维护者的确认后,即可开始处理。
创建 PR
- 如果您对该流程不太了解,可以查看这篇文章;
- 在开发过程中,如果遇到问题可以随时在 Issue 中详尽描述该问题,以进一步沟通,但在此之前请确保自己已通过 Google 等方式尽可能的尝试解决问题;
- 在创建 PR 前,请尽可能的提高单元测试覆盖率,以提供更稳定的功能;
- 如果修改了
contracts
文件夹下的任意文件,请在本地安装 vektra/mockery,并在根目录运行mockery
命令生成 mock 文件; - 当 PR 开发完毕后,请为其添加
Review Ready
标签,维护者将及时进行评审; - PR 合并后,如果描述设置正确,Issue 将被自动关闭;
- Goravel 非常感谢您的贡献,将在下次发版时将您添加到首页贡献列表中;❤️
哪个分支?
所有错误修复应发送到最新的稳定分支,除非它们修复了仅存在于 master
分支中的功能。
新功能或有破坏性变化的功能应始终合并到 master
分支。
本地环境
软件 | 作用 |
---|---|
Golang v1.20 | 最低版本 |
vektra/mockery | 为单元测试提供 mock 文件 |
Goravel 仓库
仓库 | 作用 |
---|---|
goravel/goravel | Goravel 脚手架 |
goravel/framework | Goravel 主仓库 |
goravel/example | Goravel 示例 |
goravel/example-client | Grpc 客户端示例 |
goravel/example-proto | example 仓库 proto 依赖 |
goravel/example-package | 扩展包示例 |
goravel/docs | 使用文档 |
goravel/docs-web | 官网 |
goravel/s3 | Storage 模块 S3 驱动 |
goravel/oss | Storage 模块 OSS 驱动 |
goravel/cos | Storage 模块 COS 驱动 |
goravel/minio | Storage 模块 Minio 驱动 |
goravel/cloudinary | Storage 模块 Cloudinary 驱动 |
goravel/redis | Cache 模块 Redis 驱动 |
goravel/gin | Route 模块 Gin 驱动 |
goravel/fiber | Route 模块 Fiber 驱动 |
goravel/file-rotatelogs | 为 Log 模块提供日志分割功能 |
goravel/.github | 社区健康文件 |
行为准则
Goravel 行为准则源自 Laravel 行为准则。任何违反行为准则的行为都可以报告给 Bowen:
- 参与者将容忍反对意见。
- 参与者必须确保他们的语言和行为没有人身攻击和贬低个人言论。
- 在解释他人的言行时,参与者应始终保持良好的意图。
- 不能容忍可合理视为骚扰的行为。