Skip to content

贡献指南

🤝 欢迎为 snir 贡献代码、文档与反馈。

贡献方式

方式说明
🐛 报告 BugGitHub Issue,附复现命令与日志
💡 提建议Issue 标注 "enhancement"
🔧 提交 PRFork → 分支 → 改 → 测试 → PR
📝 改文档文档在 website/,基于 VitePress
🌍 翻译欢迎多语言贡献

开发流程

环境

  • Go 1.23+
  • Node 20+(构建文档站)
  • Chrome/Chromium(运行截图)

一次 PR 从发起到合并的典型时序:

构建

bash
make build
./snir version

测试

bash
go test ./...

文档

bash
cd website
npm install
npm run docs:dev

文档贡献

代码规范

  • 遵循 Go 标准格式 gofmt / goimports
  • 新增导出符号须有注释
  • 公共 API 变更须更新文档
  • 提交信息遵循 Conventional Commits(如 feat:fix:docs:

提交信息示例

feat: add sdk cookie evidence helpers
fix: handle nil pointer in pool stats
docs: expand proxy rotation guide

PR 检查清单

提 PR 前逐项核对
  • [ ] 代码通过 go buildgo test
  • [ ] 新功能有测试
  • [ ] 文档已更新(website/references/
  • [ ] 提交信息遵循 Conventional Commits(feat:/fix:/docs:
  • [ ] 不引入新的外部依赖(除非必要)
  • [ ] gofmt -w 已跑(CI 会校验格式)
  • [ ] 截图相关改动本地用真实 Chrome 验证过

行为准则

参与贡献即代表同意遵守 行为准则

下一步

基于 MIT 许可发布