This section is the local-first path from a new directory to a checked, running Blocklet. Remote publish and DID Space deploy are not prerequisites.
Prerequisites
- Install the public CLI:
curl -fsSL https://arc.afsd.io/install.sh | bash
arc --versionVerified baseline for this board: 2.0.0-beta.28.
- Work in a temporary or project directory outside the ARC monorepo. You do not need to clone
ArcBlock/arcto author a third-party Blocklet. - Prefer a named instance when experimenting so a test cannot alter the seed daemon on
:4900.ARC_HOMEis retired (the CLI warns and ignores it). Isolation is the instance name plus--home:
export ARC_INSTANCES_DIR=/tmp/arc-instances-demo
arc service start --instance demo --home /tmp/arc-home-demo
arc service url --instance demo --print url
# when finished:
arc service stop --instance demo
arc service rm --instance demoThree pages, one path
| Step | Page | What you prove |
|---|---|---|
| 1 | Package and instance | Package (artifact) vs instance (run/deployment) vocabulary |
| 2 | Create and run locally | Scaffold + local serve + browser URL |
| 3 | Check, build, and inspect | check / build / inspect / dev evidence chain |
Minimal command sequence
# 1. Scaffold a complete tiny app (web + AUP + agent + settings)
arc blocklet create ./demo-min --recipe minimal-app --name demo-min
# 2. Validate declared DSL and package profile
arc dsl validate ./demo-min
arc blocklet check ./demo-min --profile minimal-app
# 3. Serve only this Blocklet on a named instance (no DID Space)
arc service start --instance demo --blocklet ./demo-min --port 4939Verified output shape (arc 2.0.0-beta.28):
Created minimal app blocklet "demo-min" with 18 file(s).
Next: arc dsl validate /…/demo-min
Passed DSL validation
path: /…/demo-min
files: 16
Passed blocklet check (minimal-app)
dir: /…/demo-min
AUP pages: agent, home, settings
web sections: 1
agents: 1
settings files: 5
AFS Service started
Port: 4939
Blocklet: demo-min
http://demo-min.localhost:4939/
http://localhost:4939/?blocklet=demo-min (Safari / universal)Open the printed subdomain URL. For local acceptance, stop the temporary named instance when finished (arc service stop --instance demo). Do not stop the seed daemon on :4900 unless you started it.
Recipes you can scaffold today
arc blocklet recipe list| Recipe | Capabilities (as reported by CLI) | Generated files (approx.) |
|---|---|---|
basic / blank | manifest only | 1 (blocklet.yaml) |
blog | aup | small AUP set |
agent | aup, agent | chat + one agent |
minimal-app | web, aup, agent, settings | ~18 files |
agent-workspace | web, aup, agent, settings | ~19 files |
support-community | web, aup, agent, settings | ~20 files |
Explain one recipe before you scaffold:
arc blocklet recipe explain minimal-appWhat not to do first
| Avoid | Why |
|---|---|
arc deploy … --server … as step 1 | Requires auth and a remote DID Space; not local acceptance |
Treating arc blocklet dev as a server | It only scans conventions; it does not serve HTTP |
Assuming dist/ is hand-edited source | arc blocklet build owns dist/; do not commit it unless your release process requires the artifact |
| Collapsing package and instance language | Makes data ownership, config, and release discussion ambiguous — see Package and instance |
When the local page looks right, continue to authoring (Author) or the release boundary (Publish and deploy).