Creates Spring Boot Kotlin project skeleton with reactive WebFlux, R2DBC/PostgreSQL, Redis, MongoDB; adds OpenAPI UI, ArchUnit; configures properties. Needs Java 21, Docker.
From awesome-copilotnpx claudepluginhub ctr26/dotfiles --plugin awesome-copilotThis skill uses the workspace's default tool permissions.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Uses ctx7 CLI to fetch current library docs, manage AI coding skills (install/search/generate), and configure Context7 MCP for AI editors.
Please make sure you have the following software installed on your system:
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
java -version
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 starter.zip -d ./${input:projectName:demo-kotlin}
rm -f starter.zip
unzip starter.zip -d ./${input:projectName:demo-kotlin}
springdoc-openapi-starter-webmvc-ui and archunit-junit5 dependency into build.gradle.kts filedependencies {
implementation("org.springdoc:springdoc-openapi-starter-webflux-ui:2.8.6")
testImplementation("com.tngtech.archunit:archunit-junit5:1.2.1")
}
application.properties file# SpringDoc configurations
springdoc.swagger-ui.doc-expansion=none
springdoc.swagger-ui.operations-sorter=alpha
springdoc.swagger-ui.tags-sorter=alpha
application.properties file# Redis configurations
spring.data.redis.host=localhost
spring.data.redis.port=6379
spring.data.redis.password=rootroot
application.properties file# 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
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
Create docker-compose.yaml at project root and add following services: redis:6, postgresql:17 and mongo:8.
rootroot./redis_data to /datarootroot./postgres_data to /var/lib/postgresql/datarootrootroot./mongo_data to /data/dbInsert redis_data, postgres_data and mongo_data directories in .gitignore file
Run gradle clean test command to check if the project is working
./gradlew clean test
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.