Skip to main content

🤝 Contributing Guide

Thank you for considering contributing to our project! Every contribution is valuable, big or small, and we appreciate them all.

🚀

Welcome to Contribute

Since its open source development, Spring AI Alibaba has received significant attention from the community. Every Issue and every PR from the community helps the entire project and contributes to building a better Spring AI.

We sincerely thank all developers who have submitted Issues and PRs for this project. We hope more developers from the community will join us to make the project better together.

Before contributing code, please take a moment to understand the process for contributing code to Spring AI Alibaba.

💡

Contribution Types

We welcome any contributions at any time, whether it's simple typo corrections, bug fixes, or adding new features. Feel free to raise issues or submit PRs. We also value documentation and integration with other open source projects, and welcome contributions in these areas.

For more complex changes, it is recommended to first add a Feature label in an Issue and briefly describe the design and modification points.

💻

Code Development

Develop your own features. After development, it is recommended to use the mvn clean package command to ensure that the modified code can be compiled locally. This command also automatically formats the code in the Spring way. Then submit the code. Before submitting code, please note to create a new branch related to this feature for code submission.

Code Quality Check

After completing local BOE environment development, it is strongly recommended to execute the make command provided by the project tools/make for local continuous integration (CI) checks before submitting a PR to ensure that the code meets the project's standards and specifications. If you have any questions about local CI, you can type make help in the console to learn specific information.

🔍

Code Standards

To reduce some unnecessary code style issues, Spring AI Alibaba provides local Checkstyle check functionality. You can execute the mvn checkstyle:check command in the project root directory to check whether the code style meets the specifications.

🧹

Code Cleaning

To ensure code cleanliness, please delete unused imports in Java files. You can automatically delete unused imports by executing the mvn spotless:apply command.

📝

Code Commit

After coding is completed, you need to format & check the commit information based on the PR specification [lint-pr-title.yml](.github/workflows/lint-pr-title.yml) to ensure that the commit information meets the specifications.

Commit format: git commit -m "type(module): space compliant commit message", for example: feat(docs): contribute-zh update

🎉

PR Submission

Submit a PR, write down the modifications and implemented functions according to the Pull request template, wait for code review and merge, become a Spring AI Alibaba Contributor, and contribute to better Spring AI Alibaba.

🔄

Code Merge

Similarly, before submitting a PR, you need to rebase the code from the main branch (if your target branch is not main, then rebase the corresponding target branch). For specific operation steps, please refer to the previous chapters.

If conflicts occur, they need to be resolved first.

📜

Code of Conduct

By participating in this project, you agree to abide by our Code of Conduct. Please ensure interactions remain friendly, respectful, and inclusive.

Spring AI Alibaba 开源项目基于 Spring AI 构建,是阿里云通义系列模型及服务在 Java AI 应用开发领域的最佳实践,提供高层次的 AI API 抽象与云原生基础设施集成方案,帮助开发者快速构建 AI 应用。