贡献指南
这篇文档介绍在 Wox 仓库里更实用的协作流程。
开始之前
- 在 GitHub 上 Fork Wox-launcher/Wox
- 克隆你的 Fork
- 按照 开发环境搭建 完成初始化
bash
git clone https://github.com/YOUR-USERNAME/Wox.git
cd Wox
make dev在这个仓库里工作的方式
Wox 是一个多项目仓库。一个看起来很小的改动,也可能因为共享协议漂移而影响其他层。所以做改动时尽量遵循这三个原则:
- 一次只改一个明确行为
- 在改动影响到的最高层做验证
- 用户可见行为、API、工作流变了就同步更新文档
典型工作流
- 从
master创建分支
bash
git checkout -b feature/your-change- 在正确的层里修改代码
wox.core/:后端逻辑、内置插件、设置、共享契约wox.ui.flutter/wox/:启动器 UI、设置页、截图 UI、平台展示逻辑wox.plugin.host.*:插件宿主桥接行为wox.plugin.*:对外插件 SDKwww/docs/:文档站
- 开发过程中做针对性验证
例如:
bash
make -C wox.core build
make -C wox.plugin.host.nodejs build
make -C wox.ui.flutter/wox build- 提交 PR 前做更广的验证
bash
make build如果你改的是用户可见的桌面流程,再加上:
bash
make smoke测试建议
先用最小验证证明改动正确,再补上与你改动层级匹配的更高层验证。
常用命令:
bash
make test
make smoke
make build一般可以这样理解:
make test:默认的后端回归检查make smoke:适合启动器、截图、设置等真实 UI 流程make build:适合共享契约或跨项目改动的最终守门
提交信息
featfixdocsrefactorperftestchore
例如:
bash
git commit -m "feat(plugin): add screenshot API"
git commit -m "fix(webview): restore open in browser action"
git commit -m "docs(development): refresh contributor setup guide"Pull Request 建议
一个好评审的 PR,至少应该做到:
- 解释清楚行为变化,而不是只列文件
- 有关联 issue 或 discussion 时附上链接
- 写明你怎么验证的
- UI 改动附上截图或录屏
- 工作流、API、可见行为变化时同步更新文档
代码风格
优先遵循仓库现有约定:
- Go:
gofmt - Dart:
dart format - TypeScript / JavaScript:使用仓库现有规则
- Python:使用仓库现有格式化和风格约定
尽量让控制流直接、职责归位,不要把行为放到不拥有它的层里。
文档修改
文档源文件在 www/docs。
本地预览方式:
bash
cd www
pnpm install
pnpm docs:dev如果你改了命令、API、安装/开发流程或插件行为,最好在同一个 PR 里把对应文档一起改掉。