Skip to main content

ARC 2.0.0-beta.28

Get started

Install arc, pick a recipe, and walk the local package → check → run path before any remote publish.

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

  1. Install the public CLI:
bash
curl -fsSL https://arc.afsd.io/install.sh | bash
arc --version

Verified baseline for this board: 2.0.0-beta.28.

  1. Work in a temporary or project directory outside the ARC monorepo. You do not need to clone ArcBlock/arc to author a third-party Blocklet.
  2. Prefer a named instance when experimenting so a test cannot alter the seed daemon on :4900. ARC_HOME is retired (the CLI warns and ignores it). Isolation is the instance name plus --home:
bash
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 demo

Three pages, one path

StepPageWhat you prove
1Package and instancePackage (artifact) vs instance (run/deployment) vocabulary
2Create and run locallyScaffold + local serve + browser URL
3Check, build, and inspectcheck / build / inspect / dev evidence chain

Minimal command sequence

bash
# 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 4939

Verified output shape (arc 2.0.0-beta.28):

text
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

bash
arc blocklet recipe list

RecipeCapabilities (as reported by CLI)Generated files (approx.)
basic / blankmanifest only1 (blocklet.yaml)
blogaupsmall AUP set
agentaup, agentchat + one agent
minimal-appweb, aup, agent, settings~18 files
agent-workspaceweb, aup, agent, settings~19 files
support-communityweb, aup, agent, settings~20 files

Explain one recipe before you scaffold:

bash
arc blocklet recipe explain minimal-app

What not to do first

AvoidWhy
arc deploy … --server … as step 1Requires auth and a remote DID Space; not local acceptance
Treating arc blocklet dev as a serverIt only scans conventions; it does not serve HTTP
Assuming dist/ is hand-edited sourcearc blocklet build owns dist/; do not commit it unless your release process requires the artifact
Collapsing package and instance languageMakes 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).