贡献指南

Goravel 欢迎不同人才提供丰富多样的贡献,例如编码、翻译、文章、教程等。完成两个 Feature(不包含 Good First Issue)后,您将成为核心贡献者。之后每三个月至少完成一个 Feature,可以保持这个头衔。核心贡献者将可以在未来从 Goravel 中获得收益。

让我们一起将 Goravel 变得更高效!

核心开发者

贡献者

Bug 报告

您可以在这里open in new window提交一个 Bug 报告,在提交前请搜索 Issue 列表open in new window 中是否已存在类似问题。该报告应该包含一个标题和对问题的清晰描述,还应该包含尽可能多的相关信息以及演示该问题的代码示例。错误报告的目标是使您自己(以及其他人)能够轻松地复现错误并开发修复程序。Goravel 鼓励提交者同时创建 PR 进行 Bug 修复,使开源项目得到更积极的发展。

帮助支持

Goravel 的 GitHub issue 不提供 Goravel 的帮助或支持。您可以通过以下途径进行讨论:

开发讨论

您可以在 Goravel 仓库的 GitHub 讨论区open in new window 中提出新功能或对现有 Goravel 行为的改进。也可以在 Telegram 或微信群中进行有关错误、新功能和现有功能实现的非正式讨论。Goravel 的维护者 Bowen 通常在工作日的上午 9 点至下午 6 点(UTC+08:00)出现在频道中,并在其他时间偶尔出现在频道中。

提交贡献

寻找/创建 Issue

您可以在 Issue 列表open in new window 中寻找或创建一个 Issue,留言表达想要处理该 Issue 的意愿,得到仓库维护者的确认后,即可开始处理。

创建 PR

  • 如果您对该流程不太了解,可以查看这篇文章open in new window
  • 在开发过程中,如果遇到问题可以随时在 Issue 中详尽描述该问题,以进一步沟通,但在此之前请确保自己已通过 Google 等方式尽可能的尝试解决问题;
  • 在创建 PR 前,请尽可能的提高单元测试覆盖率,以提供更稳定的功能;
  • 如果修改了 contracts 文件夹下的任意文件,请在本地安装 vektra/mockeryopen in new window,并在根目录运行 mockery 命令生成 mock 文件;
  • 当 PR 开发完毕后,请为其添加 Review Ready 标签,维护者将及时进行评审;
  • PR 合并后,如果描述设置正确,Issue 将被自动关闭;
  • Goravel 非常感谢您的贡献,将在下次发版时将您添加到首页贡献列表中;❤️

哪个分支?

所有错误修复应发送到最新的稳定分支,除非它们修复了仅存在于 master 分支中的功能。

新功能或有破坏性变化的功能应始终合并到 master 分支。

本地环境

软件作用
Golang v1.20最低版本
vektra/mockeryopen in new window为单元测试提供 mock 文件

Goravel 仓库

仓库作用
goravel/goravelopen in new windowGoravel 脚手架
goravel/frameworkopen in new windowGoravel 主仓库
goravel/exampleopen in new windowGoravel 示例
goravel/example-clientopen in new windowGrpc 客户端示例
goravel/example-protoopen in new windowexample 仓库 proto 依赖
goravel/example-packageopen in new window扩展包示例
goravel/docsopen in new window使用文档
goravel/docs-webopen in new window官网
goravel/s3open in new windowStorage 模块 S3 驱动
goravel/ossopen in new windowStorage 模块 OSS 驱动
goravel/cosopen in new windowStorage 模块 COS 驱动
goravel/minioopen in new windowStorage 模块 Minio 驱动
goravel/cloudinaryopen in new windowStorage 模块 Cloudinary 驱动
goravel/redisopen in new windowCache 模块 Redis 驱动
goravel/ginopen in new windowRoute 模块 Gin 驱动
goravel/fiberopen in new windowRoute 模块 Fiber 驱动
goravel/file-rotatelogsopen in new window为 Log 模块提供日志分割功能
goravel/.githubopen in new window社区健康文件open in new window

行为准则

Goravel 行为准则源自 Laravel 行为准则。任何违反行为准则的行为都可以报告给 Bowen:

  • 参与者将容忍反对意见。
  • 参与者必须确保他们的语言和行为没有人身攻击和贬低个人言论。
  • 在解释他人的言行时,参与者应始终保持良好的意图。
  • 不能容忍可合理视为骚扰的行为。