Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    a-pavithraa

    creating-springboot-projects

    a-pavithraa/creating-springboot-projects
    Coding
    7
    2 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Create Spring Boot projects with Java 25 and Spring Boot 4...

    SKILL.md

    Creating Spring Boot Projects

    Purpose

    Use this skill to create new Spring Boot 4 projects or define their structure before implementation. The skill adds value when the user needs an architecture decision, Spring Boot 4 feature selection, or the bundled templates in assets/.

    Critical rules

    • Never jump straight to implementation before assessing project complexity.
    • Default to the simplest architecture that fits the domain.
    • Treat Java 25 and Spring Boot 4 as the target stack for this skill.
    • Read the reference files before choosing a higher-complexity architecture or optional framework feature.
    • Reuse the templates in assets/ instead of rewriting the same scaffolding from scratch.

    Workflow

    Step 1: Assess project shape

    Collect the project constraints first:

    1. Domain complexity: simple CRUD, moderate workflow, or rich domain rules.
    2. Team size: 1-3, 3-10, or 10+.
    3. Expected lifespan: months, 1-2 years, or 5+ years.
    4. Type-safety needs: basic validation or strong value-object-heavy modeling.
    5. Bounded contexts: single domain or multiple feature areas.
    6. Persistence and infrastructure needs: database choice, migration tool, local development setup.

    Step 2: Choose the architecture

    Use this matrix as the default decision aid. If the choice is not obvious, read references/architecture-guide.md before proceeding.

    Pattern Use when Complexity
    layered CRUD services, prototypes, MVPs Low
    package-by-module 3-5 distinct features with moderate growth Low-Medium
    modular-monolith Module boundaries matter and Spring Modulith is justified Medium
    tomato Rich domain modeling, value objects, stronger type safety Medium-High
    ddd-hexagonal Complex domains, CQRS, strong infrastructure isolation High

    Step 3: Define the initial Boot 4 setup

    Use Spring Initializr and capture the baseline:

    • Project: Maven or Gradle
    • Language: Java
    • Spring Boot: 4.0.x
    • Java: 25

    Baseline dependencies for most projects:

    • Spring Web MVC
    • Validation
    • Spring Data JPA if persistence is required
    • Flyway or Liquibase
    • database driver
    • Spring Boot Actuator
    • Testcontainers for integration tests

    Optional dependencies based on architecture or features:

    • Spring Modulith for modular monolith or tomato designs
    • ArchUnit for stronger architecture enforcement
    • Additional Spring Boot 4 features only when the use case needs them

    Read references/spring-boot-4-features.md before selecting:

    • RestTestClient
    • HTTP Service Clients
    • API versioning
    • JSpecify null-safety
    • resilience features

    Step 4: Apply the matching assets

    Use the bundled templates from assets/ and replace placeholders only after the package and module names are settled.

    Core project templates:

    • assets/controller.java
    • assets/repository.java
    • assets/rich-entity.java
    • assets/value-object.java
    • assets/service-cqrs.java
    • assets/exception-handler.java
    • assets/flyway-migration.sql
    • assets/docker-compose.yml

    Boot 4 and modularity templates:

    • assets/http-service-client.java
    • assets/api-versioning-config.java
    • assets/resttestclient-test.java
    • assets/package-info-jspecify.java
    • assets/modularity-test.java
    • assets/resilience-service.java
    • assets/pom-additions.xml
    • assets/testcontainers-test.java

    Step 5: Fill in architecture-specific pieces

    Read references/architecture-guide.md for package structure and apply the matching templates:

    • layered: keep modules simple and avoid premature DDD abstractions
    • package-by-module: group by feature and keep shared code minimal
    • modular-monolith: add Modulith verification and explicit module APIs
    • tomato: add value objects and rich domain entities where they protect important invariants
    • ddd-hexagonal: separate application, domain, and infrastructure explicitly

    Step 6: Hand off specialized concerns when needed

    • Use spring-data-jpa when the user needs deeper query, projection, repository, or relationship decisions.
    • Use springboot-migration for upgrades of existing applications rather than new-project setup.

    Reference loading guide

    • Package structures, anti-patterns, and upgrade paths: references/architecture-guide.md
    • Spring Boot 4 feature-specific guidance: references/spring-boot-4-features.md

    Output format

    When the user asks for a plan or scaffold recommendation, return:

    ## Recommended architecture
    - Pattern:
    - Why:
    
    ## Initial setup
    - Build tool:
    - Java version:
    - Spring Boot version:
    - Core dependencies:
    
    ## Assets to apply
    - `assets/...`
    
    ## Next implementation steps
    1. ...
    2. ...
    3. ...
    

    When not to use this skill

    • Migrating an existing Boot project
    • Deep repository and query tuning without broader project-creation work
    • Generic Spring Boot feature Q&A with no need for the bundled templates
    Recommended Servers
    Neon
    Neon
    Todoist
    Todoist
    Gitlab
    Gitlab
    Repository
    a-pavithraa/springboot-skills-marketplace
    Files