diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..f63997c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,30 @@ +--- +name: Bug Report +about: 报告一个 bug / Report a bug +title: "[BUG]" +labels: bug +assignees: '' + +--- + +## 问题描述 (Description) +请详细描述你遇到的问题。 +Please describe the issue you encountered in detail. + +## 复现步骤 (Steps to Reproduce) +1. +2. +3. + +## 预期结果 (Expected Result) +你期望得到的结果。 +What you expected to happen. + +## 实际结果 (Actual Result) +实际出现的结果。 +What actually happened. + +## 环境信息 (Environment) +- 操作系统 (OS): +- 版本 (Version): +- 其他信息 (Other): \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..c070146 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,19 @@ +--- +name: ✨ 功能需求 / Feature Request +about: 你有新功能想法或改进建议?请在这里提交。 / Suggest a new feature or enhancement. +title: "[Feature]" +labels: enhancement +assignees: '' +--- + +## 功能描述 / Feature Description + + +## 需求场景 / Use Case + + +## 额外信息 / Additional Information + \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..49a4b9e --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,42 @@ +--- +name: Pull Request +about: 用于提交代码变更 / Submit code changes +title: "[PR]" +labels: '' +assignees: '' + +--- + +## 变更内容 (Description) + + + +## 关联的 Issue (Related Issue) + + + +## 变更类型 (Type of Change) + + +- [ ] 新功能 (feat) +- [ ] Bug 修复 (fix) +- [ ] 文档更新 (docs) +- [ ] 性能优化 (perf) +- [ ] 重构代码 (refactor) +- [ ] 测试相关 (test) +- [ ] 其他 (chore) + +## 检查列表 (Checklist) + + +- [ ] 我的代码遵循项目的代码规范 +- [ ] 我已对新代码添加必要的测试 +- [ ] 本地测试通过,没有错误 +- [ ] 变更已通过代码审查 + +## 备注 (Additional Notes) + + \ No newline at end of file diff --git a/.gitignore b/.gitignore index 67b5d59..6bce6a9 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ scratch **/.mypy_cache/* .DS_Store .vs/ +.idea/ **/*.perflog wrk/*.png mycert.pem diff --git a/CONTRIBUTING.en.md b/CONTRIBUTING.en.md new file mode 100644 index 0000000..9288162 --- /dev/null +++ b/CONTRIBUTING.en.md @@ -0,0 +1,104 @@ +# 🙌 Contribution Guide (English) + +Thank you very much for your interest and support in this project! Whether you want to submit code, fix bugs, improve documentation, or propose suggestions, you are very welcome. + +Here is a detailed guide on how to contribute. + +--- + +## 💡 How to Contribute + +You can contribute to this project in the following ways: + +- Report bugs or suggestions (via Issues) +- Improve or fix existing features +- Add new features +- Enhance UI/UX or user interaction +- Write or improve documentation +- Submit test cases, sample projects, etc + +--- + +## 🔁 Contribution Process (From Fork to PR) + +Please follow these steps to submit your code contributions: + +### 1. Fork this repository + +Click the Fork button at the top right of this project page to copy the repository to your own GitHub account. + +### 2. Clone your fork + +```bash +git clone https://github.com//.git +cd +``` +### 3. Create a new branch +Please avoid working directly on the main branch. Use descriptive branch names like:: + +```bash +git checkout -b feature/xxx # new feature +git checkout -b fix/xxx-bug # bug fix +git checkout -b docs/update-readme # documentation update +``` +### 4. Commit your changes +```bash +git add . +git commit -m "feat: add xxx feature" +git push origin feature/xxx +``` + +### 5. Create a Pull Request (PR) +- On GitHub, open your fork repository, and click Compare & pull request; +- Fill in the PR title and description explaining what you changed and why; +- Choose the target branch as main or the development branch designated by the maintainers; +- Submit and wait for the maintainers to review. + +## ✅ Commit Message Guidelines (Recommended) +We recommend following the Conventional Commits specification to keep commit logs consistent and enable automatic changelog generation. + +### 📋 Format: + +| Type | Description | +|------------|-------------------------------------------| +| `feat` | ✨ Introduce a new feature | +| `fix` | 🐛 Fix a bug | +| `docs` | 📝 Documentation only changes | +| `style` | 💅 Code formatting (white-space, indentation, etc.) no functional changes | +| `refactor` | 🔨 Code refactoring (neither a fix nor a new feature) | +| `test` | ✅ Adding or modifying tests | +| `chore` | 🔧 Changes to build process, tooling or dependencies | +| `perf` | ⚡ Performance improvements | +| `revert` | ⏪ Revert previous commits | + + + +Example commits: +```bash +git commit -m "feat: request" +git commit -m "fix: resolve xxx" +git commit -m "docs: update CONTRIBUTING.md" +``` +## 🛠️ Recommended Development Environment +- Zig version: 0.14.0 or above +- Dependency management: Go Modules +- Recommended IDEs: + - CLion + - VS Code + official Zls plugin + +## 🐞 Issue Submission Guide +- When submitting a bug report or feature request, please try to provide: +- Your operating system, Go version, and environment details +- Steps to reproduce the issue +- Screenshots if applicable +- Expected behavior and actual behavior differences + +## 🤝 Contribution Suggestions +- Try to keep each Pull Request focused on a single feature or bug fix +- Make sure your code builds successfully and passes basic tests before submitting PR +- Respect others' work; it’s encouraged to discuss ideas via Issues before coding to avoid duplicated efforts + +## 📄 License +This project is licensed under the MIT. + +Thank you for your support and contributions to the open source community! 🙏 \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 92171b9..9814e8d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,10 +2,12 @@ Contributions are welcome! 🙏 +- 中文版请查看 [CONTRIBUTING.zh.md](CONTRIBUTING.zh.md) +- English version please see [CONTRIBUTING.en.md](CONTRIBUTING.en.md) + ## Communicating We now have a discord server! [Join here](https://discord.gg/jQAAN6Ubyj))! Pull-requests and issues are, of course, welcome, too - as are GitHub discussions. - diff --git a/CONTRIBUTING.zh.md b/CONTRIBUTING.zh.md new file mode 100644 index 0000000..1a77bbd --- /dev/null +++ b/CONTRIBUTING.zh.md @@ -0,0 +1,103 @@ +# 🙌 贡献指南(中文) + +非常感谢你对本项目的兴趣和支持!无论你是想提交代码、修复 Bug、完善文档,还是提出建议,我们都非常欢迎。 + +以下是参与贡献的详细指南。 + +--- + +## 💡 如何参与 + +你可以通过以下几种方式为本项目做出贡献: + +- 报告 Bug 或建议(通过 Issues) +- 优化或修复已有功能 +- 添加新功能 +- 优化 UI/UX 或交互体验 +- 编写或改进文档 +- 提交测试用例、样例项目等 + +--- + +## 🔁 提交流程(从 Fork 到 PR) + +请按以下步骤进行贡献代码的提交: + +### 1. Fork 本项目 + +点击本项目右上角的 `Fork` 按钮,将仓库复制到你自己的 GitHub 账户下。 + +### 2. 克隆你的仓库副本 + +```bash +git clone https://github.com/<你的 GitHub 用户名>/<项目名>.git +cd <项目名> +``` +### 3. 创建新分支 +请不要直接在 master 分支上开发,建议使用具有描述性的分支名: + +```bash +git checkout -b feature/xxx # 新功能 +git checkout -b fix/xxx-bug # 修复 Bug +git checkout -b docs/update-readme # 修改文档 +``` +### 4. 提交代码变更 +```bash= +git add . +git commit -m "feat: 添加 xxx 功能" +git push origin feature/xxx +``` + +### 5. 提交 Pull Request(PR) +- 在 GitHub 网页端打开你的 Fork 仓库,点击 Compare & pull request; +- 填写 PR 标题和描述,说明你做了哪些修改和为什么; +- 目标分支请选择 main 或维护者指定的开发分支; +- 提交后等待维护者审核。 + +## ✅ Commit 提交规范(建议) +我们推荐使用 Conventional Commits 规范,便于统一日志风格和自动生成 changelog。 + +### 📋 格式: + +| 类型 | 说明 | +|------------|-------------------------------------------| +| `feat` | ✨ 添加新功能 | +| `fix` | 🐛 修复 Bug | +| `docs` | 📝 仅修改文档内容 | +| `style` | 💅 代码格式修改(如空格、缩进、换行),不影响功能 | +| `refactor` | 🔨 重构代码(非新增功能或修复 Bug) | +| `test` | ✅ 添加或修改测试代码 | +| `chore` | 🔧 构建流程、工具配置或依赖更新 | +| `perf` | ⚡ 性能优化相关改动 | +| `revert` | ⏪ 回滚历史提交 | + + + +示例: +```bash +git commit -m "feat: request" +git commit -m "fix: 修复 xxx 问题" +git commit -m "docs: 更新 CONTRIBUTING.md " +``` +## 🛠️ 开发环境建议 +- Zig 版本: 0.14.0 或以上 +- 推荐 IDE: + - CLion + - VS Code + zls 插件 + +## 🐞 提交 Issue 指南 +- 当你提交 Bug 或功能建议时,请尽量提供以下信息: +- 当前使用的系统、Zig 版本等环境信息 +- 复现问题的操作步骤 +- 问题的截图(如适用) +- 期望的行为和实际的表现差异 + +## 🤝 贡献建议 +- 每次 Pull Request 尽量只修改一个功能或一个 Bug +- PR 提交前请确保可以成功构建并通过基本测试 +- 尊重他人劳动成果,提交前可先通过 Issue 简要讨论以避免重复劳动 + +## 📄 License +本项目采用 MIT License。 + +感谢你对开源社区的支持和贡献 🙏 \ No newline at end of file