| name | speclite-brownfield-java-springboot-backend-tech-stack-digger |
| description | Analyze brownfield Java and Spring Boot backend projects to derive technology stack from code facts and write a Markdown report to a user-specified output directory. Use when user mentions 'Java tech stack', 'Spring Boot stack', 'Maven dependency audit', 'Java 后端技术栈', 'SpringBoot 技术栈', 'Spring Boot 技术栈', 'Maven 依赖分析', '基于代码事实', or asks to generate a Java backend stack inventory. Capable of Maven/Gradle module discovery, effective dependency and BOM version resolution, Spring ecosystem detection, runtime configuration extraction, and evidence-linked Markdown generation. |
| allowed-tools | ["Read","Write","Bash","Grep","Glob","Agent"] |
| metadata | {"version":"1.0.0","author":"fancyliu","catalog":"speclite"} |
[Overview(技能说明)]
Speclite Brownfield Java SpringBoot Backend Tech Stack Digger 是 1-analysis 阶段的 Java / Spring Boot 后端技术栈挖掘工作流。它继承 speclite-brownfield-backend-tech-stack-digger 的通用报告契约,并专门处理 Maven / Gradle、BOM、Spring Boot、Spring Cloud、Servlet 容器、JDBC、ORM、调度、缓存、安全认证等 Java 生态事实。
[Core Capabilities(核心能力)]
- Java 模块发现:识别 Maven / Gradle root、module、parent POM、BOM、bootstrap module、service module 和 packaging 方式。
- 依赖版本解析:优先使用 Maven effective-POM、dependency tree、Gradle dependencies、lockfile 和 dependencyManagement 解析实际版本。
- Spring 生态识别:提取 Spring Boot、Spring Framework、Spring Cloud、Spring Cloud Alibaba、Spring Security、Actuator、OpenFeign、Gateway 等版本与用途。
- 运行时与容器识别:确认 Java / JDK 版本、compiler target、toolchain、Docker runtime image、embedded Tomcat / Jetty / Undertow 或外置容器。
- 数据访问分析:识别 JDBC driver、datasource、connection pool、MyBatis、MyBatis-Plus、JPA / Hibernate、Flyway / Liquibase 和 DDL 事实。
- 中间件与工程能力分类:识别 MQ、Redis client、local cache、scheduler、object storage、HTTP client、serialization、mapping、API docs、test stack 和 observability。
- 证据化 Markdown 输出:按 assets/java-springboot-tech-stack-report-template.md 生成编号清单、证据摘要、未确认项和核验命令。
[Workflow(执行流程)]
本 Skill 使用 Java / Spring Boot 专属顺序分析工作流。详细版本解析、类别矩阵和命令策略见 references/java-springboot-tech-stack-workflow.md。
1. 解析用户输入,确认 `{project-root}`、`{output-dir}` 和 `{report-name}`。若 `{output-dir}` 缺失,必须先询问。
2. 读取通用报告契约:输出必须兼容 `speclite-brownfield-backend-tech-stack-digger` 的章节结构和证据原则。
3. 扫描 Java 构建入口:根 `pom.xml` / `build.gradle`、module POM、parent POM、BOM、`settings.gradle`、`gradle.lockfile`、`maven-wrapper.properties`、`gradle-wrapper.properties`。
4. 可执行解析优先:Maven 项目运行 `help:effective-pom` 和 `dependency:tree`;Gradle 项目运行 `dependencies`。失败时记录原因并退回静态文件解析。
5. 读取 runtime config 与源码入口,补充 Spring Boot、Servlet container、datasource、Redis、MQ、scheduler、storage、security、API docs、observability 和 test facts。
6. 合并事实并标注来源。client 版本不得推断 server 版本;外部服务端版本必须来自 deploy evidence。
7. 写入 `{output-dir}/{report-name}`,默认 `java-springboot-backend-tech-stack.md`;最终回复给出路径、关键版本和未确认项。
[Notes(注意事项)]
- 本 Skill 只分析 Java / Spring Boot 后端技术栈;Node.js、Python、Go、.NET 等生态应使用各自专属 Skill 或通用后端契约。
- 依赖版本来自 parent POM、BOM、internal framework、dependencyManagement 或 Gradle platform 时,必须写清楚解析来源。
- Spring Boot 版本不等于 spring-boot-maven-plugin 版本;优先使用 spring-boot-dependencies.version 或 resolved dependency facts。
- Tomcat / Jetty / Undertow 版本优先来自 effective dependency,不得只凭 Spring Boot 大版本推断具体补丁版本。
- PostgreSQL Server、Redis Server、RocketMQ Server、MinIO Server 等外部服务端版本不能由 Java client 版本反推。
- 生成报告必须包含 Generated By(生成来源) 标注:speclite-brownfield-java-springboot-backend-tech-stack-digger。
[Generation Metadata(生成信息)]
本 Skill 由 skills-creator 从通用后端技术栈报告契约中拆分 Java / Spring Boot 生态规则生成。后续修改必须同步更新 SKILL.md、SKILL.en.md、CHANGELOG.md,并同步 forge/ 与 SpecLite assets 源目录。