参与贡献

编辑此文档

翻译文档,或在您的计算机上打开完整项目。

在您选择提交工作成果之前,不会发布任何内容。

入门指南

如何开始为 Wails v3 做贡献

欢迎,贡献者!

感谢你有兴趣为 Wails 做贡献!本指南将帮助你完成第一次贡献。

前提条件

开始之前,请确保你具备:

  • 已安装 Go 1.25+(下载)
  • Node.js 20+ 和 npm(下载)
  • 已使用你的 GitHub 账户配置 Git
  • 基本熟悉 Go 和 JavaScript/TypeScript

特定平台要求

macOS:

  • Xcode 命令行工具:xcode-select --install

Windows:

  • 建议使用 MSYS2 或类似的类 Unix 环境
  • WebView2 运行时(Windows 11上通常已预安装)

Linux:

  • gcc、pkg-config、libgtk-4-dev、libwebkitgtk-6.0-dev(默认 GTK4 技术栈)
  • 安装方式:sudo apt install build-essential pkg-config libgtk-4-dev libwebkitgtk-6.0-dev(Debian/Ubuntu)
  • 对于旧版 -tags gtk3 构建路径,还需安装 libgtk-3-dev 和 libwebkit2gtk-4.1-dev

贡献流程概览

典型的贡献工作流包括以下步骤:

  1. 派生并克隆——创建你自己的 Wails 仓库副本
  2. 配置环境——构建 Wails CLI 并验证你的环境
  3. 创建分支——为你的更改创建功能分支
  4. 开发——按照我们的编码规范进行更改
  5. 测试——运行测试以确保一切正常
  6. 提交——使用清晰、符合约定的提交消息进行提交
  7. 提交审核——创建拉取请求以供审核
  8. 迭代——回应反馈并进行调整
  9. 合并——获得批准后,你的更改将成为 Wails 的一部分!

分步指南

选择你的贡献类型:

1

查找或报告错误

  • 检查该错误是否已在 GitHub Issues 中报告
  • 如果尚未报告,请创建新议题并提供复现步骤
  • 开始工作前,请等待确认
2

派生并克隆

在 github.com/wailsapp/wails/fork 派生仓库

克隆你的派生仓库:

bash
git clone https://github.com/YOUR_USERNAME/wails.git
cd wails
git remote add upstream https://github.com/wailsapp/wails.git
3

构建并验证

构建 Wails,并验证你能否复现该错误:

bash
cd v3
go build -o ../wails3 ./cmd/wails3

# Reproduce the bug to understand it
4

创建错误修复分支

为修复创建分支:

bash
git checkout -b fix/issue-123-window-crash
5

修复错误

  • 仅进行修复该错误所需的最少更改
  • 不要重构无关代码
  • 添加或更新测试以防止回归
bash
# Make your changes
# Add tests in *_test.go files
6

测试修复

运行测试以确保修复有效:

bash
go test ./...

# Test the specific package
go test ./pkg/application -v

# Run with race detector
go test ./... -race
7

提交修复

使用清晰的消息提交:

bash
git commit -m "fix: prevent window crash when closing during initialization

Fixes #123"
8

提交拉取请求

推送并创建 PR:

bash
git push origin fix/issue-123-window-crash

在 PR 描述中:

  • 说明错误及其根本原因
  • 描述你的修复方案
  • 引用议题:“Fixes #123”
  • 说明修复前后的行为
9

回应反馈

处理审核意见,并根据需要更新你的 PR。

查找可处理的议题

获取帮助

  • Discord:加入Wails Discord
  • 讨论区:在GitHub Discussions中发帖
  • 议题:对于可复现的错误,请创建议题;如有疑问,请使用 Discussions;如需提出增强功能,请提交 WEP PR

行为准则

请尊重他人、提供建设性意见并热情友善。我们致力于打造一个友好的社区,共同创造出色的软件。

后续步骤

编辑页面

最后更新: