感谢您对 PhantomStream 项目的关注!我们欢迎任何形式的贡献。
如果您发现了 Bug 或有功能建议,请:
- 使用 GitHub Issues 提交
- 使用适当的 Issue 模板
- 提供详细的复现步骤或使用场景
- 附上环境信息(操作系统、Go 版本等)
-
Fork 本仓库
git clone https://github.com/YOUR_USERNAME/phantom-stream.git cd phantom-stream -
创建功能分支
git checkout -b feature/your-feature-name
-
进行开发
- 遵循项目代码规范
- 编写必要的测试
- 更新相关文档
-
提交代码
git add . git commit -m "feat: 添加新功能描述"
-
推送到您的仓库
git push origin feature/your-feature-name
-
创建 Pull Request
- 详细描述您的修改
- 引用相关的 Issue
- 等待代码审查
我们使用 Conventional Commits 规范:
feat:新功能fix:修复 Bugdocs:文档更新style:代码格式调整(不影响功能)refactor:代码重构test:测试相关chore:构建/工具配置
示例:
feat: 添加 Visual 水印中文支持
fix: 修复 SMask 锚点提取失败问题
docs: 更新用户手册中的示例
- 使用
gofmt格式化代码 - 遵循 Effective Go 指南
- 为导出的函数和类型添加文档注释
- 保持函数简洁(建议不超过 50 行)
- 新功能必须包含单元测试
- 测试覆盖率应保持在 70% 以上
- 使用有意义的测试用例名称
cd defender
go test -v ./...
go test -cover ./...文档同样重要!您可以:
- 修正错别字或不清晰的表述
- 添加使用示例
- 翻译文档到其他语言
- 改进 README 和用户手册
- Go 1.24 或更高版本
- Make(可选,用于构建脚本)
- Git
cd defender
make buildcd defender
make test如果遇到开发问题:
- 查看 用户手册 的常见问题部分
- 搜索现有的 Issues
- 在 Issue 中提问
请阅读并遵守我们的 行为准则。
提交代码即表示您同意将您的贡献以 MIT 协议授权。
再次感谢您的贡献!🎉