感谢您对 Covariant Script 的支持!我们欢迎来自社区任何形式的贡献。
本项目及其所有参与者都应维护一个相互尊重、无骚扰的环境。请在与他人交流时保持体贴和建设性。
最简单的支持方式就是使用 CovScript!
- 在你的项目中使用 CovScript
- 遇到问题时反馈给我们(这本身也是贡献)
- 分享你的使用经验,比如写博客、分享代码例子
社区讨论:
- 在 GitHub Discussions 中随时提问和讨论
- 微信群:请发邮件至 mikecovlee@163.com 申请加入
- 线下活动:我们在成都定期组织线下技术交流活动
在创建 Bug 报告之前,请检查现有的 issue 以避免重复。创建 Bug 报告时,请尽可能包含详细信息:
- 用清晰的标题 说明问题
- 描述重现步骤 让我们能复现问题
- 提供具体例子 代码片段、测试用例等
- 说明预期和实际表现 你期望什么,实际发生了什么
- 环境信息:
- 操作系统版本(Windows、macOS、Linux、Android)
- Covariant Script 版本
- 编译器版本(如果从源码构建)
- 架构(x86、ARM、MIPS、LoongArch)
功能建议通过 GitHub issue 进行跟踪。创建功能建议时:
- 用清晰的标题 说明建议的功能
- 详细描述 你想要什么功能
- 解释意义 为什么这个功能对大多数用户有用
- 提供例子 功能应该如何使用
- 对标功能(可选)列出其他语言中的类似功能
不确定从哪里开始?你可以从以下标签的 issue 开始:
good first issue- 适合新手的问题help wanted- 需要帮助的问题
你也可以通过以下方式帮助传播 CovScript 的声音:
- 在 GitHub 上给我们 star
- 推荐给感兴趣的朋友
- 写文章或教程介绍 CovScript
- 在社区或会议上分享你的经验
- 制作视频教程或演示
- CMake 3.16 或更高版本
- 兼容 C++17 的编译器(GCC 7+、Clang 5+、MSVC 2017+)
- Git
推荐方式:使用 csbuild/ 中的构建脚本(已针对 Release 构建优化)
git clone https://github.com/covscript/covscript.git
cd covscript/csbuild
./make.sh使用 csbuild/ 目录下提供的批处理文件:
git clone https://github.com/covscript/covscript.git
cd covscript\csbuild然后根据目标平台运行相应脚本:
make_msvc_win64.bat- 64 位 Release 构建(推荐)make_msvc_win32.bat- 32 位 Release 构建make_msvc_arm64.bat- ARM64 Release 构建
手动构建方式(适用于开发和调试):
git clone https://github.com/covscript/covscript.git
cd covscript
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)git clone https://github.com/covscript/covscript.git
cd covscript
mkdir build && cd build
cmake .. -G "Visual Studio 16 2019" -A x64
cmake --build . --config Release构建完成后,运行测试套件:
cd tests
./auto_test.shcd tests
auto_test.bat-
Fork 仓库并从
master创建您的分支git checkout -b feature/my-new-feature
-
进行更改,遵循编码规范
-
彻底测试您的更改:
- 为新功能添加新测试
- 确保所有现有测试通过
- 如果可能,在多个平台上测试
-
提交您的更改,使用清晰、描述性的提交信息:
git commit -m "添加功能:功能描述" -
推送到您的 Fork:
git push origin feature/my-new-feature
-
开启 Pull Request,包含:
- 清晰的标题和描述
- 引用相关的 issue
- 更改的描述和理由
- 截图或示例(如果适用)
-
及时、专业地回应审查反馈
-
确保 CI/CD 检查通过(构建与测试、CodeQL)
- 使用一致的缩进(项目中使用的 4 个空格或制表符)
- 遵循项目中现有的代码风格
- 使用有意义的变量和函数名称
- 为复杂逻辑添加注释
- 在适当的地方优先使用现代 C++17 特性
在提交之前使用提供的格式化脚本:
Linux/macOS:
cd csbuild
./format.shWindows:
cd csbuild
format.bat- 专注提交:每次只提交一个逻辑更改
- 清晰的提交信息:说清楚改了什么、为什么改,不只是改了什么
- 更新文档:改了行为就记得更新相关文档
- 加测试:新功能应该有测试
- 保持兼容:尽量不要破坏现有代码
- 头文件:放置在
include/covscript/ - 源文件:放置在
sources/ - 测试:在
tests/中添加测试用例 - 文档:如果需要,更新
docs/
向 Covariant Script 贡献代码时,你可以得到:
- 永久署名 - 你的名字/GitHub 账号会被保留在 Git 历史中
- 著作权归你 - 按 Apache License 2.0 授权,贡献较多者将在大版本更新时增加到软件著作权作者中
- 应有的认可 - 贡献者列在项目历史里,重要贡献可能在发布说明中被提到
- 加入社区 - 成为数千名开发者共同维护的项目的一部分
我们真诚地感谢每一个为 Covariant Script 贡献力量的人!
有想法赞助 Covariant Script 吗?请来看看我们的赞助页面!
核心信息:
- 赞助资金用于项目运营和贡献者分红
- 目前仅接受来自中国大陆的赞助(法律要求)
- 活跃贡献者将按年度根据贡献度获得分红
- 财务情况完全透明公开
详情见 SPONSORING-zh.md。
通过为 Covariant Script 贡献代码,你同意你的贡献将在 Apache License 2.0 下授权。详见 LICENSE 文件。
欢迎:
- 开启 issue 进行讨论
- 联系维护者
- 加入我们的社区讨论
感谢您对 Covariant Script 的支持!