8c93bde5f65af80f419c49722baee8ba85921263
- core: registerLayout/Widget/Action(泛型)/Schema + 校验闸门 - definePage: 页面只管业务,结构来自注册表 - presets: admin / app-shell 预设布局(vr add 物化) - cli: vr list/add/update 防覆盖 - examples/qa-orchestrator: 实战编排验证(workspace:* 依赖)
vibe-registry
万物皆注册 · 面向 AI 前端的注册式页面框架(M1 概念验证)
设计
- 完整设计文档见
docs/design.md(v0.5) - 一句话:页面 = 注册项的组合;用户/agent 只需说"用 xx 布局",结构全部来自注册表
当前结构(M1)
src/registry.ts 万物皆注册的类型基石 + 全局注册表 + 校验(含泛型 action)
src/page.ts definePage 声明层(页面只管业务)
presets/layouts/ 包内预设布局源(vr add 数据源,带 demo 预览)
cli/vr.ts vr list / add / update(防覆盖)
scripts/smoke.ts 校验闸门 + id 唯一性验证
registry/layouts/ 物化后的资产空间(预设 = 你的源码)
examples/
qa-orchestrator/ 实战编排:测试编排系统(多页面 + 自定义注册 + workspace 依赖)
实战编排示例(qa-orchestrator)
验证框架真实可用性:workspace 依赖引入、自定义注册(非预设)、多页面 definePage 编排、setup 业务数据流。
cd examples/qa-orchestrator
pnpm install # workspace:* 链接根源码
pnpm typecheck # 类型检查
pnpm orchestrate # 注册清单 + 3 页面解析树 + setup 数据流验证
快速上手
pnpm install
pnpm typecheck # 类型检查
pnpm vr list # 列出可用预设布局
pnpm vr add admin # 物化预设到 registry/layouts/admin.ts(防覆盖)
pnpm vr update admin # 对比新版,预览 diff(不写文件,除非 --force)
node --experimental-strip-types scripts/smoke.ts # 校验闸门冒烟
防覆盖原则
- 目标已存在且与预设不同(被用户改过)→ 拒绝,绝不静默覆盖
- 内容相同 → already up-to-date
- 显式
--force才允许覆盖
关键理念速记
- TS 优先 · 2. 极薄渲染内核 · 3. 布局带简易 id + live 预览
- 开放可扩展 · 5. 未使用不进产物 · 6. P 层选择预览 · 7. 预设物化进项目
Description
Languages
TypeScript
84.5%
JavaScript
15.5%