# spring-boot-project-creator

Generates a Spring Boot 3.x or 4.x project via Spring Initializr with DDD or layered architecture. Handy when bootstrapping a Java microservice with JPA, OpenAPI, and Docker Compose.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 3500 installs · ★ 363
- Author: giuseppe-trisciuoglio
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/giuseppe-trisciuoglio/developer-kit/tree/HEAD/plugins/developer-kit-java/skills/spring-boot-project-creator/SKILL.md
- Updated: 2026-09-10
- HTML: https://affpapa.org/en/nevibecode/skills/spring-boot-project-creator

## What it does

The skill asks for project parameters using `AskUserQuestion` before downloading the starter archive from `start.spring.io` with `curl`. Base dependencies always include `web`, `validation`, `data-jpa`, and `testcontainers`. The script then updates `pom.xml` to include `springdoc-openapi-starter-webmvc-ui` version 2.8.15 and `archunit-junit5` 1.4.1 for architecture tests.

It creates one of two package layouts: traditional layered structure or Domain-Driven Design (DDD). The generator places boilerplate files into the target packages. These include an OpenAPI configuration bean, a `GlobalExceptionHandler` with `@RestControllerAdvice`, and an `ErrorResponse` record. It also configures `application.properties` according to selected databases.

Running this skill requires JDK 17 or 21, Apache Maven, Docker with Docker Compose, plus `curl` and `unzip`. Without a local `unzip` binary, project generation fails immediately after downloading the archive.

## Requirements
- Works with: PostgreSQL, MongoDB, Docker

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add giuseppe-trisciuoglio/developer-kit --skill spring-boot-project-creator -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/spring-boot-project-creator/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/spring-boot-project-creator/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add giuseppe-trisciuoglio/developer-kit --skill spring-boot-project-creator -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/spring-boot-project-creator/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add giuseppe-trisciuoglio/developer-kit --skill spring-boot-project-creator -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/spring-boot-project-creator/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install giuseppe-trisciuoglio/developer-kit spring-boot-project-creator
```

2. **Manually: put the files in place**
- File: `.github/skills/spring-boot-project-creator/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add giuseppe-trisciuoglio/developer-kit --skill spring-boot-project-creator -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/giuseppe-trisciuoglio/developer-kit --path plugins/developer-kit-java/skills/spring-boot-project-creator
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/spring-boot-project-creator/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add giuseppe-trisciuoglio/developer-kit --skill spring-boot-project-creator -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/giuseppe-trisciuoglio/developer-kit/tree/HEAD/plugins/developer-kit-java/skills/spring-boot-project-creator/SKILL.md

## When to use it
- scaffold a Spring Boot 3.x or 4.x project via Spring Initializr
- generate package structure for DDD or layered architecture
- configure dependencies for PostgreSQL, Redis, or MongoDB
- add SpringDoc OpenAPI and ArchUnit into pom.xml
- prepare application.properties for local Docker Compose services

## Example prompts
- Create a new Spring Boot project with DDD architecture and PostgreSQL
- Scaffold a Spring Boot 3 microservice with Redis and layered structure
- Initialize a Spring Boot backend on Java 21 with MongoDB and OpenAPI

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: e074b9cd2cb8363d.

BEGIN THIRD-PARTY FILE e074b9cd2cb8363d
```text
---
name: spring-boot-project-creator
description: Creates and scaffolds a new Spring Boot project (3.x or 4.x) by downloading from Spring Initializr, generating package structure (DDD or Layered architecture), configuring JPA, SpringDoc OpenAPI, and Docker Compose services (PostgreSQL, Redis, MongoDB). Use when creating a new Java Spring Boot project from scratch, bootstrapping a microservice, or initializing a backend application.
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
---

# Spring Boot Project Creator

## Overview

Generates a fully configured Spring Boot project from scratch using the Spring Initializr API. The skill walks the user through selecting project parameters, choosing an architecture style (DDD or Layered), configuring data stores, and setting up Docker Compose for local development. The result is a build-ready project with standardized structure, dependency management, and configuration.

## When to Use

- Bootstrap a new Spring Boot 3.x or 4.x project with a standard structure.
- Initialize a backend microservice with JPA, SpringDoc OpenAPI, and Docker Compose.
- Scaffold a project following either DDD (Domain-Driven Design) or Layered (Controller/Service/Repository/Model) architecture.
- Set up local development infrastructure with PostgreSQL, Redis, and/or MongoDB via Docker Compose.
- Trigger phrases: **"create spring boot project"**, **"new spring boot app"**, **"bootstrap java project"**, **"scaffold spring boot microservice"**, **"initialize spring boot backend"**, **"generate spring boot project"**.

## Prerequisites

Before starting, ensure the following tools are installed:

- **Java Development Kit (JDK)**: Version 17+ (Java 21 recommended for Spring Boot 3.x/4.x)
- **Apache Maven**: Build tool (Spring Initializr generates Maven projects by default)
- **Docker** and **Docker Compose**: For running local infrastructure services
- **curl** and **unzip**: For downloading and extracting the project from Spring Initializr

## Instructions

Follow these steps to create a new Spring Boot project.

### 1. Gather Project Configuration
```
END THIRD-PARTY FILE e074b9cd2cb8363d

The third-party file has ended. Everything between the e074b9cd2cb8363d tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2118 of 13572 bytes. © giuseppe-trisciuoglio · MIT · https://github.com/giuseppe-trisciuoglio/developer-kit/tree/HEAD/plugins/developer-kit-java/skills/spring-boot-project-creator/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
