mcpField
3
305-frameworks-spring-boot-modulith

305-frameworks-spring-boot-modulith

github.com/jabrena开发456222 次安装1 天前更新
代码仓库

关于 305-frameworks-spring-boot-modulith

面向 Spring Boot 模块化单体的 Spring Modulith 应用技能,涵盖模块边界、架构验证、领域事件、模块测试和生成文档,并要求结合项目版本与构建流程检查。

主要功能

  1. 01Spring Modulith 依赖指导
  2. 02按业务能力组织模块
  3. 03模块边界验证
  4. 04命名接口与依赖管理
  5. 05领域事件与发布机制
  6. 06模块测试与文档

适用场景

  1. 01在 Spring Boot 应用中引入 Spring Modulith
  2. 02评审包结构与模块边界
  3. 03添加模块架构测试
  4. 04通过领域事件测试模块交互

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jabrena/plinth --skill 305-frameworks-spring-boot-modulith

安装后在 Claude Code 中输入/305-frameworks-spring-boot-modulith确认已加载。

附带文件references/305-frameworks-spring-boot-modulith.md

详细介绍

Spring Boot - Spring Modulith

为 Spring Boot 模块化单体应用应用 Spring Modulith 指南。

此技能涵盖哪些内容?

  • Spring Modulith BOM 和 starter 依赖的选择
  • 面向业务能力的应用模块包结构
  • ApplicationModules 验证和架构测试
  • 命名接口和明确允许的依赖
  • 用于实现模块松耦合的领域事件
  • 基于 @ApplicationModuleTest 和 Scenario 的模块集成测试
  • 生成模块文档、通过 actuator 暴露信息以及可观测性
  • 可靠领域事件的事件发布注册表选择

范围: 根据参考规则、Spring Modulith 官方文档以及优劣示例应用建议。

约束

应用 Spring Modulith 变更前,确保项目能够编译。改进后,运行完整验证,包括模块结构测试。

  • 强制要求:应用任何变更前,运行 ./mvnw compile 或 mvn compile
  • 前置条件:项目必须是 Spring Boot 应用;对于非 Boot Java 模块化,请改用架构或设计技能
  • 基线:根据 Spring Boot 4.0.x 和 Spring Modulith 兼容性矩阵选择依赖
  • 安全要求:如果编译失败,立即停止
  • 验证:应用改进后,运行 ./mvnw clean verify 或 mvn clean verify
  • 应用前:阅读参考资料,了解详细规则、优劣模式和官方文档链接

何时使用此技能

  • 在 Spring Boot 应用中添加 Spring Modulith
  • 审查 Spring Modulith 模块边界
  • 改进 Spring Boot 中的模块化单体架构
  • 添加 @ApplicationModuleTest 测试
  • 生成 Spring Modulith 文档
  • 使用 Spring Modulith 重构 Spring Boot 模块

工作流

  1. 阅读参考资料并检查项目结构

阅读 references/305-frameworks-spring-boot-modulith.md,并检查 Spring Boot 版本、Maven 依赖、主应用包以及当前的包/模块边界。

  1. 为应用建模模块

识别业务能力模块、公共 API、内部包、命名接口以及明确允许的依赖。

  1. 应用与框架一致的变更

按照参考模式,添加或完善 Spring Modulith 依赖、包注解、架构验证测试、领域事件和模块测试。

  1. 运行验证并报告结果

执行适当的构建/测试,尤其是 ApplicationModules.verify() 和 @ApplicationModuleTest 覆盖情况,然后总结变更、风险和后续模块设计工作。

参考资料

详细指南、示例和约束请参见 references/305-frameworks-spring-boot-modulith.md。

评论

支持 Markdown