メインコンテンツへスキップ

ARC 2.0.0-beta.28

Blocklets

Understand ARC's application package-and-instance unit, start locally, and keep authoring, runtime, and release boundaries explicit.

A Blocklet is ARC's unit for packaging and running an application or service. One directory holds the package (blocklet.yaml plus assets). A local or remote instance is a particular running realization of that package.

A Blocklet is not another name for AUP, Web Device, or an AFS provider:

LayerWhat it isBoard
BlockletPackage + instance unit for an application or serviceThis board
AUPSemantic interface contract (pages, events, primitives)AUP
Web DeviceWeb content, site components, themes, routingWeb Device
AFSPath-addressable data and provider operationsAFS

A Blocklet may include AUP pages, Web Device routes, agents, settings, and AFS mounts. Those are surfaces and capabilities inside the package, not synonyms for the package itself.

Read this board by task

If you need toStart here
Distinguish package from instancePackage and instance
Scaffold and accept without remote deployCreate and run locally
Validate, build, and inspect artifactsCheck, build, and inspect
Declare manifest fields and capabilitiesManifest and capabilities
Use AFS paths from a BlockletData and AFS
Choose AUP vs Web Device surfacesWeb surfaces
Separate local acceptance from releaseLifecycle · Publish and deploy
Study real packages in the ARC treeReference applications

Local first

Ordinary development and acceptance start with a directly selected local directory in an isolated ARC environment:

bash
arc blocklet create ./my-app --recipe minimal-app --name my-app
arc dsl validate ./my-app
arc blocklet check ./my-app --profile minimal-app
arc service start --blocklet ./my-app --port 4939
# open http://my-app.localhost:4939/

That chain proves the source, the declared contract, and the observable surface the local runtime accepts. It does not require a DID Space, a remote server, Cloudflare Pages, or arc deploy --server.

Verified with arc 2.0.0-beta.28 in an isolated temp directory: minimal-app scaffold, DSL validation, profile check, and arc service start --blocklet all returned success; GET / with Host: demo-min.localhost returned HTTP 200.

What this board does not promise

  • Feature parity with every historical ArcBlock product named "Blocklet Server", "Media Kit", or similar
  • That remote DID Space publish (--server) or stateful /instance workflows are fully E2E-proven on every machine
  • That a green build replaces browser acceptance of the rendered surface

Where a path is incomplete or environment-dependent, the page marks it experimental or unverified and points at the local path that is proven.

Command map (quick)

GoalCommand
Scaffoldarc blocklet create [dir] --recipe <name> --name <id> (init is an alias)
List recipesarc blocklet recipe list / explain <name>
Validate DSLarc dsl validate <dir>
Check package contractarc blocklet check [dir] --profile <profile>
Convention scanarc blocklet dev [dir]
Build dist/arc blocklet build [dir]
Inspect packagearc blocklet inspect <dir>
Local serve (preferred)arc blocklet run <dir> or arc service start --blocklet <dir>
CLI man pagearc blocklet