关于 eliteforge-frontend-generator
面向前端开发的技能,通过脚本按规则生成前端项目,并支持先预览命令与载荷,再执行创建。它要求用户明确提供项目类型及命名字段,并规定生成后使用 pnpm i 初始化依赖。
主要功能
- 01生成前端应用、UI 或 SDK 项目
- 02支持 dry-run 预览
- 03校验必填字段与 kebab-case 命名
- 04按 fe- 前缀生成项目目录
- 05使用 pnpm i 初始化依赖
适用场景
- 01按指定公司和产品信息搭建前端项目
- 02创建前先检查生成命令
- 03为 UI 组件或 SDK 初始化项目
- 04避免缺少字段时误生成项目
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cloudsen/ eliteforge-skills --skill eliteforge-frontend-generator安装后在 Claude Code 中输入/eliteforge-frontend-generator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/frontend-generation-logic.mdscripts/create_frontend_project.py详细介绍
EliteForge 前端生成器
概述
使用在线生成器应用,根据确定性规则生成前端项目。
使用随附脚本生成试运行负载/命令预览,或直接创建项目。
项目名称为必填项:fe-<company_name>-<product_name>-<service_name>。
包管理器策略
- 生成的前端项目只能使用
pnpm作为包管理器。 - 项目生成后,始终在生成的项目目录中使用
pnpm i初始化依赖项。 - 不要将
pnpm i替换为npm install、yarn或pnpm install。
项目命名策略
- 始终向脚手架 CLI 传入
project_name,格式为fe-<company_slug>-<product_slug>-<service_slug>。 - 绝不要省略
fe-前缀。 - 绝不要添加
-app、-ui或-sdk等项目类型后缀。
必填项策略
- 将
project_type、company_name、product_name和service_name视为必填项,且只能由用户提供。 - 绝不要根据仓库名称、当前目录、之前对话中的值、默认值或示例推断必填项。
- 如果缺少任何必填项,请停止操作,并先询问缺少的字段。
- 在用户明确提供所有必填项之前,不要运行试运行或生成项目。
- 如果用户输入含糊(例如“跟之前一样”或“使用默认值”),请询问明确的值。
输入
收集以下字段。
必填项(必须来自用户消息):
project_type:frontend_app、frontend_ui或frontend_sdkcompany_name:kebab-caseproduct_name:kebab-caseservice_name:kebab-case
可选项:
cli_name:默认为onebase-clioutput_dir:默认为当前工作目录auto_slugify:默认为false;仅当用户明确要求转换非 kebab-case 名称时使用
工作流
- 仅从用户明确提供的输入中收集必填项。
- 如果缺少必填项,只询问缺少的字段,并等待用户回复。
- 验证命名字段是否为 kebab-case。
- 如果命名无效且用户未明确要求使用
auto_slugify,请用户提供 kebab-case 值。 - 先运行试运行,以显示负载和命令。
- 验证试运行命令使用
-p fe-<company_slug>-<product_slug>-<service_slug>。 - 执行创建命令。
- 切换到生成的项目目录并运行
pnpm i。 - 确认生成的文件夹存在且初始化已完成。
用户询问为何选择某个模板或项目名称时,请阅读 references/frontend-generation-logic.md。
命令
试运行:
python3 scripts/create_frontend_project.py \
--project-type frontend_app \
--company-name cisdigital \
--product-name your-product \
--service-name your-service \
--dry-run
生成 frontend_app:
python3 scripts/create_frontend_project.py \
--project-type frontend_app \
--company-name cisdigital \
--product-name your-product \
--service-name your-service
cd fe-cisdigital-your-product-your-service
pnpm i
生成 frontend_ui:
python3 scripts/create_frontend_project.py \
--project-type frontend_ui \
--company-name cisdigital \
--product-name your-product \
--service-name your-component
cd fe-cisdigital-your-product-your-component
pnpm i
生成 frontend_sdk:
python3 scripts/create_frontend_project.py \
--project-type frontend_sdk \
--company-name cisdigital \
--product-name your-product \
--service-name your-jsdk
cd fe-cisdigital-your-product-your-jsdk
pnpm i
使用自定义 CLI 或输出目录:
python3 scripts/create_frontend_project.py \
--project-type frontend_app \
--company-name cisdigital \
--product-name your-product \
--service-name your-service \
--cli-name onebase-cli \
--output-dir /path/to/workspace
cd /path/to/workspace/fe-cisdigital-your-product-your-service
pnpm i
转换非 kebab-case 输入(仅当用户明确要求转换时):
python3 scripts/create_frontend_project.py \
--project-type frontend_app \
--company-name "CIS Digital" \
--product-name "My Product" \
--service-name "Portal UI" \
--auto-slugify \
--dry-run
备注
- 表单数据中存在
frontend_project_type,但在当前生成器逻辑中不会影响模板选择。 - 如果目标项目目录已存在,脚本会阻止生成。
- 始终使用
pnpm i初始化生成的项目。 - 生成的项目目录名称严格为
fe-<company_slug>-<product_slug>-<service_slug>。 - 输出应简洁:返回生成目录、创建命令和
pnpm i的结果。 - 绝不要代替用户猜测或填写缺失的必填项。
评论
支持 Markdown