experience-ui-bundle-app-coordinate

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Building a UI Bundle App

构建UI Bundle应用

Overview

概述

Build a complete, deployable Salesforce React UI bundle application from a natural language description by orchestrating specialized UI bundle skills in correct dependency order. Each skill MUST be explicitly loaded before executing its phase.
通过按正确的依赖顺序编排专用UI bundle技能,根据自然语言描述构建完整的、可部署的Salesforce React UI bundle应用。每个技能必须在执行其阶段前显式加载。

When to Use This Skill

何时使用此技能

Use when:
  • User requests a "React app", "UI bundle", "web app", or "full-stack app" on Salesforce
  • User says "build an app", "create an application" and the context implies a non-LWC based frontend (e.g. React)
  • The work produces a complete UI bundle with scaffolding, features, data access, and UI -- not a single component in isolation
Examples that should trigger this skill:
  • "Build a React app for managing customer cases with Salesforce data"
  • "Create a UI bundle for an employee directory with search and navigation"
  • "I need a full-stack React app with authentication, data tables, and file uploads"
  • "Build a coffee shop ordering app on Salesforce"
Do NOT use when:
  • Creating a single page or component (use
    experience-ui-bundle-frontend-generate
    )
  • Only installing a feature (use
    experience-ui-bundle-features-generate
    )
  • Only setting up data access (use
    experience-ui-bundle-salesforce-data-access
    )
  • Only deploying an existing app (use
    experience-ui-bundle-deploy
    )
  • Building a Lightning Experience app with custom objects and metadata (use
    platform-lightning-app-coordinate
    )
  • Troubleshooting or debugging an existing UI bundle

适用场景:
  • 用户请求在Salesforce上开发「React app」「UI bundle」「web app」或「full-stack app」
  • 用户表示「build an app」「create an application」,且上下文暗示基于非LWC的前端(例如React)
  • 工作产出包含脚手架、功能、数据访问和UI的完整UI bundle——而非孤立的单个组件
应触发此技能的示例:
  • "构建一个用于管理Salesforce客户案例的React应用"
  • "创建一个带有搜索和导航功能的员工目录UI bundle"
  • "我需要一个包含身份验证、数据表和文件上传功能的全栈React应用"
  • "在Salesforce上构建一个咖啡店点餐应用"
请勿使用场景:
  • 创建单个页面或组件(请使用
    experience-ui-bundle-frontend-generate
  • 仅安装某个功能(请使用
    experience-ui-bundle-features-generate
  • 仅设置数据访问(请使用
    experience-ui-bundle-salesforce-data-access
  • 仅部署现有应用(请使用
    experience-ui-bundle-deploy
  • 构建带有自定义对象和元数据的Lightning Experience应用(请使用
    platform-lightning-app-coordinate
  • 排查或调试现有UI bundle

Dependency Graph & Build Order

依赖关系图与构建顺序

Phase 1: Scaffolding (Foundation)

阶段1:脚手架(基础)

text
UI Bundle scaffold (sf template generate ui-bundle)
    v
Install dependencies (npm install)
    v
Bundle metadata (uibundle-meta.xml, ui-bundle.json)
    v
CSP Trusted Sites (if external domains needed)
Creates the UI bundle directory structure, meta XML, and optional routing/headers config. All subsequent phases require the scaffold to exist.
text
UI Bundle脚手架(sf template generate ui-bundle)
    v
安装依赖(npm install)
    v
Bundle元数据(uibundle-meta.xml, ui-bundle.json)
    v
CSP可信站点(如需外部域名)
创建UI bundle目录结构、元XML文件和可选的路由/头部配置。后续所有阶段都依赖于脚手架的存在。

Phase 2: Features (Optional)

阶段2:功能(可选)

text
Search project code (src/) for existing implementations
    v
Install dependencies (npm install)
    v
Search, describe, and install features (auth, shadcn, search, navigation, GraphQL)
    v
Resolve conflicts (two-pass: --on-conflict error, then --conflict-resolution)
    v
Integrate __example__ files into target files, then delete them
Installs pre-built, tested feature packages. Skip if the app requires no pre-built features. Always check for an existing feature before building from scratch. Features provide the foundation that UI components build on top of.
text
搜索项目代码(src/)中的现有实现
    v
安装依赖(npm install)
    v
搜索、描述并安装功能(auth、shadcn、search、navigation、GraphQL)
    v
解决冲突(两步:--on-conflict error,然后--conflict-resolution)
    v
将__example__文件集成到目标文件中,然后删除它们
安装预构建、经过测试的功能包。如果应用不需要预构建功能则跳过。在从头构建前,务必检查是否存在现有功能。功能为UI组件提供构建基础。

Phase 3: Data Access (Backend Wiring)

阶段3:数据访问(后端连接)

text
Ground every entity/field against the org (per experience-ui-bundle-salesforce-data-access)
    v
Generate queries/mutations FROM the verified names (never from guessed fields)
    v
Generate types (npm run graphql:codegen) and wire into components
    v
Validate and test (npx eslint, ask user before testing mutations)
Sets up the data layer using the
@salesforce/platform-sdk
Data SDK (
createDataSDK().graphql
). GraphQL is preferred for record operations; REST for Connect, Apex, or UI API endpoints. The
experience-ui-bundle-salesforce-data-access
skill owns the grounding + authoring workflow — load it and follow it; do not substitute a local-schema grep or guessed field names.
Grounding happens against the live org, so it does not require a local
schema.graphql
to be present.
text
将每个实体/字段与组织关联(遵循experience-ui-bundle-salesforce-data-access规则)
    v
根据已验证的名称生成查询/变更操作(绝不能基于猜测的字段)
    v
生成类型(npm run graphql:codegen)并连接到组件
    v
验证与测试(npx eslint,测试变更操作前需询问用户)
使用**
@salesforce/platform-sdk
** Data SDK(
createDataSDK().graphql
)设置数据层。 记录操作优先使用GraphQL;Connect、Apex或UI API端点使用REST。
experience-ui-bundle-salesforce-data-access
技能负责关联+创作工作流——请加载并遵循该技能,不要替换为本地模式搜索或猜测的字段名称。关联操作针对实时组织
进行,因此不需要本地存在
schema.graphql

Phase 4: UI (Frontend)

阶段4:UI(前端)

text
Layout, navigation, header, and footer (appLayout.tsx)
    v
Pages (routed views)
    v
Components (widgets, forms, tables)
Builds the React UI. References the data layer from Phase 3 and the features from Phase 2. Must replace all boilerplate and placeholder content.
text
布局、导航、页眉和页脚(appLayout.tsx)
    v
页面(路由视图)
    v
组件(小部件、表单、表格)
构建React UI。参考阶段3的数据层和阶段2的功能。必须替换所有样板代码和占位符内容。

Phase 5: Integrations (Optional)

阶段5:集成(可选)

text
Agentforce chat widget (if requested)
File upload API (if requested)
These are independent and can be executed in parallel if both are needed.
text
Agentforce聊天组件(如已请求)
文件上传API(如已请求)
这些是独立的,如果都需要可以并行执行。

Phase 6: Deployment

阶段6:部署

text
Org authentication
    v
Pre-deploy UI bundle build (npm install + npm run build)
    v
Deploy metadata
    v
Post-deploy configuration (permissions, profiles, named credentials, connected apps, custom settings, flow activation)
    v
Import data (if data plan exists)
    v
Fetch GraphQL schema and run codegen
*(Re-fetches schema from the deployed org -- required because the remote schema may differ from the local one used in Phase 3)*
    v
Final UI bundle build (rebuilds with the deployed schema)
Follows the canonical 7-step deployment sequence. Must deploy metadata before fetching schema. Must assign permissions before schema fetch.
text
组织身份验证
    v
部署前UI bundle构建(npm install + npm run build)
    v
部署元数据
    v
部署后配置(权限、配置文件、命名凭据、连接应用、自定义设置、流激活)
    v
导入数据(如有数据计划)
    v
获取GraphQL模式并运行代码生成
*(从已部署的组织重新获取模式——这是必需的,因为远程模式可能与阶段3使用的本地模式不同)*
    v
最终UI bundle构建(使用已部署的模式重新构建)
遵循标准的7步部署流程。必须先部署元数据,再获取模式。必须先分配权限,再获取模式。

Phase 7: Hosting Target

阶段7:托管目标

Choose one of the following based on the app's audience:
根据应用受众选择以下其中一个选项:

Phase 7a: Experience Site (External)

阶段7a:Experience Site(外部)

text
Resolve site properties (siteName, appDevName, etc.)
    v
Generate site metadata (Network, CustomSite, DigitalExperience)
    v
Deploy site infrastructure
Creates the Digital Experience site that hosts the UI bundle. Use when the user wants a public-facing or authenticated site URL for external users.
text
解析站点属性(siteName、appDevName等)
    v
生成站点元数据(Network、CustomSite、DigitalExperience)
    v
部署站点基础设施
创建托管UI bundle的Digital Experience站点。当用户需要面向外部用户的公共或已认证站点URL时使用。

Phase 7b: Custom Application (Internal)

阶段7b:自定义应用(内部)

text
Resolve app properties (appName, appNamespace, appLabel)
    v
Generate CustomApplication metadata (applications/*.app-meta.xml)
    v
Add <target>CustomApplication</target> to .uibundle-meta.xml
    v
Deploy custom application
Creates a Custom Application entry in the Lightning App Launcher. Use when the app is for internal users accessing it within Lightning Experience.

text
解析应用属性(appName、appNamespace、appLabel)
    v
生成CustomApplication元数据(applications/*.app-meta.xml)
    v
在.uibundle-meta.xml中添加<target>CustomApplication</target>
    v
部署自定义应用
在Lightning应用启动器中创建CustomApplication条目。当应用供内部用户在Lightning Experience中访问时使用。

Execution Workflow

执行工作流

STEP 1: Requirements Analysis & Planning

步骤1:需求分析与规划

Actions:
  1. Parse the user's natural language request
  2. Identify the app name and purpose
  3. Extract pages and navigation structure
  4. Identify data entities and Salesforce objects needed
  5. Detect feature requirements (authentication, search, file upload, chat)
  6. Determine if an Experience Site is needed
  7. Identify external domains for CSP registration
The plan MUST contain an explicit grounding step before any query authoring. Do not list guessed object/field names as settled facts and defer verification to codegen. The data-access portion of the plan must read: "verify these entities/fields against the org (via
experience-ui-bundle-salesforce-data-access
), then author queries from the verified names." A plan that authors queries first and codegens later is the failure mode that produces guessed fields and hand-stubbed types — do not emit it.
Output: Build Plan
text
UI Bundle App Build Plan: [App Name]

SCAFFOLDING:
- App name: [PascalCase name]
- Routing: [SPA rewrites, trailing slash config]
- External domains: [domains needing CSP registration]

FEATURES:
- [list of features to install: auth, shadcn, search, navigation, etc.]

DATA ACCESS:
- Objects: [Salesforce objects to query/mutate]
- Grounding: [verify each object + its fields against the org via experience-ui-bundle-salesforce-data-access BEFORE authoring — list the objects/fields to confirm, not assumed-correct names]
- Queries: [GraphQL queries to author FROM the verified names]
- REST endpoints: [only where GraphQL/uiapi genuinely cannot cover it — not as a fallback for fields that were hard to verify]

UI:
- Layout: [description of app shell/navigation]
- Pages: [list of pages with routes]
- Components: [key components per page]
- Design direction: [aesthetic/style intent]

INTEGRATIONS (if applicable):
- Agentforce chat: [yes/no, agent ID if known]
- File upload: [yes/no, record linking pattern]

DEPLOYMENT:
- Target org: [org alias if known]
- Hosting target: [Experience Site / Custom Application / none]

SKILL LOAD ORDER:
1. experience-ui-bundle-metadata-generate
2. experience-ui-bundle-features-generate (if features needed)
3. experience-ui-bundle-salesforce-data-access (if data access needed)
4. experience-ui-bundle-frontend-generate
5a. experience-ui-bundle-agentforce-client-generate (if chat requested)
5b. experience-ui-bundle-file-upload-generate (if file upload requested)
6. experience-ui-bundle-deploy
7a. experience-ui-bundle-site-generate (if Experience Site requested -- external users)
7b. experience-ui-bundle-custom-app-generate (if Custom Application requested -- internal users)
操作:
  1. 解析用户的自然语言请求
  2. 确定应用名称和用途
  3. 提取页面和导航结构
  4. 识别所需的数据实体和Salesforce对象
  5. 检测功能需求(身份验证、搜索、文件上传、聊天)
  6. 判断是否需要Experience Site
  7. 识别需要注册CSP的外部域名
**规划中必须包含明确的关联步骤,然后才能进行任何查询创作。**不要将猜测的对象/字段名称列为既定事实,也不要将验证推迟到代码生成阶段。数据访问部分的规划必须写明:"通过
experience-ui-bundle-salesforce-data-access
验证这些实体/字段与组织的关联,然后根据已验证的名称创作查询。"先创作查询再进行代码生成的规划会导致猜测字段和手动存根类型的错误——请勿采用这种方式。
输出:构建计划
text
UI Bundle应用构建计划:[应用名称]

脚手架:
- 应用名称:[大驼峰式名称]
- 路由:[SPA重写、尾随斜杠配置]
- 外部域名:[需要注册CSP的域名]

功能:
- [待安装的功能列表:auth、shadcn、search、navigation等]

数据访问:
- 对象:[要查询/变更的Salesforce对象]
- 关联:[在创作前通过experience-ui-bundle-salesforce-data-access验证每个对象及其字段与组织的关联——列出需要确认的对象/字段,而非假定正确的名称]
- 查询:[根据已验证的名称创作的GraphQL查询]
- REST端点:[仅在GraphQL/uiapi确实无法覆盖的情况下使用——不要作为难以验证字段的备选方案]

UI:
- 布局:[应用外壳/导航描述]
- 页面:[带路由的页面列表]
- 组件:[每个页面的关键组件]
- 设计方向:[美学/风格意图]

集成(如适用):
- Agentforce聊天:[是/否,已知的话填写代理ID]
- 文件上传:[是/否,记录链接模式]

部署:
- 目标组织:[已知的话填写组织别名]
- 托管目标:[Experience Site / 自定义应用 / 无]

技能加载顺序:
1. experience-ui-bundle-metadata-generate
2. experience-ui-bundle-features-generate(如需功能)
3. experience-ui-bundle-salesforce-data-access(如需数据访问)
4. experience-ui-bundle-frontend-generate
5a. experience-ui-bundle-agentforce-client-generate(如需聊天功能)
5b. experience-ui-bundle-file-upload-generate(如需文件上传功能)
6. experience-ui-bundle-deploy
7a. experience-ui-bundle-site-generate(如需Experience Site——外部用户)
7b. experience-ui-bundle-custom-app-generate(如需自定义应用——内部用户)

STEP 2: Per-Phase Execution

步骤2:分阶段执行

Execute each phase sequentially. Complete all steps within a phase before moving to the next. For each phase:
StepWhat to doWhy
1. Load skillInvoke the skill (e.g., via the Skill tool) for this phaseGives you the current rules, patterns, constraints, and implementation guides
2. ExecuteFollow the loaded skill's workflow to generate code/configThe skill defines HOW to do the work correctly
3. VerifyRun lint and build from the UI bundle directoryCatch errors before moving to the next phase
4. CheckpointConfirm phase completion before proceedingEnsures dependencies are satisfied for the next phase
Do NOT skip step 1 (loading the skill). Even if you remember the skill's content, skills evolve. Always load the current version.

Phase 1 -- Scaffolding
    1. Load skill: Invoke
      experience-ui-bundle-metadata-generate
    1. Execute: Run
      sf template generate ui-bundle
      , install dependencies (
      npm install
      ), configure meta XML, ui-bundle.json, and CSP trusted sites
    1. Verify: Confirm directory structure and metadata files exist
    1. Checkpoint: UI bundle scaffold is ready -- proceed to Phase 2
Phase 2 -- Features (skip if no pre-built features needed)
    1. Load skill: Invoke
      experience-ui-bundle-features-generate
    1. Execute: Install dependencies, search and install features, integrate example files
    1. Verify: Run
      npm run build
      to confirm features integrate cleanly
    1. Checkpoint: Features installed -- proceed to Phase 3
Phase 3 -- Data Access (skip if no Salesforce data needed)
    1. Load skill: Invoke
      experience-ui-bundle-salesforce-data-access
    1. Execute: Ground entities/fields against the org first (per the skill), then author queries/mutations from the verified names, run codegen, wire into components. Never guess fields or hand-edit generated types.
    1. Verify: Run
      npx eslint
      on files with GraphQL queries
    1. Checkpoint: Data layer ready -- proceed to Phase 4
Phase 4 -- UI
    1. Load skill: Invoke
      experience-ui-bundle-frontend-generate
    1. Execute: Build layout, pages, components, navigation. Replace all boilerplate.
    1. Verify: Run lint and build -- 0 errors required
    1. Checkpoint: UI complete -- proceed to Phase 5
Phase 5 -- Integrations (skip if not requested)
    1. Load skill(s): Invoke
      experience-ui-bundle-agentforce-client-generate
      (5a) and/or
      experience-ui-bundle-file-upload-generate
      (5b). If both are needed, they are independent and can be executed in parallel.
    1. Execute: Follow each skill's workflow to add the integration
    1. Verify: Run lint and build
    1. Checkpoint: Integrations complete -- proceed to Phase 6
Phase 6 -- Deployment
    1. Load skill: Invoke
      experience-ui-bundle-deploy
    1. Execute: Follow the 7-step deployment sequence (auth, build, deploy, permissions, data, schema, final build)
    1. Verify: Confirm deployment succeeds and app is accessible
    1. Checkpoint: App deployed -- proceed to Phase 7 if needed
Phase 7a -- Experience Site (skip if not requested or if Custom Application chosen)
    1. Load skill: Invoke
      experience-ui-bundle-site-generate
    1. Execute: Resolve properties, generate site metadata, deploy
    1. Verify: Confirm site URL is accessible
    1. Checkpoint: Site live -- build complete
Phase 7b -- Custom Application (skip if not requested or if Experience Site chosen)
    1. Load skill: Invoke
      experience-ui-bundle-custom-app-generate
    1. Execute: Resolve app properties, generate CustomApplication metadata, add CustomApplication target to meta XML
    1. Verify: Confirm app appears in App Launcher
    1. Checkpoint: App registered -- build complete
按顺序执行每个阶段。完成一个阶段内的所有步骤后,再进入下一个阶段。对于每个阶段:
步骤操作内容原因
1. 加载技能调用该阶段对应的技能(例如,通过Skill工具)获取当前的规则、模式、约束和实施指南
2. 执行遵循已加载技能的工作流生成代码/配置技能定义了正确的工作方式
3. 验证在UI bundle目录中运行lint和构建命令在进入下一阶段前捕获错误
4. 检查点确认阶段完成后再继续确保下一阶段的依赖条件已满足
**请勿跳过步骤1(加载技能)。**即使您记得技能内容,技能也会不断演进。请始终加载当前版本。

阶段1 -- 脚手架
    1. 加载技能:调用
      experience-ui-bundle-metadata-generate
    1. 执行:运行
      sf template generate ui-bundle
      ,安装依赖(
      npm install
      ),配置元XML、ui-bundle.json和CSP可信站点
    1. 验证:确认目录结构和元数据文件存在
    1. 检查点:UI bundle脚手架已准备就绪——进入阶段2
阶段2 -- 功能(如无需预构建功能则跳过)
    1. 加载技能:调用
      experience-ui-bundle-features-generate
    1. 执行:安装依赖,搜索并安装功能,集成示例文件
    1. 验证:运行
      npm run build
      确认功能集成正常
    1. 检查点:功能已安装——进入阶段3
阶段3 -- 数据访问(如无需Salesforce数据则跳过)
    1. 加载技能:调用
      experience-ui-bundle-salesforce-data-access
    1. 执行:先将实体/字段与组织关联(遵循技能规则),然后根据已验证的名称创作查询/变更操作,运行代码生成,连接到组件。绝不要猜测字段或手动编辑生成的类型。
    1. 验证:对包含GraphQL查询的文件运行
      npx eslint
    1. 检查点:数据层已准备就绪——进入阶段4
阶段4 -- UI
    1. 加载技能:调用
      experience-ui-bundle-frontend-generate
    1. 执行:构建布局、页面、组件、导航。替换所有样板代码。
    1. 验证:运行lint和构建——要求0错误
    1. 检查点:UI已完成——进入阶段5
阶段5 -- 集成(如未请求则跳过)
    1. 加载技能:调用
      experience-ui-bundle-agentforce-client-generate
      (5a)和/或
      experience-ui-bundle-file-upload-generate
      (5b)。如果两者都需要,它们是独立的,可以并行执行。
    1. 执行:遵循每个技能的工作流添加集成
    1. 验证:运行lint和构建
    1. 检查点:集成已完成——进入阶段6
阶段6 -- 部署
    1. 加载技能:调用
      experience-ui-bundle-deploy
    1. 执行:遵循7步部署流程(身份验证、构建、部署、权限、数据、模式、最终构建)
    1. 验证:确认部署成功且应用可访问
    1. 检查点:应用已部署——如需则进入阶段7
阶段7a -- Experience Site(如未请求或已选择自定义应用则跳过)
    1. 加载技能:调用
      experience-ui-bundle-site-generate
    1. 执行:解析属性,生成站点元数据,部署
    1. 验证:确认站点URL可访问
    1. 检查点:站点已上线——构建完成
阶段7b -- 自定义应用(如未请求或已选择Experience Site则跳过)
    1. 加载技能:调用
      experience-ui-bundle-custom-app-generate
    1. 执行:解析应用属性,生成CustomApplication元数据,在元XML中添加CustomApplication目标
    1. 验证:确认应用出现在应用启动器中
    1. 检查点:应用已注册——构建完成

STEP 3: Final Summary

步骤3:最终总结

After all phases complete, present a build summary:
text
UI Bundle App Build Complete: [App Name]

PHASES COMPLETED:
[x] Phase 1: Scaffolding -- [app name] UI bundle created
[x] Phase 2: Features -- [list of features installed, or "skipped"]
[x] Phase 3: Data Access -- [list of entities wired up]
[x] Phase 4: UI -- [count] pages, [count] components
[x] Phase 5: Integrations -- [list or "none"]
[x] Phase 6: Deployment -- deployed to [org]
[x] Phase 7: Hosting Target -- [Experience Site URL / Custom Application name / "skipped"]

FILES GENERATED:
[list key files and their paths]

NEXT STEPS:
[any manual steps the user should take]

所有阶段完成后,呈现构建总结:
text
UI Bundle应用构建完成:[应用名称]

已完成阶段:
[x] 阶段1:脚手架——已创建[应用名称]UI bundle
[x] 阶段2:功能——[已安装的功能列表,或“已跳过”]
[x] 阶段3:数据访问——已连接[实体列表]
[x] 阶段4:UI——[数量]个页面,[数量]个组件
[x] 阶段5:集成——[集成列表或“无”]
[x] 阶段6:部署——已部署到[组织]
[x] 阶段7:托管目标——[Experience Site URL / 自定义应用名称 / “已跳过”]

生成的文件:
[关键文件及其路径列表]

下一步操作:
[用户应执行的手动步骤]

Validation

验证

Before presenting the build as complete, verify:
  • Scaffold exists: UI bundle directory with valid meta XML and ui-bundle.json
  • Dependencies installed:
    node_modules/
    exists and
    package.json
    has expected packages
  • Build passes:
    npm run build
    produces
    dist/
    with no errors
  • Lint passes:
    npx eslint src/
    reports 0 errors
  • No boilerplate: All placeholder text, default titles, and template content has been replaced
  • Navigation works:
    appLayout.tsx
    has real nav items matching created pages
  • Data layer wired: Components use the
    @salesforce/platform-sdk
    Data SDK (
    createDataSDK().graphql
    ), with all entities/fields grounded against the org — not guessed (if data access phase was executed)
  • CSP registered: All external domains have CSP Trusted Site metadata (if applicable)

在宣布构建完成前,需验证:
  • 脚手架存在:UI bundle目录包含有效的元XML和ui-bundle.json
  • 依赖已安装
    node_modules/
    存在且
    package.json
    包含预期的包
  • 构建通过
    npm run build
    生成
    dist/
    且无错误
  • Lint通过
    npx eslint src/
    报告0错误
  • 无样板代码:所有占位符文本、默认标题和模板内容已替换为真实的应用特定文本和品牌信息
  • 导航正常
    appLayout.tsx
    包含与已创建页面匹配的真实导航项
  • 数据层已连接:组件使用
    @salesforce/platform-sdk
    Data SDK(
    createDataSDK().graphql
    ),所有实体/字段均与组织关联——而非猜测(如执行了数据访问阶段)
  • CSP已注册:所有外部域名已注册CSP可信站点(如适用)

Error Handling

错误处理

Category 1: Stop and Ask User

类别1:停止并询问用户

  • App purpose is too vague to determine pages or data needs
  • User wants features that conflict (e.g., "no authentication" + "show user-specific data")
  • Target org is unknown and deployment is requested
  • 应用用途过于模糊,无法确定页面或数据需求
  • 用户想要的功能存在冲突(例如“无需身份验证”+“显示用户特定数据”)
  • 目标组织未知且需要部署

Category 2: Log Warning, Continue

类别2:记录警告,继续执行

  • A feature install has minor conflicts (resolve and continue)
  • Optional integration setup encounters non-blocking issues
  • Build has non-error warnings

  • 功能安装存在轻微冲突(解决后继续)
  • 可选集成设置遇到非阻塞问题
  • 构建存在非错误警告

Best Practices

最佳实践

1. Always Follow Phase Order

1. 始终遵循阶段顺序

Never build UI before installing features. Never deploy before building. Dependencies are strict.
绝不要在安装功能前构建UI。绝不要在构建前部署。依赖关系是严格的。

2. Replace All Boilerplate

2. 替换所有样板代码

Every generated app must feel purpose-built. Replace "React App" titles, "Vite + React" placeholders, and all default content with real app-specific text and branding.
每个生成的应用都必须看起来是为特定用途构建的。将“React App”标题、“Vite + React”占位符以及所有默认内容替换为真实的应用特定文本和品牌信息。

3. Design with Intent

3. 有目的地设计

Follow the design thinking and frontend aesthetics guidance from
experience-ui-bundle-frontend-generate
. Every app should have a clear visual direction -- not generic defaults.
遵循
experience-ui-bundle-frontend-generate
中的设计思维和前端美学指南。每个应用都应有明确的视觉方向——而非通用默认值。