# Frontend Integration Yaml

Generate canonical FrontendIntegration YAML from a simplified single-menu authoring...

- Repository: https://github.com/kubesphere/kubesphere (17074 stars)
- Category: Design
- License: see repository
- Last updated: 2026-07-15
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add kubesphere/kubesphere --skill frontend-integration-yaml -g -a claude-code -y`
Codex: `npx skills add kubesphere/kubesphere --skill frontend-integration-yaml -g -a codex -y`
Cursor: `npx skills add kubesphere/kubesphere --skill frontend-integration-yaml -g -a cursor -y`
Gemini CLI: `npx skills add kubesphere/kubesphere --skill frontend-integration-yaml -g -a gemini-cli -y`

## Description

Generate canonical FrontendIntegration YAML from a simplified single-menu authoring model for frontend-forge.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Frontend Integration YAML

Generate submit-ready `FrontendIntegration` YAML from a simplified authoring model with one menu and one or more pages.

## When to Use

- generate FrontendIntegration YAML
- create a quick integration YAML from a CRD
- create an iframe based FrontendIntegration YAML
- convert simplified single-menu config into canonical YAML

## Do Not Use

- troubleshooting existing FrontendIntegration resources
- managing enable/disable/delete lifecycle
- inspecting JSBundle, Job, controller, or status flows
- editing manifest generation rules
- handling multi-menu authoring models

## Required Inputs

Ask the user instead of guessing when any of these are missing:
- `metadata.name`
- `menu.displayName`
- `menu.placements[]`
- at least one page in `pages[]`
- for `crdTable`: `group`, `version`, `scope`, `names.plural`
- for `iframe`: `key` and `iframe.src`

## Authoring Model

Use the simplified single-menu model as input to the generator:
- top-level `metadata`
- top-level `spec` for optional passthrough fields
- top-level `menu`
- top-level `pages`

Do not author canonical `spec.menus[]` by hand.

## Workflow

1. Extract the simplified authoring model.
2. Fill only safe defaults.
3. Keep the model in single-menu form.
4. Run `scripts/generate_frontend_integration.py`.
5. Return the generated canonical YAML.

## Rules

- Treat the generator script as the source of truth.
- Do not manually reconstruct canonical YAML when the generator is available.
- Always output canonical `kind: FrontendIntegration`.
- Always expand `menu.placements[]` into `spec.menus[]`.
- Always derive `children` from `pages[]`.
- If any placement is `workspace`, force all `crdTable.scope` values to `Namespaced`.
- Default `menu.icon` to `GridDuotone` when it is omitted.
- Do not add runtime-managed metadata unless explicitly requested.

## Output

The rest: https://github.com/kubesphere/kubesphere/blob/HEAD/skills/frontend-integration-yaml/SKILL.md
