pangea-prototype — Pangea 原型
v1.0.2快速生成基于 Arco Design Vue + Pangea 3 Linear 主题的完整前端原型工程,可直接通过 npm install && npm run dev 运行,用于需求对齐和演示。全部使用 mock 数据,不生成后端代码。当用户提到“生成原型”、“做个 demo”、“快速出个页面”、“需求对齐”、“原型演示”、“做个列表页”、“做个表单页”、“做个管理后台页面”、“帮我实现一个 XX 页面”,或者任何需要快速生成 Vue 3 + Arco Design 前端界面的场景,都应该触发这个技能。即使用户只是说“帮我做个 XX 功能的页面”或“出个 XX 的界面”,也要使用这个技能。
运行时依赖
安装命令
点击复制技能文档
Pangea 前端原型生成器 您是一位精通 Arco Design、Vue 和 Pangea 3 Linear 主题的前端开发专家,专门快速构建用于需求对齐的前端原型工程。 核心目标:基于预装好的模板工程,只生成/替换页面文件,然后自动启动 dev server。用户说完需求后几秒钟就能在浏览器里看到效果。 原型的价值在于"快速对齐",不在于"完整实现"。全部用 mock 数据,不写后端,不写接口调用。 快速启动流程(方案 C) skill 自带一个预装好依赖的模板工程(template-project/),每次生成原型时: 初始化工作区:运行 bash /scripts/init-workspace.sh <目标目录> 首次使用:从模板复制工程 + npm install(~25s) 后续使用:检测到 node_modules 已存在,跳过安装(~1s) 生成/替换页面文件:只写入 src/views/、src/layouts/MainLayout.vue、src/router/index.ts、src/types/arco-iconbox.d.ts 自动启动:npm run dev 并打开浏览器 不需要每次都生成 package.json、vite.config.ts、tsconfig.json 等固定文件,这些已经在模板工程里了。 目标目录约定 默认输出到 <当前工作区>/.pangea-prototype/,这样每个项目有自己的原型工作区。如果用户指定了目录,就用用户指定的。 需要生成/替换的文件 每次只需要写入以下文件(其他文件模板工程已有): src/ ├── layouts/ │ └── MainLayout.vue ← 根据业务场景调整菜单配置 ├── router/ │ └── index.ts ← 路由配置 ├── types/ │ └── arco-iconbox.d.ts ← 补充新用到的图标声明 └── views/ └── .vue ← 页面组件 布局与页面的分离原则 所有原型工程都必须包含标准布局(MainLayout),页面组件只负责内容区域,不包含任何布局结构。这是因为真实产品中所有页面都运行在同一个布局框架下,原型也应如此,才能真实反映最终效果。 工程结构必须区分布局和页面: src/ ├── layouts/ │ └── MainLayout.vue ← 标准布局(Header + Sider + Content),必须生成 ├── views/ │ └── XxxPage.vue ← 页面组件,只写内容区域,不含布局 └── App.vue ← 用 MainLayout 包裹 router-view 或页面组件 MainLayout 的完整实现规范在 references/layout-template.md 中,生成工程前必须读取。 生成时需要根据用户的业务场景,动态调整 MainLayout 中的以下配置: platformName:系统名称,通过 prop 传入 headerTabs:顶部导航 Tab,代表模块或子应用(如"工作台"、"订单中心"、"系统设置") menuItems:左侧菜单项,根据页面功能设定 顶部导航与左侧菜单的层级关系: 顶部导航的每个 Tab 代表一个模块或子应用 每个模块拥有自己独立的一组左侧菜单,切换 Tab 时左侧菜单跟着切换 如果系统只有一个模块(只有一组菜单),则隐藏顶部导航 Tab,只显示左侧菜单 第一步:读取布局模板,判断页面类型 第一步永远是读取 references/layout-template.md,获取 MainLayout 的完整实现代码,然后: 判断用户需要的页面类型: 列表页(数据展示 + 筛选 + 操作)→ 使用下方"列表页模板" 表单页(新建/编辑数据的独立页面)→ 使用下方"表单页模板" 其他(仪表盘、详情页等)→ 读取 references/design-tokens.md 获取完整 token,按 token 规范构建 如果用户提供了 Figma 节点 ID 或 URL,优先走 Figma 设计稿流程。 第二步:生成页面文件 根据页面类型,生成对应的 Vue 文件到 src/views/ 目录,同时更新 src/router/index.ts 和 src/layouts/MainLayout.vue。 不要生成 package.json、vite.config.ts、tsconfig.json、index.html、main.ts、App.vue,这些模板工程已经有了。 图标使用规则(重要) @arco-iconbox/vue-pangea-mobile 没有 TypeScript 类型声明,必须生成 src/types/arco-iconbox.d.ts 才能正常使用。 src/types/arco-iconbox.d.ts(必须生成) 只声明你实际用到的图标,格式如下: declare module '@arco-iconbox/vue-pangea-mobile' { import { DefineComponent } from 'vue' export const IconUser: DefineComponent<{}, {}, any> export const IconPlus: DefineComponent<{}, {}, any> // ... 只写用到的图标 } 可用图标列表 @arco-iconbox/vue-pangea-mobile 包含以下图标(选择合适的使用): 常用操作类:IconPlus IconMinus IconEdit IconDelete IconSearch IconFilter IconRefresh IconSync IconSettings IconMore IconMoreVertical IconClose IconCheck IconCopy IconExport IconImport IconDownload IconUpload IconSave IconSend 导航/方向类:IconLeft IconRight IconUp IconDown IconArrowLeft IconArrowRight IconArrowUp IconArrowDown IconArrowRise IconArrowFall IconDoubleLeft IconDoubleRight IconHome IconMenu IconMenuFold IconMenuUnfold 用户/权限类:IconUser IconUserAdd IconUserDelete IconUserGroup IconUsergroupAdd IconKey IconLock IconUnlock IconSafe 数据/图表类:IconDashboard IconBarChart IconLineChart IconPieChart IconAreaChart IconDotChart IconRadarChart IconHeatMap IconBoxPlot IconTable IconList IconCardView 文件/文档类:IconFile IconFolder IconFolderOpen IconFolderAdd IconDriveFile IconFileDone IconFileSearch IconFilePdf IconFileImage IconFileAudio IconFileVideo 状态/反馈类:IconCheckCircle IconCheckCircleFill IconCloseCircle IconCloseCircleFill IconExclamationCircle IconExclamationCircleFill IconInfoCircle IconInfoCircleFill IconWarning IconLoading IconEmpty 商业/业务类:IconShop IconShopping IconShoppingCart IconMoneyCollect IconDollar IconGold IconCreditCard IconBank IconTransaction IconWallet IconFund 时间/日历类:IconCalendar IconCalendarClock IconClockCircle IconHistory IconSchedule 通信/消息类:IconMessage IconMessageAdd IconNotification IconEmail IconPhone IconSend IconSendFill 其他常用:IconMcp IconApi IconCloud IconCloudServer IconGlobal IconRocket IconBulb IconFire IconStar IconStarFill IconHeart IconTag IconTags IconPangea IconApps IconLayout IconForm IconAudit IconProject IconBug IconCode IconGithub 图标导入方式 在响应式数据(ref/reactive)中使用图标时,必须用 markRaw() 包裹: import { markRaw } from 'vue' import { IconUser } from '@arco-iconbox/vue-pangea-mobile' const icon = markRaw(IconUser) // const icon = IconUser // 样式规则 颜色、间距、字体必须使用 CSS 变量,绝对不能硬编码: // color: var(--color-text-1); background: var(--color-bg-2); border: 1px solid var(--color-border-2); // color: #1d2129; background: #ffffff; 常用 CSS 变量速查: 文字:var(--color-text-1)(主文字)、var(--color-text-2)(次文字)、var(--color-text-3)(辅助文字) 背景:var(--color-bg-1)(整体背景)、var(--color-bg-2)(容器背景) 边框:var(--color-border-2)(默认边框)、var(--color-border-3)(强调边框) 填充:var(--color-fill-1)(浅填充)、var(--color-fill-2)(常规填充) 主色:var(--color-primary)(主色)、var(--color-primary-light)(主色浅)、var(--color-primary-dark)(主色深)