create-spring-boot-java-project

Installation
Summary

Generate a Spring Boot 3.4.5 project skeleton with PostgreSQL, Redis, MongoDB, and Docker Compose.

  • Scaffolds a Maven-based Spring Boot project with Java 21, including Lombok, Spring Data JPA, Spring Web, caching, and validation dependencies
  • Pre-configures application.properties with connection details for PostgreSQL, Redis, and MongoDB, plus SpringDoc OpenAPI for API documentation
  • Generates a docker-compose.yaml file with Redis 6, PostgreSQL 17, and MongoDB 8 services, each with persistent volumes and default credentials
  • Adds ArchUnit for architecture testing and springdoc-openapi for Swagger UI integration out of the box
  • Requires Java 21, Docker, and Docker Compose installed locally; customizable project name and Spring Boot version via template parameters
SKILL.md

Create a Spring Boot Java project

Scaffold a Spring Boot application with start.spring.io, then apply a small set of opinionated defaults. Out of scope for now: front-ends (Vue/React/Angular), cloud deployment (Azure), Git setup, CRaC and AOT images.

Step 0: Detect before you create

  • If the working directory already contains a pom.xml or build.gradle(.kts), this is an existing project: do not regenerate it. Read its Spring Boot, Java and test-framework versions and follow them. Never upgrade versions implicitly; propose an upgrade and wait for the user's decision.
  • Check the tools: java -version (JDK matching the chosen Java version), docker --version (needed for Testcontainers and Compose). On the default path (current Boot via start.spring.io) Maven/Gradle need not be installed: the generated wrapper is used. The Boot 3.5 fallback needs Maven or Gradle installed once to create the wrapper (see versions.md).
  • Ask only for what is missing: project name, group id, package, build tool (default Maven), dependencies (default: web, actuator, validation, devtools; add data-jpa, postgresql, security, docker-compose, testcontainers when a database or auth is needed).

Step 1: Resolve versions

Follow references/versions.md: query https://start.spring.io/metadata/client at run time for the latest stable Spring Boot release, fall back to the documented pinned values if offline. Do not hardcode latest anywhere.

Step 2: Generate the project

Use the start.spring.io HTTP API with explicit, pinned parameters (no piped installers). Replace the values in capitals.

Maven:

Installs
9.6K
GitHub Stars
40.9K
First Seen
Feb 25, 2026