Project Creation Process
You can apply to create a new project using the community Issue Form in the community repository. After submission, a GitHub issue will be automatically created where the Spring AI Community Leads will discuss your proposal with you. This discussion will help determine if your project meets the necessary requirements for inclusion.Propose a New Project
Create a new issue in the community repository
Project Requirements
Working Proof of Concept
Working Proof of Concept
A functioning implementation that uses artifacts (dependencies, libraries) from the Spring AI project and demonstrates integration with Spring AI’s core APIs. The code should show clear value to the Spring AI ecosystem and solve a real problem that other developers face.
Clear Project Scope and Description
Clear Project Scope and Description
Projects must provide a clear, concise description of their purpose, scope, and goals. This should include:
- What problems the project solves
- Who the intended users are
- How it fits within the Spring AI ecosystem
Identify Development Team
Identify Development Team
Projects must have at least one committed developer.
Basic Documentation in English
Basic Documentation in English
Documentation must clearly explain what the project does, how to get started, and basic usage examples. While it doesn’t need to be exhaustive at this stage, it should be sufficient for other developers to understand and begin using the project. All documentation must be in English to ensure accessibility to the global Spring community.
Unit and Integration Tests
Unit and Integration Tests
The project must include a basic suite of integration tests that demonstrate proper functionality and integration with Spring AI. These tests should verify the core features and integration points, ensuring reliability and making it easier to identify breaking changes.
Agreement to Project Guidelines
Agreement to Project Guidelines
Maintainers must agree to follow the Spring AI code of conduct. This ensures alignment with Spring AI’s values and practices while fostering a collaborative community environment.
Apache 2 License
Apache 2 License
This is for maximum license compatibility with the Spring ecosystem.
Public Repository with Open Development
Public Repository with Open Development
All development must occur in a public repository with transparent processes for contributions and issue tracking. This can all occur on GitHub. This ensures community visibility and encourages collaboration while building trust in the project’s development process.
Clear Contribution Guidelines
Clear Contribution Guidelines
The project should define contribution guidelines. Can use existing contribution guidelines such as the Spring Framework Contributing Guide as a basis. The guidelines need to be clear and welcoming to new contributors.
Versioning Requirements
Projects must follow semantic versioning (MAJOR.MINOR.PATCH):Project Naming and Package Guidelines
Naming
1
Follow Patterns
Project names typically follow the pattern
spring-ai-[key-feature]
Examples: spring-ai-swarm
, spring-ai-vectorstore
2
Be Descriptive
Projects aren’t strictly limited to this pattern, but should be descriptive and relevant
3
Stay Appropriate
Names must not be offensive or inappropriate
4
Use Spring Conventions
All projects should follow common Spring naming conventions/patterns for classes
Final project name is handled on a case-by-case basis during the submission process.
Packaging
You have two options for publishing to Maven Central:- GitHub Org Publishing
- Custom Publishing
Publish using GitHub’s process for projects in an org to release into Maven Central using
io.github.spring-ai-community
as the groupId- Free choice of the Java root package name
Commercial and Organizational Structure
Commercial projects are welcome!
- Commercial ownership/control is acceptable
- Single-vendor projects are welcome
- Projects should be transparent about their commercial relationships