create-spring-boot-java-project

Generates a Spring Boot 3.3 Java 21 project scaffold with Maven, PostgreSQL, and Docker Compose.

Updated Sep 10, 2026
One-click install
npx skills add https://github.com/serpro-workshop-fortaleza/sifap-modernization-paula --skill create-spring-boot-java-project-serpro-workshop-fortaleza
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: create-spring-boot-java-project
Source: https://github.com/serpro-workshop-fortaleza/sifap-modernization-paula/tree/main/.github/skills/create-spring-boot-java-project
Command: npx skills add https://github.com/serpro-workshop-fortaleza/sifap-modernization-paula --skill create-spring-boot-java-project-serpro-workshop-fortaleza

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Setting up a new Spring Boot backend from scratch involves many manual decisions: picking dependencies, configuring the database connection, adding API documentation, and wiring up Docker. This Skill automates the entire scaffolding process so the team gets a consistent, buildable Java 21 project aligned with the kit's fixed technology stack. ## Core Features & Use Cases - Project Generation via start.spring.io: Downloads a Maven + Java 21 + Spring Boot 3.3 starter with the kit's dependency set (web, data-jpa, postgresql, validation, testcontainers, lombok). - API Docs and Architecture Testing: Adds springdoc-openapi for Swagger UI and ArchUnit for architecture rule tests. - PostgreSQL 16 with Docker Compose: Creates a compose.yaml with a single PostgreSQL 16 service and configures the datasource to read the password from the POSTGRES_PASSWORD environment variable, never hardcoded. - Use Case: At the start of a modernization sprint, ask the assistant to create the backend module; it downloads the starter, configures JPA with ddl-auto=validate for Flyway-controlled migrations, and verifies the build with ./mvnw clean test. ## Quick Start Ask the assistant to create a new Spring Boot 3.3 Java 21 project named backend with PostgreSQL and Docker Compose support.

Frequently Asked Questions about create-spring-boot-java-project

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Spring Boot project with Java 21 and Maven?

Download a starter from start.spring.io with type=maven-project, javaVersion=21, and bootVersion=3.3.5, then unzip it into your target directory. This Skill automates that curl request with the kit's dependency set and verifies the result with ./mvnw clean test.

How to add springdoc-openapi and ArchUnit to a Spring Boot project?

Add springdoc-openapi-starter-webmvc-ui version 2.8.6 as a compile dependency and archunit-junit5 version 1.2.1 with test scope to the pom.xml. SpringDoc then exposes a Swagger UI, and ArchUnit runs architecture rules during tests.

Can I use Redis or MongoDB with this Spring Boot setup?

No. The kit's technology stack is fixed to PostgreSQL 16 only, with no Redis, MongoDB, or cache starter dependencies. The generated compose.yaml defines a single PostgreSQL 16 service.

How do I configure the PostgreSQL password without hardcoding it?

Reference ${POSTGRES_PASSWORD} in application.properties and compose.yaml, then define the variable in your terminal or a Git-ignored .env file. Never commit credentials to the repository or hardcode them in configuration files.

Why use ddl-auto=validate instead of update in Spring JPA?

The validate setting makes Hibernate only check the schema against entities instead of modifying it. Versioned Flyway migrations control the schema, preventing accidental uncontrolled changes to the database structure.