感谢考虑为我们的项目做贡献!每一个贡献都是有价值的,无论大小,我们都深表感谢。
Spring AI Alibaba 从开源建设以来,受到了很多社区同学的关注。社区的每一个 Issue ,每一个 PR,都是对整个项目的帮助,都在为建设更好用的 Spring AI 添砖加瓦。
我们真心地感谢为这个项目提出过 Issue 和 PR 的开发者。我们希望有更多社区的开发者加入进来,一起把项目做好。
在贡献代码 之前,请您稍微花一些时间了解为 Spring AI Alibaba 贡献代码的流程。
我们随时都欢迎任何贡献,无论是简单的错别字修正,BUG 修复还是增加新功能。请踊跃提出问题或发起 PR。我们同样重视文档以及与其它开源项目的整合,欢迎在这方面做出贡献。
如果是一个比较复杂的修改,建议先在 Issue 中添加一个 Feature 标识,并简单描述一下设计和修改点。
开发自己的功能,开发完毕后建议使用 mvn clean package 命令确保能修改后的代码能在本地编译通过。执行该命令的同时还能以 spring 的方式自动格式化代码。然后再提交代码,提交代码之前请注意创建一个新的有关本特性的分支,用该分支进行代码提交。
本地 boe 环境开发完成后,强烈建议在提交 PR 之前执行项目 tools/make 提供的 make 命令进行本地持续集成(CI)检查,以确保代码符合项目的标准和规范。如果对于本地CI有任何疑问,可以在控制台输入 make help 了解具体信息。
为了减少一些不必要的代码风格问题,Spring AI Alibaba 提供了本地 Checkstyle 检查功能。可以在项目根目录下执行 mvn checkstyle:check 命令来检查代码风格是否符合规范 。
为了确保代码的整洁,请删除 Java 文件中未使用的导入。可以通过执行 mvn spotless:apply 命令来自动删除未使用的导入。
在编码完成之后,需要基于 pr 规范 [lint-pr-title.yml](.github/workflows/lint-pr-title.yml) 对提交信息进行 format & check,确保提交信息符合规范。
Commit 规范: git commit -m "类型(模块): 空格 符合规范的提交信息",例如 feat(docs): contribute-zh 更新
提交 PR,根据 Pull request template 写明修改点和实现的功能,等待 code review 和 合并,成为 Spring AI Alibaba Contributor,为更好用的 Spring AI Alibaba 做出贡献。
同样,提交 PR 前,需要 rebase main 分支的代码(如果您的目标分支不是 main 分支,则需要 rebase 对应目标分支),具体操作步骤请参考之前的章节。
如果出现冲突,需要先解决冲突。
Spring AI Alibaba 开源项目基于 Spring AI 构建,是阿里云通义系列模型及服务在 Java AI 应用开发领域的最佳实践,提供高层次的 AI API 抽象与云原生基础设施集成方案,帮助开发者快速构建 AI 应用。