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/datacorp-sifap-modernization-team-kit --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/datacorp-sifap-modernization-team-kit/tree/main/.github/skills/create-spring-boot-java-project
Command: npx skills add https://github.com/serpro-workshop-fortaleza/datacorp-sifap-modernization-team-kit --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: choosing dependencies, configuring the database connection, adding API documentation, and wiring a local database. This Skill automates the entire bootstrap so the team gets a consistent, buildable project aligned with the kit's fixed technology stack. ## Core Features & Use Cases - Project Generation: Downloads a Maven + Java 21 starter from start.spring.io with the kit's dependency set (web, data-jpa, postgresql, validation, testcontainers, lombok). - Stack Enforcement: Adds springdoc-openapi and ArchUnit, configures PostgreSQL 16 via Docker Compose, and keeps credentials out of source control through environment variables. - Build Verification: Runs ./mvnw clean test with Testcontainers so the scaffold compiles and tests pass before handoff. - Use Case: During Stage 3 of the SIFAP modernization immersion, a developer asks the AI to create the initial backend/ module, and receives a ready-to-run Spring Boot 3.3 project with Swagger UI and a local PostgreSQL service. ## Quick Start Ask the AI to create the initial Spring Boot 3.3 Java 21 project structure for the backend module with PostgreSQL and Docker Compose.

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 archive from start.spring.io specifying type=maven-project, javaVersion=21, and your bootVersion, then unzip it. 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 the springdoc-openapi-starter-webmvc-ui dependency (version 2.8.6) and archunit-junit5 (version 1.2.1, test scope) to the pom.xml. Then configure swagger-ui properties such as doc-expansion and operations-sorter in application.properties.

Does this Spring Boot setup support Redis or MongoDB?▼

No. The kit's stack uses only PostgreSQL 16 as the data store, so the generated Docker Compose file defines a single postgres:16 service. Redis, MongoDB, and cache starters are explicitly excluded from the dependency set.

How do I avoid hardcoding the database password in application.properties?▼

Reference an environment variable with spring.datasource.password=${POSTGRES_PASSWORD} instead of a literal value. Define POSTGRES_PASSWORD in your terminal or a Git-ignored .env file so credentials never enter the Git history.

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

The validate setting prevents Hibernate from altering the schema automatically, leaving versioned Flyway migrations in control of database changes. This keeps the schema evolution explicit, reviewable, and consistent across environments.