Skip to content
Skillpedia
APIs & servers (backend)40k · #5087

create-spring-boot-java-project

Helps your agent create the initial structure of a Java project with Spring Boot. It prepares the codebase to start development.

What it does

This tool creates the basic structure for a Java project using Spring Boot. It downloads a template, adds necessary configurations and dependencies to get you started with development.

When to use it

  • ✓When you need to start a new web project with Java and Spring Boot.
  • ✓When you want to quickly set up a project with a database (PostgreSQL, MongoDB) and cache (Redis).
  • ✓To have a starting point with automatic documentation (Swagger) already configured.

Example of what to ask your AI

“Create a Spring Boot project named 'my-web-app' with dependencies for web, JPA, and PostgreSQL.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/github/awesome-copilot/blob/main/skills/create-spring-boot-java-project/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/github/awesome-copilot/blob/main/skills/create-spring-boot-java-project/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool downloads a Spring Boot project template, adds configurations for databases, cache, and documentation, and prepares a file to run services like PostgreSQL and Redis using Docker.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add github/awesome-copilot --skill create-spring-boot-java-project

Or download just the file:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/create-spring-boot-java-project/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Create Spring Boot Java project prompt

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 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

FAQ

What software do I need to have installed?

You need to have Java 21, Docker, and Docker Compose installed on your system.

How do I change the project name or the Spring Boot version?

You can change the project name by modifying the 'artifactId' and 'packageName', and the Spring Boot version by changing the 'bootVersion' in the download command.

What are the added dependencies?

These are extra functionalities the project might need, such as 'web' for creating web applications, 'data-jpa' and 'postgresql' for using a database, 'data-redis' for caching, 'springdoc-openapi' for automatic documentation, and 'testcontainers' for testing.

Details

Original description by the author

Create Spring Boot Java Project Skeleton

repo: github/awesome-copilot

Popularity

GitHub stars
40k
Ranking position
#5087
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills