mcpField
E
eliteforge-frontend-generator

eliteforge-frontend-generator

github.com/cloudsen开发43 次安装
代码仓库

关于 eliteforge-frontend-generator

面向前端开发的技能,通过脚本按规则生成前端项目,并支持先预览命令与载荷,再执行创建。它要求用户明确提供项目类型及命名字段,并规定生成后使用 pnpm i 初始化依赖。

主要功能

  1. 01生成前端应用、UI 或 SDK 项目
  2. 02支持 dry-run 预览
  3. 03校验必填字段与 kebab-case 命名
  4. 04按 fe- 前缀生成项目目录
  5. 05使用 pnpm i 初始化依赖

适用场景

  1. 01按指定公司和产品信息搭建前端项目
  2. 02创建前先检查生成命令
  3. 03为 UI 组件或 SDK 初始化项目
  4. 04避免缺少字段时误生成项目

安装

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

$npx skills add https://github.com/cloudsen/eliteforge-skills --skill eliteforge-frontend-generator

安装后在 Claude Code 中输入/eliteforge-frontend-generator确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
frontend-generation-logic.md
scripts/
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_sdk
  • company_name:kebab-case
  • product_name:kebab-case
  • service_name:kebab-case

可选项:

  • cli_name:默认为 onebase-cli
  • output_dir:默认为当前工作目录
  • auto_slugify:默认为 false;仅当用户明确要求转换非 kebab-case 名称时使用

工作流

  1. 仅从用户明确提供的输入中收集必填项。
  2. 如果缺少必填项,只询问缺少的字段,并等待用户回复。
  3. 验证命名字段是否为 kebab-case。
  4. 如果命名无效且用户未明确要求使用 auto_slugify,请用户提供 kebab-case 值。
  5. 先运行试运行,以显示负载和命令。
  6. 验证试运行命令使用 -p fe-<company_slug>-<product_slug>-<service_slug>。
  7. 执行创建命令。
  8. 切换到生成的项目目录并运行 pnpm i。
  9. 确认生成的文件夹存在且初始化已完成。

用户询问为何选择某个模板或项目名称时,请阅读 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