catalog/repos/a-pavithraa--springboot-skills-marketplace.md

197 lines
6.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Spring Boot 架构技能集
`Spring Boot` `架构模式` `Claude Code` `代码生成` `DDD`
# Spring Boot 技能市场
帮助你构建真正适合需求的 Spring Boot 应用架构的 Claude Code 技能集。
## 为什么存在
项目起初简单,往往越来越混乱。这些技能帮助你根据当前阶段选择合适的架构——并在复杂度增加时提供清晰的演进路径。
> **从简单开始。只在复杂度真正需要时才引入复杂度。**
基于 [spring-boot-application-architecture-patterns](https://github.com/sivaprasadreddy/spring-boot-application-architecture-patterns) 中的模式构建。
## 架构模式(渐进式)
| 模式 | 复杂度 | 适用场景 |
|------|--------|----------|
| **分层架构** | ⭐ 低 | 简单 CRUD、原型、MVP |
| **按模块分包** | ⭐⭐ 低-中 | 3-5 个独立功能、中型应用 |
| **模块化单体** | ⭐⭐ 中 | 需要模块边界、Spring Modulith |
| **Tomato** | ⭐⭐⭐ 中-高 | 丰富领域、值对象、类型安全 |
| **DDD+六边形** | ⭐⭐⭐⭐ 高 | 复杂领域、CQRS、基础设施解耦 |
## 安装
> **使用 Codex** 请参阅 [CODEX-COMPATIBILITY.md](./CODEX-COMPATIBILITY.md) 获取详细的 Codex 安装和使用说明。
### Claude Code插件市场
```bash
/plugin marketplace add a-pavithraa/springboot-skills-marketplace
/plugin enable a-pavithraa/springboot-skills-marketplace
/plugin install springboot-architecture@springboot-skills-marketplace
```
### Claude Code手动安装
```bash
# 克隆或下载本仓库
git clone https://github.com/a-pavithraa/springboot-skills-marketplace.git
# 将技能复制到 Claude Code 技能目录
cp -r springboot-skills-marketplace/plugins/springboot-architecture/skills/* ~/.claude/skills/
```
### Codex手动安装
```bash
# 克隆或下载本仓库
git clone https://github.com/a-pavithraa/springboot-skills-marketplace.git
# 将技能复制到 Codex 技能目录
mkdir -p ~/.codex/skills
cp -r springboot-skills-marketplace/plugins/springboot-architecture/skills/* ~/.codex/skills/
```
## 使用方法
### Claude Code
技能在相关场景下会被自动发现和加载。Claude 会根据你的请求自动调用:
```
你:"我需要创建一个新的 Spring Boot 微服务"
Claude[自动加载 creating-springboot-projects 技能]
```
也可以显式请求某个技能:
```
你:"使用 spring-data-jpa 技能优化这个 Repository"
```
### Codex
技能需要使用 `$skill-name` 语法手动调用:
```
using $creating-springboot-projects create a new order service
using $spring-data-jpa optimize this repository code
using $springboot-migration upgrade to Spring Boot 4
using $code-reviewer review this service implementation
```
如需引用详细参考章节,请包含路径:
```
using $spring-data-jpa and ~/.codex/skills/spring-data-jpa/references/dto-projections.md implement efficient queries
```
## 可用技能
### creating-springboot-projects
通过几个问题了解你的项目,然后从一开始就构建正确的架构。
你将获得评估驱动的脚手架生成、Spring Initializr 配置以及值对象、富实体、CQRS 模式、转换器等模板——根据所选架构按需提供。
**快速评估涵盖:**
- 领域复杂度CRUD vs. 业务规则)
- 团队规模和项目生命周期
- 类型安全需求
- 限界上下文
### spring-data-jpa
帮助你写出六个月后也不会拖慢系统的 JPA 代码。
涵盖查询模式、DTO 投影、自定义 Repository、CQRS 查询服务,以及最终会坑到所有人的性能反模式(为每个实体建 Repository、方法名查询地狱、盲目调用 `save()`)。
### springboot-migration
逐步迁移到 Spring Boot 4 + Java 25支持 Spring Modulith 2 和 Testcontainers 2
先扫描你的项目,再分阶段引导完成依赖 → 代码 → 配置的迁移。包含重试/韧性模式以及每个升级目标的参考文档。
### code-reviewer
对你的 Boot 4 / Java 25 项目进行架构适配性和性能问题的全面检查。
涵盖五种架构模式何时使用、何时避免以及事件、CQRS、Modulith 边界的检查清单。能发现 N+1 查询、缺失缓存、虚拟线程锁定等性能陷阱。
当你需要第二意见,或需要判断是否到了演进架构的时候,使用此技能。
## 使用示例
**"我需要一个基本 CRUD 的产品 REST API。"**
→ 询问你的领域、团队和时间线,建议分层架构,生成脚手架。
**"我需要一个包含支付和库存规则的订单服务。"**
→ 评估复杂度,推荐 Tomato 架构生成值对象、富实体、CQRS 服务。
**"我的产品搜索很慢。"**
→ 分析查询,发现 N+1 问题,重构为 DTO 投影。
**"我们需要从 Boot 3 迁移到 Boot 4。"**
→ 运行迁移扫描器,规划分阶段升级(依赖 → 代码 → 配置),逐步应用并验证。
**"能帮我们审查 Boot 4 服务是否有问题吗?"**
→ 检查架构模式适配性排查性能问题N+1、缺失缓存、虚拟线程锁定、实体泄漏
## 模板与资源
**架构模板**`creating-springboot-projects/assets/`
值对象、富实体、CQRS 服务、转换器、REST 控制器、Flyway 迁移、Testcontainers、ProblemDetail 处理器。
**JPA 模板**`spring-data-jpa/assets/`
查询 Repository、DTO 投影、自定义 Repository、CQRS 查询服务、关联关系模式。
**审查参考**`java25-springboot4-reviewer/references/`
架构模式、决策矩阵、性能检查清单。
**参考指南**`spring-data-jpa/references/`
查询模式、投影、自定义 Repository、关联关系处理、性能调优。
## 测试技能
想验证技能是否按预期工作?请查看 `tests/` 目录中的基线场景。
**快速开始:**
```bash
# 5 分钟内运行一个场景
cd tests
cat QUICKSTART.md
```
**完整测试套件:**
- 8 个基线场景,测试每个技能的核心行为
- RED-GREEN-REFACTOR 方法论
- 合理化追踪
- 完整测试指南见 `tests/README.md`
基于 [terraform-skill 测试方法](https://github.com/antonbabenko/terraform-skill/blob/master/tests/baseline-scenarios.md)。
## 前置条件
- Claude Code CLI
- Java 25
- Maven 或 Gradle
- 熟悉 Spring Boot 4.0+
## 演进路径
从简单开始,按需演进:
```text
分层架构 → 按模块分包 → 模块化单体 → Tomato → DDD+六边形
```
## 致谢
- 架构模式:[Siva Prasad Reddy](https://github.com/sivaprasadreddy)
- Spring Boot 4 特性:[spring-boot-4-features](https://github.com/sivaprasadreddy/spring-boot-4-features)
- 模块化单体参考:[spring-modular-monolith](https://github.com/sivaprasadreddy/spring-modular-monolith)
- 市场灵感来源:[sivalabs-marketplace](https://github.com/sivaprasadreddy/sivalabs-marketplace)
- JPA/Hibernate 最佳实践:[Vlad Mihalcea](https://vladmihalcea.com/blog/)