用途:本技能是使用 Lism Mockup 创建画面原型的实现指南。原型以 @lism-css/mockup 的数据目录形式组织(1 画面=1 文件的 pages/ 加小型配置文件),预览应用(查看器)随 CLI 提供,原型侧无需构建配置或 package.json。本技能只处理数据契约(可放置哪些文件)与 init 到 check 的工作流。
前提:必须并用 lism-css-guide。标记写法(Primitive 选择、令牌核对、Property Class、响应式设计)全部遵循 lism-css-guide 的实现流程;缺失时引导用户用 lism-cli skill add 添加。版本基于 @lism-css/mockup@0.1.0。
命令:npx @lism-css/mockup init [dir] 生成雏形与契约说明;npx @lism-css/mockup check [dir] 非交互验证,供代理自检;npx @lism-css/mockup dev [dir] 启动常驻 dev 服务器供人工浏览器确认。省略 [dir] 时为当前目录,本地安装后可用 bin 名 lism-mockup。Node 要求 ^20.19.0 || >=22.12.0。
工作流:无数据目录时先 init;已有则读取既有生成物,不执行 init。init 遇冲突文件会无改动非 0 退出,--force 仅在用户明确指示时使用。随后阅读生成的 README.md 契约说明,沿用 pages/ 示例结构。实现 pages/*.jsx|tsx 时遵循 lism-css-guide 流程。自检运行 check,非 0 退出期间不得报告完成。dev 为常驻进程,需后台启动或由用户启动,外观确认由用户负责。check 通过后报告,并请用户用 dev 目视确认。
数据契约:mockup.config.json 必需(schemaVersion 必须为 2,含 title、imports、pages 显示元数据);tokens.json 可选,仅 color 可加新键,其他组仅覆盖既有键;tokens.dark.json 可选,仅覆盖浅色侧已有令牌,输出到 .set--dark 类内,不生成 prefers-color-scheme 媒体查询。pages/ 每文件一画面,default export 无 props 的 React 组件,页面 ID 为相对路径去扩展名,自动发现,无需注册。可写本地 UI 状态与事件处理,不写 API 通信、认证、持久化或业务逻辑。
import 规则:react/react-dom、lism-css、@lism-css/ui 为标准包,无需配置;其他包需在 imports 中声明并安装(lucide-react 由 CLI 提供,无需安装但需声明)。@lism-css/ui 无根导出,须从 @lism-css/ui/react/<Component> 单独导入。相对 import 限于数据目录内,仅 .jsx/.tsx/.css/图片。
check 保证:配置与令牌 schema、import 边界、全页面 bundle 成功;不执行 render,故组件类型错误、首次渲染异常、外观正确性需人工在 dev 中确认。
限制:原型为任意 JSX 执行,无沙箱,仅运行可信原型;查看器无颜色模式切换 UI,需在页面侧自行准备;Astro 项目原型也用 React 编写。