eliteforge-frontend-generator

Generate EliteForge frontend projects with the same logic as cisdigital-generator-app. Reuse the exact project type to template mapping for frontend_app/frontend_ui/frontend_sdk, naming rules for company/product/service, and onebase-cli command assembly. Use when users ask to scaffold EliteForge frontend app projects, Vue3 component monorepo projects, JS SDK/lib projects, or request a dry-run command preview aligned with this generator. Always require user-provided required parameters and never infer missing required fields.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "eliteforge-frontend-generator" with this command: npx skills add cloudsen/eliteforge-skills/cloudsen-eliteforge-skills-eliteforge-frontend-generator

EliteForge 前端生成器

Overview

Generate frontend projects with deterministic rules from the online generator app. Use the bundled script to produce a dry-run payload/command preview or run project creation directly. Project name is mandatory: fe-<company_name>-<product_name>-<service_name>.

Package Manager Policy

  • Treat pnpm as the only package manager for generated frontend projects.
  • After project generation, always initialize dependencies with pnpm i inside the generated project directory.
  • Do not replace pnpm i with npm install, yarn, or pnpm install.

Project Naming Policy

  • Always pass project_name to scaffold CLI as fe-<company_slug>-<product_slug>-<service_slug>.
  • Never drop the fe- prefix.
  • Never append project-type suffixes such as -app, -ui, or -sdk.

Mandatory Input Policy

  • Treat project_type, company_name, product_name, and service_name as required and user-provided only.
  • Never infer required fields from repository name, current directory, previous conversation values, defaults, or examples.
  • If any required field is missing, stop and ask only for missing fields first.
  • Do not run dry-run or generation before all required fields are explicitly provided by the user.
  • If user input is ambiguous (for example "same as before" or "use default"), ask for explicit values.

Inputs

Collect the following fields.

Required (must come from the user message):

  • project_type: frontend_app, frontend_ui, or frontend_sdk
  • company_name: kebab-case
  • product_name: kebab-case
  • service_name: kebab-case

Optional:

  • cli_name: default onebase-cli
  • output_dir: default current working directory
  • auto_slugify: default false; use only when the user explicitly asks to convert non-kebab names

Workflow

  1. Collect required fields only from explicit user input.
  2. If required fields are missing, ask only for the missing fields and wait for user response.
  3. Validate naming fields as kebab-case.
  4. If naming is invalid and auto_slugify is not explicitly requested, ask the user to provide kebab-case values.
  5. Run dry-run first to show payload and command.
  6. Verify dry-run command uses -p fe-<company_slug>-<product_slug>-<service_slug>.
  7. Execute the create command.
  8. Change to generated project directory and run pnpm i.
  9. Confirm generated folder exists and initialization completed.

Read references/frontend-generation-logic.md when the user asks why a template or project name is chosen.

Commands

Dry-run:

python3 scripts/create_frontend_project.py \
  --project-type frontend_app \
  --company-name cisdigital \
  --product-name your-product \
  --service-name your-service \
  --dry-run

Generate 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

Generate 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

Generate 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

Use custom CLI or output directory:

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

Convert non-kebab input (only when user explicitly requests conversion):

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

Notes

  • frontend_project_type exists in the form data but does not affect template selection in current generator logic.
  • The script blocks generation if target project directory already exists.
  • Always initialize generated projects with pnpm i.
  • Generated project directory name is exactly fe-<company_slug>-<product_slug>-<service_slug>.
  • Keep output concise: return generated directory, create command, and pnpm i result.
  • Never guess or fill missing required fields on behalf of the user.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

wechat-message-sender

No summary provided by upstream source.

Repository SourceNeeds Review
General

eliteforge-framework-specification

No summary provided by upstream source.

Repository SourceNeeds Review
General

eliteforge-git-specification

No summary provided by upstream source.

Repository SourceNeeds Review
General

eliteforge-java-service-generator

No summary provided by upstream source.

Repository SourceNeeds Review