Skip to main content

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

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.
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
This helps prevent scope creep and ensures alignment with Spring AI’s mission.
Projects must have at least one committed developer.
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.
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.
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.
This is for maximum license compatibility with the Spring ecosystem.
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.
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):
0.x versions (pre-1.0)
Example: 0.1.0, 0.2.5, 0.9.3

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
I