create-spring-boot-kotlin-project

Create Spring Boot Kotlin Project Skeleton

28,865 stars

Best use case

create-spring-boot-kotlin-project is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Create Spring Boot Kotlin Project Skeleton

Teams using create-spring-boot-kotlin-project should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/create-spring-boot-kotlin-project/SKILL.md --create-dirs "https://raw.githubusercontent.com/github/awesome-copilot/main/skills/create-spring-boot-kotlin-project/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/create-spring-boot-kotlin-project/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How create-spring-boot-kotlin-project Compares

Feature / Agentcreate-spring-boot-kotlin-projectStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Create Spring Boot Kotlin Project Skeleton

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Create Spring Boot Kotlin 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](./create-spring-boot-kotlin-project.prompt.md#download-spring-boot-project-template)

- If you need to update the Spring Boot version, please change the `bootVersion` in [download-spring-boot-project-template](./create-spring-boot-kotlin-project.prompt.md#download-spring-boot-project-template)

## Check Java version

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

```shell
java -version
```

## Download Spring Boot project template

- Run following command in terminal to download a Spring Boot project template

```shell
curl https://start.spring.io/starter.zip \
  -d artifactId=${input:projectName:demo-kotlin} \
  -d bootVersion=3.4.5 \
  -d dependencies=configuration-processor,webflux,data-r2dbc,postgresql,data-redis-reactive,data-mongodb-reactive,validation,cache,testcontainers \
  -d javaVersion=21 \
  -d language=kotlin \
  -d packageName=com.example \
  -d packaging=jar \
  -d type=gradle-project-kotlin \
  -o starter.zip
```

## Unzip the downloaded file

- Run following command in terminal to unzip the downloaded file

```shell
unzip starter.zip -d ./${input:projectName:demo-kotlin}
```

## Remove the downloaded zip file

- Run following command in terminal to delete the downloaded zip file

```shell
rm -f starter.zip
```

## Unzip the downloaded file

- Run following command in terminal to unzip the downloaded file

```shell
unzip starter.zip -d ./${input:projectName:demo-kotlin}
```

## Add additional dependencies

- Insert `springdoc-openapi-starter-webmvc-ui` and `archunit-junit5` dependency into `build.gradle.kts` file

```gradle.kts
dependencies {
  implementation("org.springdoc:springdoc-openapi-starter-webflux-ui:2.8.6")
  testImplementation("com.tngtech.archunit:archunit-junit5:1.2.1")
}
```

- Insert SpringDoc configurations into `application.properties` file

```properties
# 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

```properties
# Redis configurations
spring.data.redis.host=localhost
spring.data.redis.port=6379
spring.data.redis.password=rootroot
```

- Insert R2DBC configurations into `application.properties` file

```properties
# R2DBC configurations
spring.r2dbc.url=r2dbc:postgresql://localhost:5432/postgres
spring.r2dbc.username=postgres
spring.r2dbc.password=rootroot

spring.sql.init.mode=always
spring.sql.init.platform=postgres
spring.sql.init.continue-on-error=true
```

- Insert MongoDB configurations into `application.properties` file

```properties
# 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
```

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

- Insert `redis_data`, `postgres_data` and `mongo_data` directories in `.gitignore` file

- Run gradle clean test command to check if the project is working

```shell
./gradlew clean test
```

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

Let's do this step by step.

Related Skills

spring-boot-testing

28865
from github/awesome-copilot

Expert Spring Boot 4 testing specialist that selects the best Spring Boot testing techniques for your situation with Junit 6 and AssertJ.

project-workflow-analysis-blueprint-generator

28865
from github/awesome-copilot

Comprehensive technology-agnostic prompt generator for documenting end-to-end application workflows. Automatically detects project architecture patterns, technology stacks, and data flow patterns to generate detailed implementation blueprints covering entry points, service layers, data access, error handling, and testing approaches across multiple technologies including .NET, Java/Spring, React, and microservices architectures.

kotlin-springboot

28865
from github/awesome-copilot

Get best practices for developing applications with Spring Boot and Kotlin.

create-tldr-page

28865
from github/awesome-copilot

Create a tldr page from documentation URLs and command examples, requiring both URL and command name.

create-specification

28865
from github/awesome-copilot

Create a new specification file for the solution, optimized for Generative AI consumption.

create-readme

28865
from github/awesome-copilot

Create a README.md file for the project

create-llms

28865
from github/awesome-copilot

Create an llms.txt file from scratch based on repository structure following the llms.txt specification at https://llmstxt.org/

create-github-pull-request-from-specification

28865
from github/awesome-copilot

Create GitHub Pull Request for feature request from specification file using pull_request_template.md template.

create-github-issues-for-unmet-specification-requirements

28865
from github/awesome-copilot

Create GitHub Issues for unimplemented requirements from specification files using feature_request.yml template.

create-github-issue-feature-from-specification

28865
from github/awesome-copilot

Create GitHub Issue for feature request from specification file using feature_request.yml template.

create-github-action-workflow-specification

28865
from github/awesome-copilot

Create a formal specification for an existing GitHub Actions CI/CD workflow, optimized for AI consumption and workflow maintenance.

create-architectural-decision-record

28865
from github/awesome-copilot

Create an Architectural Decision Record (ADR) document for AI-optimized decision documentation.