8c93bde5f6
- core: registerLayout/Widget/Action(泛型)/Schema + 校验闸门 - definePage: 页面只管业务,结构来自注册表 - presets: admin / app-shell 预设布局(vr add 物化) - cli: vr list/add/update 防覆盖 - examples/qa-orchestrator: 实战编排验证(workspace:* 依赖)
55 lines
1.9 KiB
Markdown
55 lines
1.9 KiB
Markdown
# vibe-registry
|
|
|
|
> 万物皆注册 · 面向 AI 前端的注册式页面框架(M1 概念验证)
|
|
|
|
## 设计
|
|
|
|
- 完整设计文档见 [`docs/design.md`](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` 业务数据流。
|
|
|
|
```bash
|
|
cd examples/qa-orchestrator
|
|
pnpm install # workspace:* 链接根源码
|
|
pnpm typecheck # 类型检查
|
|
pnpm orchestrate # 注册清单 + 3 页面解析树 + setup 数据流验证
|
|
```
|
|
|
|
## 快速上手
|
|
|
|
```bash
|
|
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` 才允许覆盖
|
|
|
|
## 关键理念速记
|
|
|
|
1. TS 优先 · 2. 极薄渲染内核 · 3. 布局带简易 id + live 预览
|
|
4. 开放可扩展 · 5. 未使用不进产物 · 6. P 层选择预览 · 7. 预设物化进项目
|