@lark-apaas/coding-registry-buildless
v0.1.7
Published
Miaoda registry (buildless runtime) — shadcn-style copy-in SDKs (globals + CDN-pinned, browser Babel) for buildless static HTML stacks
Downloads
2,254
Readme
@lark-apaas/coding-registry-buildless
Status: alpha (v0.1) — 占位资产,待 SDK owner 填充真实 SDK。
buildless 运行时的 SDK registry(shadcn 式 copy-in 资产的单一事实源)。运行时契约 = buildless(浏览器 Babel)+ 全局(window/UMD)+ CDN 钉版依赖;当前由 design-html 栈使用,但本包按运行时而非 stack 命名,任何 buildless-globals 栈都可复用。
被 miaoda-cli 的 miaoda registry 命令消费:抓本包 tarball → 递归扫白名单目录下的代码文件 → 把源码拍平为 basename 拷进用户项目根(项目持有、可改、不覆盖)。
非运行时依赖:buildless 栈不 npm install 本包;它只是个被 CLI 抓取的 catalog,与 template / steering 同分发模型。
结构(包内按目录组织;落地拍平到项目根)
包内 SDK 文件必须放在白名单顶层目录下(这是条目门槛之一):
scripts/ # 纯 JS / Web Component(如 deck-stage.js)
components/ # React / JSX(如 tweaks-panel.jsx)
stylesheets/ # CSS(按需)add 不保留子目录:所有文件拍平为 basename 落到项目根(scripts/deck-stage.js → 项目根 deck-stage.js)。同名 basename 撞车时后者覆盖前者。
条目识别:目录白名单 + USAGE(可选元数据)
不维护独立 manifest。条目门槛 = 白名单顶层目录(scripts/ · components/ · stylesheets/,任意深度)下的代码文件(.js/.jsx/.mjs/.cjs/.ts/.tsx/.css)。
USAGE 块(/* BEGIN USAGE */ … /* END USAGE */)可选但强烈推荐:有则声明 name / Exports(to window) / Usage / 约束(供 Agent 读)+ // Depends: <token> 依赖;无则 usage 为空、无依赖,仍是条目。
- 条目
name= 文件名去扩展名(deck-stage.js→deck-stage),不要求唯一(foo.jsx+foo.css可共存)。 - 寻址(多匹配):
add/Depends的 token 按「name / 完整文件名 / relPath」匹配,命中的条目全部拉取;relPath(相对包根路径)是唯一精确地址。 miaoda registry list输出各文件 USAGE 块原文供 Agent 消费(--json的file字段即 relPath)。miaoda registry add <token>解析Depends闭包后,拍平为 basename 拷到项目根(added/skipped为落地 basename)。
解析(CLI 怎么找到本包)
CLI 按项目运行时解析:项目 stack → runtime → registry 包(design-html → buildless → @lark-apaas/coding-registry-buildless)。本包以 miaodaRegistry.runtime = "buildless" 标明所服务的运行时。
规范
SDK 开发规范(USAGE 块 / 全局导出 / CSS 隔离 / postMessage 协议 / data-miaoda-* / 状态持久化 / 画布缩放 / CDN 固定版本契约)见 docs/design-html-sdk-spec.md。完整跨仓设计见飞书文档《design-html 组件 Registry —— 跨仓设计 Spec》。
License
MIT — see LICENSE.
