跳至主要内容

社区指南

Wails 用户数量正在以惊人的速度增长,如果您正在阅读本文,那么您很有可能已经准备加入。所以... 欢迎!

资源

行为准则

这份 行为准则 是一个简易指南,旨在帮助我们在参与的各个技术社区中发展良好的互动方式。

保持知情

获得支持

  • GitHub - 如果您要报告错误或提出功能请求,请使用 GitHub issue。 请遵守每个仓库 issue 模版中指定的规则。
  • Discord - Wails 开发者实时交流的场所。
  • QQ 群 (中文) - 一个供中国开发者交流的 Wails 群组,您可以在其中获得其他开发者的帮助。

探索生态系统

贡献方式

Wails 是一个开源的社区驱动项目。我们欢迎任何人都加入我们,为项目做出贡献。 本文档面向希望熟悉项目和开发流程的任何人。

有很多方法可以为项目做出贡献

  • 开发新功能
  • 修复错误
  • 测试
  • 记录功能
  • 编写教程/指南
  • 在 issue 和讨论区帮助他人

这些指南已在各自的章节中创建。在开始之前,请在 贡献 Wails 讨论区中自我介绍。

开发新功能

我们一直热衷于为 Wails 添加功能,并扩展项目的功能。 添加新功能的过程如下:

  • 选择一个带有“TODO”标签的增强 ticket。最好从当前的 待办事项 中选择一个,但选择权在你。
  • 在开发之前,请检查 ticket 是否包含以下信息:
    • 增强的目的
    • 增强范围之外的内容
    • 增强针对的平台(大多数功能应跨平台,除非有非常特殊的原因)
  • 如果 ticket 未包含这些信息,请随时向 ticket 的创建者索取信息。有时会创建占位符 ticket,需要更多详细信息。
  • 在 ticket 上评论,说明你是否愿意开发该功能。
  • 克隆仓库并创建一个分支,格式为 feature/<ticket_number>_<ticket_title>
  • 新功能通常需要文档,因此请确保你已在更改中添加或更新文档。
  • 功能准备测试后,创建一个草稿 PR。请确保 PR 说明中列出了测试场景和测试用例并标上勾号,以便其他人知道哪些内容仍需测试。
  • 所有测试完成后,请将 PR 状态从草稿更改为已完成,并留下留言。
注意

没有什么能阻止你打开一个 ticket 并自己进行处理,但请注意,所有增强请求都会被审查,以确保其适合性。并非所有想法都会被选中,因此最好先讨论增强方案。

危险

任何没有对应 ticket 的 PR 可能会被拒绝。

修复错误

修复错误的过程如下:

  • 查看当前的 待办事项,并选择一个错误进行修复。
  • 在开发之前,请检查 ticket 是否包含以下信息:
  • 包括受影响平台的 issue 范围
  • 重现步骤。有时会打开并非 Wails 问题的 issue,这时报告者有责任用 最小可复现示例 证明这是一个 Wails 问题。
  • wails doctor 的输出
  • 可以重现错误的测试
  • 如果 ticket 未包含这些信息,请随时向 ticket 的创建者索取信息。
  • 在 ticket 上评论,说明你是否愿意开发修复方案。
  • 克隆仓库并创建一个分支,格式为 bugfix/<ticket_number>_<ticket_title>
  • 修复方案准备测试后,创建一个草稿 PR。请确保 PR 说明中列出了测试场景和测试用例并标上勾号,以便其他人知道哪些内容仍需测试。
  • 所有测试完成后,请将 PR 状态从草稿更改为已完成,并留下留言。
注意

没有什么能阻止你打开一个 ticket 并自己进行处理,但请注意,所有错误修复都应进行讨论,因为方法可能会有意想不到的副作用。

危险

任何没有对应 ticket 的 PR 可能会被拒绝。

测试

测试对于确保项目质量至关重要。测试可以在以下几种场景下真正帮助项目:

  • 测试错误是否可以在本地系统上重现
  • 测试 PR 以确保其正常运行

如果你选择测试某人的错误报告是否可以在本地系统上重现,请随时在 ticket 上添加评论,确认这一点并附上 wails doctor 的输出。

要测试 PR,请选择一个 PR 进行测试,并检查 PR 说明中是否列出了测试场景。如果没有,请让 PR 的创建者提供该列表。确定有效的测试场景后,请在 PR 上报告你的发现。

如果你需要更详细的说明或测试帮助,请在 贡献 Wails 讨论区或 slack 上提问。

记录

本网站也是项目的文档主站点。有时它会过时,需要进行一些调整。一些文档也未按照最佳标准编写。开发文档是一件困难的事,因此对它的任何贡献都将受到高度赞赏。没有文档的功能就是未完成的功能,所以对于项目来说,它与代码一样重要。

我们通常不会为更新文档创建 ticket,因此如果你认为应该更新或改写某些文本,请随时提交一个 PR。本网站位于主仓库的 website 目录下。我们使用 Docusaurus 创建网站,所以有很多现有的文档和教程可以帮助你入门。

要设置本地文档开发环境,请执行以下操作:

安装完成后,网站应该可以在 http://localhost:3000 上访问。对网站文本所做的任何更改都会立即反映在浏览器中。

版本控制

我们采用一种版本控制系统,其中包含“最新”文档,也就是“下一个版本”,其中包含自上次发布以来发生的全部更改。我们还保留了上一次发布的文档以及更早版本的文档。

通常没有理由更新已发布的文档,所以我们一般不会更新 versioned_docsversioned_sidebars 目录中的文档。

“下一个版本”的文档主要位于 website/docs 中,一些“版本无关”的文档位于 src/pages 中。任何更新都应在 website/docs 目录中进行。

语言

Wails 项目的默认文档是英文文档。我们使用“crowdin”工具翻译其他语言的文档,并将它们同步到网站。你可以 加入我们的项目 并提交你的翻译,做出贡献。

添加新语言

如果你想在文档中添加一种新语言,请按照提示 填写并提交一个 Issue。经维护者确认后,我们会将该语言添加到“crowdin”中,然后你就可以提交你的翻译了。

帮助他人

为项目做出贡献的一个好方法是帮助遇到困难的其他人。这通常以 ticket 或 Wails discord 服务器上的消息的形式报告。即使只是澄清问题,也可以真正提供帮助。有时,当 issue 经过讨论并得到解决后,我们会将其创建为指南,帮助遇到相同问题的其他人。

要加入 Wails 的 Discord 服务器,请点击 这里.

注意

开发中