参考应用在一个真实树里连接 package、数据层与 surface。它们是有边界的例子。结构匹配时再复制;不要复制产品历史或每一项依赖。
位置(只读 ARC monorepo):blocklets/<name>/ under ArcBlock/arc。
速查
| Package | 演示 | 不能证明 |
|---|---|---|
| hello-html | Pattern S 静态 web:index.html(+ logo)可在无 blocklet.yaml 时作为约定 blocklet serve | 第三方生产打包规范 |
| hello-declarative | 最小声明式 AUP:.aup/ 页面/tests/man,源码中无手写 blocklet.yaml(构建可能合成 dist 元数据) | 完整应用产品面 |
| hello-terminal | 终端/文本约定入口(hello-html 的配套样例) | GUI 完备性 |
minimal-app(via arc blocklet create --recipe) | 脚手架 web + AUP + agent + settings | 每个应用都需要 agent |
| discuss-kit | Replicated posts/comments、URL 绑定、cron、instance 索引 | 旧 Discuss Kit / 论坛 / wiki / 消息产品全量 |
| did-space | scope: user、双 web+AUP 路由、explorer 路径绑定 | 所有存储 UI 都用这一形态 |
| arcblock(本站) | 大型内容 + Web Device 站点作为 Blocklet | 小应用的起步模板 |
如何使用例子
- 读其
README.md与blocklet.yaml(若有)。 - 注意
scope、sites、replicated与路由文件。 - 仅在有本地 ARC checkout 且理解副作用时运行——日常学习优先
arc blocklet create脚手架自己的 package。 - 抽取一个关注点(bindings、seed、组件),不要整树 fork。
hello-html
- 是什么: 静态
index.html作为完整的 Pattern S 样例。 - 入口:
/ - 教学点: 无 manifest 文件时的约定式发现。
- 第三方新工作: 仍优先
arc blocklet create,让身份与工具链保持一致。
hello-declarative
- 是什么: 纯
.aup/数据(pages、man、structure/flow 测试)。 - 教学点: 无自定义 JS 的声明式 AUP。
- 测试:
.aup/tests/下的结构与导航 fixture。
discuss-kit
连续性陈述与硬限制见 Discuss Kit 谱系。
当前演示(来自 manifest 与 README):
scope: app与replicatedposts/comments/anon/posts与/posts/{slug}的sites.bindings- 声明式
cron写入同一内容树 - 面向访客可读内容与搜索的
networkRead与index域
did-space
- 是什么: 面向个人存储的 package(
scope: user)。 - Surface:
/营销 web 路由与映射到 AFS 路径的/explorer/{tail*}AUP。 - 教学点: 同一 package 内 Web Device 与 AUP 路由共存,不把单一模型强加到每个 URL。
Scaffold recipe vs monorepo 样例
| 需要 | 优先 |
|---|---|
| 第三方全新 package | arc blocklet create --recipe … |
| 研究边界情况 / 平台能力 | 阅读 monorepo blocklets/*(不必编辑) |
| 站点/内容产品 | Web Device 板 + 本站 package 布局 |
连续性说明
目录上的历史产品名是谱系,不是保修。存疑时读当前 manifest 与测试,而不是营销记忆。