create-spring-boot-java-project

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

INSTALLATION
npx skills add https://github.com/github/awesome-copilot --skill create-spring-boot-java-project
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

$2a

Download Spring Boot project template

  • Run following command in terminal to download a Spring Boot project template
curl https://start.spring.io/starter.zip \

  -d artifactId=${input:projectName:demo-java} \

  -d bootVersion=3.4.5 \

  -d dependencies=lombok,configuration-processor,web,data-jpa,postgresql,data-redis,data-mongodb,validation,cache,testcontainers \

  -d javaVersion=21 \

  -d packageName=com.example \

  -d packaging=jar \

  -d type=maven-project \

  -o starter.zip

Unzip the downloaded file

  • Run following command in terminal to unzip the downloaded file
unzip starter.zip -d ./${input:projectName:demo-java}

Remove the downloaded zip file

  • Run following command in terminal to delete the downloaded zip file
rm -f starter.zip

Change directory to the project root

  • Run following command in terminal to change directory to the project root
cd ${input:projectName:demo-java}

Add additional dependencies

  • Insert springdoc-openapi-starter-webmvc-ui and archunit-junit5 dependency into pom.xml file
<dependency>

  <groupId>org.springdoc</groupId>

  <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>

  <version>2.8.6</version>

</dependency>

<dependency>

  <groupId>com.tngtech.archunit</groupId>

  <artifactId>archunit-junit5</artifactId>

  <version>1.2.1</version>

  <scope>test</scope>

</dependency>

Add SpringDoc, Redis, JPA and MongoDB configurations

  • Insert SpringDoc configurations into application.properties file
# SpringDoc configurations

springdoc.swagger-ui.doc-expansion=none

springdoc.swagger-ui.operations-sorter=alpha

springdoc.swagger-ui.tags-sorter=alpha
  • Insert Redis configurations into application.properties file
# Redis configurations

spring.data.redis.host=localhost

spring.data.redis.port=6379

spring.data.redis.password=rootroot
  • Insert JPA configurations into application.properties file
# JPA configurations

spring.datasource.driver-class-name=org.postgresql.Driver

spring.datasource.url=jdbc:postgresql://localhost:5432/postgres

spring.datasource.username=postgres

spring.datasource.password=rootroot

spring.jpa.hibernate.ddl-auto=update

spring.jpa.show-sql=true

spring.jpa.properties.hibernate.format_sql=true
  • Insert MongoDB configurations into application.properties file
# MongoDB configurations

spring.data.mongodb.host=localhost

spring.data.mongodb.port=27017

spring.data.mongodb.authentication-database=admin

spring.data.mongodb.username=root

spring.data.mongodb.password=rootroot

spring.data.mongodb.database=test

Add docker-compose.yaml with Redis, PostgreSQL and MongoDB services

-

Create docker-compose.yaml at project root and add following services: redis:6, postgresql:17 and mongo:8.

  • redis service should have
  • password rootroot
  • mapping port 6379 to 6379
  • mounting volume ./redis_data to /data
  • postgresql service should have
  • password rootroot
  • mapping port 5432 to 5432
  • mounting volume ./postgres_data to /var/lib/postgresql/data
  • mongo service should have
  • initdb root username root
  • initdb root password rootroot
  • mapping port 27017 to 27017
  • mounting volume ./mongo_data to /data/db

Add .gitignore file

  • Insert redis_data, postgres_data and mongo_data directories in .gitignore file

Run Maven test command

  • Run maven clean test command to check if the project is working
./mvnw clean test

Run Maven run command (Optional)

  • (Optional) docker-compose up -d to start the services, ./mvnw spring-boot:run to run the Spring Boot project, docker-compose rm -sf to stop the services.

Let's do this step by step

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card