# 参与贡献 / Contributing
> [项目主页](README.md) · [安全报告](SECURITY.md) · [商业合作](#商业合作)
感谢你对 **Zenith** 的关注!无论是提交代码、报告问题、改进文档,还是洽谈商业合作,我们都非常欢迎。
## 一、如何参与
### 1. 报告 Bug 与功能建议
- 通过仓库的 **Issue** 提交问题,建议包含:复现步骤、预期行为、实际行为、环境信息(OS / Rust 版本 / 特性组合)。
- 安全相关漏洞**请勿**通过 Issue 公开提交,请遵循 [SECURITY.md](SECURITY.md) 的负责任披露流程。
### 2. 提交代码(Pull Request)
1. **Fork** 本仓库并创建特性分支(`feature/xxx` 或 `fix/xxx`)。
2. 编写清晰的提交信息,遵循仓库现有代码风格。
3. 确保通过全量测试:
```bash
# 全量测试(含所有特性)
cargo test --workspace --all-features
# 仅默认特性
cargo test -p zenith
# 单 crate 测试
cargo test -p zenith-web
```
4. 提交 PR 并附上变更说明,维护者会尽快 review。
### 3. 改进文档与示例
文档、注释、示例代码的改进同样重要。请在相关文件内完成修改并提交 PR。
### 4. 赞助与支持
如果你的公司希望支持 Zenith 的持续开发,欢迎查看 [SPONSORS.md](SPONSORS.md)。
---
## 二、开发约定
- **Rust 版本**:稳定版 Rust 1.97.1+(禁止 Nightly/Beta)。
- **代码风格**:遵循 `cargo fmt` 与 `cargo clippy` 的默认建议。
- **设计原则**:请阅读 [README.md](README.md) 中的"设计原则",特别关注 **Fail-Closed**、**热路径零堆分配**、**unsafe 隔离** 等核心约束。
- **分层结构**:新增能力时,优先放入对应层级的子 crate(`zenith-web` / `zenith-waf` / `zenith-tls` 等),并通过 facade 的 feature 暴露。
---
## 三、许可证
向本仓库提交代码,即表示你同意你的贡献在 [COMMERCIAL.md](COMMERCIAL.md) 所述的多许可证模型(GPL-2.0 / MIT / Apache-2.0)条款下被分发。
---
## 商业合作
如果你需要:
- **商业企业协议**(闭源商用 / 赔偿保障 / SLA / 定制功能)
- **批量授权** 或 **企业支持合同**
- **定制指纹规则** 或 **私有扩展**
请通过以下方式联系我们:
- **邮箱**:[2098175794@qq.com](mailto:2098175794@qq.com)
- **邮件主题**:`Zenith商业授权咨询 - [公司名称]`
我们通常在 **3 个工作日内**回复。详细的许可证选型与 SLA 说明请参阅 [COMMERCIAL.md](COMMERCIAL.md)。
> 关于赞助分级与致谢,请参阅 [SPONSORS.md](SPONSORS.md)。