Reference applications connect a package, data layer, and surface in one real tree. They are bounded examples. Copy structure when it matches your need; do not copy product history or every dependency.
Location (read-only ARC monorepo): blocklets/<name>/ under ArcBlock/arc.
Quick map
| Package | Demonstrates | Not a proof of |
|---|---|---|
| hello-html | Pattern S static web: index.html (+ logo) can be served as a convention blocklet without blocklet.yaml | Production packaging norms for third parties |
| hello-declarative | Minimal declarative AUP: .aup/ pages/tests/man, no hand-written blocklet.yaml in source (build may synthesize dist metadata) | Full app product surface |
| hello-terminal | Terminal/text convention entry (companion to hello-html) | GUI completeness |
minimal-app (via arc blocklet create --recipe) | Scaffolded web + AUP + agent + settings | That every app needs an agent |
| discuss-kit | Replicated posts/comments collections, URL bindings, cron, instance index | Full legacy Discuss Kit / forum / wiki / messaging product |
| did-space | scope: user, dual web+AUP routes, explorer path bindings | That all storage UIs use this shape |
| arcblock (this site) | Large content + Web Device site as a Blocklet | A starter template for small apps |
How to use an example
- Read its
README.mdandblocklet.yaml(when present). - Note
scope,sites,replicated, and route files. - Run only if you have a local ARC checkout and understand side effects — prefer scaffolding your own package with
arc blocklet createfor day-to-day learning. - Extract one concern (bindings, seed, components) rather than forking the whole tree.
hello-html
- What: Static
index.htmlas a complete Pattern S sample. - Entry:
/ - Teaching point: Convention-based discovery without a manifest file.
- For new third-party work: Still prefer
arc blocklet createso identity and tooling stay uniform.
hello-declarative
- What: Pure
.aup/data (pages, man, structure/flow tests). - Teaching point: Declarative AUP without custom JS.
- Tests: Structure and navigation fixtures under
.aup/tests/.
discuss-kit
See Discuss Kit lineage for the continuity statement and hard limits.
Demonstrates today (from its manifest and README):
scope: appwithreplicatedposts/comments/anonsites.bindingsfor/postsand/posts/{slug}- Declarative
cronposting into the same content tree networkReadandindexdomains for guest-readable content and search
did-space
- What: Personal storage-oriented package (
scope: user). - Surfaces: Marketing web route at
/and explorer AUP under/explorer/{tail*}mapped onto AFS paths. - Teaching point: Coexistence of Web Device and AUP routes in one package without forcing one model on every URL.
Scaffold recipes vs monorepo samples
| Need | Prefer |
|---|---|
| Greenfield third-party package | arc blocklet create --recipe … |
| Study edge cases / platform features | Read monorepo blocklets/* (no edit required) |
| Site/content product | Web Device board + this site's package layout |
Continuity note
A historical product name on a directory is lineage, not a warranty. When in doubt, read the current manifest and tests, not marketing memory.