
Spring Boot Project Creator
Spin up a build-ready Spring Boot 3.x or 4.x service with Initializr, DDD or layered packages, JPA, OpenAPI, and Docker Compose for local data stores.
Overview
Spring Boot Project Creator is an agent skill for the Build phase that scaffolds Spring Boot 3.x or 4.x backends from Initializr with DDD or layered layout, JPA, OpenAPI, and Docker Compose data services.
Install
npx skills add https://github.com/giuseppe-trisciuoglio/developer-kit --skill spring-boot-project-creatorWhat is this skill?
- Downloads and configures projects via the Spring Initializr API for Spring Boot 3.x or 4.x
- Scaffolds either DDD or classic Layered (controller/service/repository) package structure
- Wires JPA and SpringDoc OpenAPI dependencies and boilerplate configuration
- Generates Docker Compose for PostgreSQL, Redis, and/or MongoDB local development
- Interactive walkthrough via AskUserQuestion for architecture and datastore choices
- Supports Spring Boot 3.x and 4.x
- Two architecture modes: DDD and Layered
- Docker Compose options for PostgreSQL, Redis, and MongoDB
Adoption & trust: 930 installs on skills.sh; 271 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need a new Java backend fast but do not want to misconfigure Initializr, package layout, or local databases by hand.
Who is it for?
Starting a microservice or API service on Spring Boot with opinionated structure and local Docker dependencies in one agent session.
Skip if: Adding features to an existing Spring codebase, choosing cloud production infra, or non-Java backend stacks.
When should I use this skill?
Creating a new Java Spring Boot project from scratch, bootstrapping a microservice, or when the user says create spring boot project, new spring boot app, bootstrap java project, or scaffold spring boot microservice.
What do I get? / Deliverables
You get a standardized, build-ready Spring Boot repo with chosen architecture style, API docs setup, and Compose-backed local Postgres, Redis, and/or MongoDB.
- Generated Spring Boot Maven/Gradle project tree
- Application configuration for JPA and OpenAPI
- docker-compose.yml for selected data stores
Recommended Skills
Journey fit
How it compares
Use instead of copying an old repo or manually clicking Initializr without architecture and Compose conventions baked in.
Common Questions / FAQ
Who is spring-boot-project-creator for?
Solo and indie builders (and small teams) shipping Java APIs or microservices who want Initializr plus DDD or layered scaffolding and local DB containers without a separate tutorial.
When should I use spring-boot-project-creator?
During Build/backend work when you are creating a net-new Spring Boot 3.x or 4.x app, bootstrapping a microservice, or setting up JPA, OpenAPI, and Docker Compose for Postgres, Redis, or MongoDB.
Is spring-boot-project-creator safe to install?
It uses Read, Write, Edit, Bash, and network-style fetches to Initializr; review the Security Audits panel on this page and inspect generated files and Compose images before running containers.
SKILL.md
READMESKILL.md - Spring Boot Project Creator
# Spring Boot Project Creator ## Overview Generates a fully configured Spring Boot project from scratch using the Spring Initializr API. The skill walks the user through selecting project parameters, choosing an architecture style (DDD or Layered), configuring data stores, and setting up Docker Compose for local development. The result is a build-ready project with standardized structure, dependency management, and configuration. ## When to Use - Bootstrap a new Spring Boot 3.x or 4.x project with a standard structure. - Initialize a backend microservice with JPA, SpringDoc OpenAPI, and Docker Compose. - Scaffold a project following either DDD (Domain-Driven Design) or Layered (Controller/Service/Repository/Model) architecture. - Set up local development infrastructure with PostgreSQL, Redis, and/or MongoDB via Docker Compose. - Trigger phrases: **"create spring boot project"**, **"new spring boot app"**, **"bootstrap java project"**, **"scaffold spring boot microservice"**, **"initialize spring boot backend"**, **"generate spring boot project"**. ## Prerequisites Before starting, ensure the following tools are installed: - **Java Development Kit (JDK)**: Version 17+ (Java 21 recommended for Spring Boot 3.x/4.x) - **Apache Maven**: Build tool (Spring Initializr generates Maven projects by default) - **Docker** and **Docker Compose**: For running local infrastructure services - **curl** and **unzip**: For downloading and extracting the project from Spring Initializr ## Instructions Follow these steps to create a new Spring Boot project. ### 1. Gather Project Configuration Ask the user for the following project parameters using **AskUserQuestion**. Provide sensible defaults: | Parameter | Default | Options | |-----------|---------|---------| | **Group ID** | `com.example` | Any valid Java package name | | **Artifact ID** | `demo` | Kebab-case identifier | | **Package Name** | Same as Group ID | Valid Java package | | **Spring Boot Version** | `3.4.5` | `3.4.x`, `4.0.x` (check start.spring.io for latest) | | **Java Version** | `21` | `17`, `21` | | **Architecture** | User choice | `DDD` or `Layered` | | **Docker Services** | User choice | PostgreSQL, Redis, MongoDB (multi-select) | | **Build Tool** | `maven` | `maven`, `gradle` | ### 2. Generate Project with Spring Initializr Use `curl` to download the project scaffold from start.spring.io. **Base dependencies** (always included): - `web` — Spring Web MVC - `validation` — Jakarta Bean Validation - `data-jpa` — Spring Data JPA - `testcontainers` — Testcontainers support **Conditional dependencies** (based on Docker Services selection): - PostgreSQL selected → add `postgresql` - Redis selected → add `data-redis` - MongoDB selected → add `data-mongodb` ```bash # Example for Spring Boot 3.4.5 with PostgreSQL only curl -s https://start.spring.io/starter.zip \ -d type=maven-project \ -d language=java \ -d bootVersion=3.4.5 \ -d groupId=com.example \ -d artifactId=demo \ -d packageName=com.example \ -d javaVersion=21 \ -d packaging=jar \ -d dependencies=web,data-jpa,postgresql,validation,testcontainers \ -o starter.zip unzip -o starter.zip -d ./demo rm starter.zip cd demo ``` ### 3. Add Additional Dependencies Edit `pom.xml` to add SpringDoc OpenAPI and ArchUnit for architectural testing. ```xml <!-- SpringDoc OpenAPI --> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <versio