关于 eliteforge-java-service-generator
EliteForge Java Service Generator 是基于 Maven archetype 创建 EliteForge Java 服务的技能。它规范输入校验、项目生成、一致性检查和初始化,并要求使用生成项目内的 make 目标。
主要功能
- 01基于 archetype 生成 Java 服务
- 02校验必需的项目标识
- 03将技术选型映射为 enable 标志
- 04检查生成项目的一致性
- 05使用项目内 make 目标初始化
适用场景
- 01创建新的 EliteForge Java 服务
- 02初始化生成的服务项目
- 03验证生成的包名和 Maven 元数据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cloudsen/ eliteforge-skills --skill eliteforge-java-service-generator安装后在 Claude Code 中输入/eliteforge-java-service-generator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/enable-flags.mdmapping-rules.mdscripts/generate.py详细介绍
EliteForge Java 服务生成器(Maven Archetype)
目标
运行 scripts/generate.py 创建新的 EliteForge Java 服务,并通过项目内部的 make 命令完成项目构建和初始化。
前置条件
- 需要
python3、make、JDK 和网络访问权限(用于下载 archetype)。
构建命令策略(必须遵循)
- 在生成项目的根目录中,使用项目内部的
make目标执行构建/初始化/验证任务。 - 不要在生成的项目中运行系统 Maven 命令(例如:
mvn clean install、mvn test)。 - 如果明确要求在生成的项目中执行 Maven 命令,只能使用项目包装器:
./mvnw ...。 - 命令示例或执行步骤中,绝不能用系统
mvn替代./mvnw。
必填输入(绝不可推断)
companyNameproductNameserviceName- 使用以下正则表达式验证这三项:
^[a-z0-9]+(-[a-z0-9]+)*$ - 如果有任何值缺失或无效,只询问缺失或无效的字段。
工作流(每次运行)
- 收集并验证必填输入。
- 构建命令并运行脚本:
python3 scripts/generate.py --company <companyName> --product <productName> --service <serviceName> [--desc "<projectDescription>"] [--tech "<tech stack text>"] [--enable enableX --enable enableY ...]
- 用户提供技术栈文本时,将其映射为
enableXXX:- 使用
references/mapping-rules.md。 - 通过
--enable传递用户明确指定的开关。 - 使用
references/enable-flags.md作为规范的标志列表。 - 如不确定,应提问而非猜测。
- 使用
- 验证结果:
- 输出文件夹存在:
app-<companyName>-<productName>-<serviceName>/ - 该文件夹中存在
pom.xml。
- 输出文件夹存在:
- 在项目根目录(
<artifactId>/)运行生成后的完整性检查:- Java 包应与预期的包名前缀匹配(检查
src/main/java和src/test/java)。 - Maven 模型名称应与预期值匹配(检查
pom.xml中的<name>)。 pom.xml中的artifactId应与预期的artifactId相同。- 如有任何不匹配,报告预期值与实际值,然后停止。
- Java 包应与预期的包名前缀匹配(检查
- 在根目录(
<artifactId>/)运行make install初始化项目,并要求命令成功(退出代码0):- 示例:
cd app-<companyName>-<productName>-<serviceName> && make install
- 示例:
- 生成后进行构建/测试/验证时,继续使用项目的
make目标(例如make test、make build),而不要直接运行 Maven 命令;如无法避免 Maven 命令,只能运行./mvnw ...。 - 失败时,返回确切错误和完整的已执行命令(包括失败的
make命令)。
坐标规则(脚本行为)
groupId = cn.<companyName(with '-' -> '.')>.<productName(with '-' -> '.')>artifactId = app-<companyName>-<productName>-<serviceName>
后置检查的预期值
expectedGroupId = groupIdexpectedArtifactId = artifactIdexpectedJavaPackagePrefix = <expectedGroupId>.<serviceName(with '-' -> '.')>expectedMavenModelName = expectedArtifactId(除非用户明确要求使用其他命名规则)
快速示例
- 最简示例:
python3 scripts/generate.py --company cisdigital --product cap --service cache-center --desc "CAP 缓存中心"
- 生成后的初始化(必需):
cd app-cisdigital-cap-cache-center && make install
- 技术栈与显式覆盖:
python3 scripts/generate.py --company cisdigital --product cap --service cache-center --tech "mysql redisson lombok mapstruct" --enable enableJacksonDatatypeJsr310
评论
支持 Markdown