From the parent directory that contains hello-aup/, run these commands in order:
arc dsl format ./hello-aup --write
arc dsl lint ./hello-aup
arc dsl validate ./hello-aup
arc blocklet check ./hello-aup --profile minimal-appOn 2.0.0-beta.25, format --write rewrites three DSL source files in a newly created recipe into canonical format. That output means formatting wrote files; format_changed is a diagnostic reported by check mode. Run format --write first, then lint, validate, and the profile check. The verified check result includes AUP agent, home, and settings pages, one Web section, and one agent.
Run directly
arc blocklet run ./hello-aupARC reuses or starts a local daemon and prints two actual access URLs. Do not deploy to DID Space for the first acceptance, and do not guess a host or port. In Chrome or Firefox, prefer the first <name>.localhost URL; use the second URL with ?blocklet=<name> where needed, including Safari. Once the session connects, you should see:
- the
hello-aupblocklet name; App,Agent, andSettingsnavigation;- the heading
A tiny complete app.; - body text explaining that the blocklet contains Web, AUP, an agent, and settings.
The browser check proves renderer, session, and generated app work together. Lint, validation, and check do not replace it.
When to generate JSON compatibility artifacts
Do not treat this command as the default check immediately after creation:
arc dsl generate ./hello-aup --checkThe new recipe deliberately does not prewrite .aup/app.json, .aup/pages/*.json, or .aup/wrapper.json, so that check first reports them stale. Run these commands only when a compatibility consumer needs materialized artifacts:
arc dsl generate ./hello-aup --write
arc dsl generate ./hello-aup --checkThis also creates the compatibility artifacts and a .aup/man/home.yaml documentation scaffold. A successful generation does not mean every manual page or permission declaration is complete.