option
HomeHome Skill DevOps & CI/CD create-spring-boot-java-project

create-spring-boot-java-project

github/awesome-copilot github/awesome-copilot

Create Spring Boot Java Project Skeleton

...Expand all
59
Updated time June 30, 2026

About create-spring-boot-java-project

The `create-spring-boot-java-project` skill is designed to automate the setup of a Spring Boot Java project skeleton, streamlining the initial stages of project development. By providing a ready-to-use template with essential configurations and dependencies, this skill reduces the manual effort involved in creating a new Spring Boot project from scratch. It ensures that the project is structured correctly and equipped with the necessary frameworks and tools for modern Java development, such as Docker and Docker Compose for containerized environments.

Key features of this skill include downloading a Spring Boot starter template with predefined dependencies, setting up Java 21 compatibility, and configuring core services like Redis, PostgreSQL, and MongoDB. It also incorporates SpringDoc for API documentation and additional testing frameworks like ArchUnit. The skill guides the user through unzipping the project, removing temporary files, updating `pom.xml` with extra dependencies, and configuring `application.properties` with connection and framework-specific settings. Moreover, it provides a Docker Compose setup to launch essential backend services quickly, ensuring a consistent development environment.

This skill is particularly useful for Java developers, DevOps engineers, and software teams who frequently start new Spring Boot projects. It is ideal for those looking to maintain consistency across multiple projects while minimizing setup time. It is also beneficial for educational purposes, enabling students or newcomers to quickly set up a complete Spring Boot project environment with modern development practices and integrated services.

FAQ

What software do I need to have installed to use this skill?

You need Java 21, Docker, and Docker Compose installed on your system to use this skill effectively.

Can I customize the project name and package name?

Yes, you can customize the project name by changing the `artifactId` and the package name by updating `packageName` in the template download configuration.

How do I update the Spring Boot version for the project?

You can change the `bootVersion` parameter in the template download command to specify a different Spring Boot version.

Are there any predefined dependencies included in the generated project?

Yes, the project includes dependencies like Lombok, web, JPA, PostgreSQL, Redis, MongoDB, validation, caching, and test containers. Additional dependencies like SpringDoc and ArchUnit are added manually in `pom.xml`.

Does this skill set up database services automatically?

Yes, it includes a `docker-compose.yaml` configuration to launch Redis, PostgreSQL, and MongoDB with default passwords and mapped ports.

View on GitHub

Create Spring Boot Java project prompt

  • Please make sure you have the following software installed on your system:

    • Java 21
    • Docker
    • Docker Compose
  • If you need to custom the project name, please change the artifactId and the packageName in download-spring-boot-project-template

  • If you need to update the Spring Boot version, please change the bootVersion in download-spring-boot-project-template

Check Java version

  • Run following command in terminal and check the version of Java
java -version

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 configurationsspringdoc.swagger-ui.doc-expansion=nonespringdoc.swagger-ui.operations-sorter=alphaspringdoc.swagger-ui.tags-sorter=alpha
  • Insert Redis configurations into application.properties file
# Redis configurationsspring.data.redis.host=localhostspring.data.redis.port=6379spring.data.redis.password=rootroot
  • Insert JPA configurations into application.properties file
# JPA configurationsspring.datasource.driver-class-name=org.postgresql.Driverspring.datasource.url=jdbc:postgresql://localhost:5432/postgresspring.datasource.username=postgresspring.datasource.password=rootrootspring.jpa.hibernate.ddl-auto=updatespring.jpa.show-sql=truespring.jpa.properties.hibernate.format_sql=true
  • Insert MongoDB configurations into application.properties file
# MongoDB configurationsspring.data.mongodb.host=localhostspring.data.mongodb.port=27017spring.data.mongodb.authentication-database=adminspring.data.mongodb.username=rootspring.data.mongodb.password=rootrootspring.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

All Files

1 files
SKILL.md 4.5k
View

Install create-spring-boot-java-project

Download and extract the skill files to your .claude/skills/ directory.

Download ZIP

Clone the repository and copy the skill files to your project.

git clone https://github.com/github/awesome-copilot/blob/main/skills/create-spring-boot-java-project/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Copy Copy
Quick Setup: Copy the skill folder to .claude/skills/Claude will automatically detect and use the skill

Related Skills

Verification &amp; Quality Assurance
Updated time June 29, 2026
klingai-upgrade-migration
Updated time July 3, 2026
base44-cli
Updated time June 29, 2026
Railway CLI Management
Updated time July 2, 2026
OR