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

arc dsl

arc dsl は、pages/layout.aup のようなファイルが書かれている言語である AUP DSL の産物を検証・lint・整形・生成・検視します。

arc dsl は AUP DSL を扱います。これは .aup ファイル(ページの layout.aup など)が書かれている宣言的な言語です。lsp を除くすべてのサブコマンドはパス(.aup ファイルまたは blocklet ディレクトリ)を受け取り、省略時は現在のディレクトリになります。

arc 2.0.0-beta.50(commit a99fb2c37、main、2026-09-11)に対して取得したものです。dump をコピーする前に arc --version を実行してください。コマンド面を固定するのは commit です。

bash
arc dsl <subcommand> [path] [options]

グローバルフラグ(概要 を参照):--json--view--instance / -i(どのローカル ARC インスタンスか;省略すると default)、および --home(インスタンスのルート;どのインスタンスにするかを選ぶには --instance を使う)。

arc dsl lint

DSL のフォーマットとセマンティックな正しさを確認します。これは、このリポジトリ自身のマージゲートが実行する 4 つのチェックのうちの 1 つです。

使用法

bash
arc dsl lint [path] [options]
  • --fix:lint の前に、すべての安全な修正を適用する
  • --fix-format:DSL ソースを正規のフォーマットで書き直す
  • --fix-ids:ページの DSL ソースから、参照されていない明示的な id を取り除く
  • --fix-locales:DSL ソースから参照されていない locale の JSON キーを削除する

arc dsl validate

.aup ファイルまたは blocklet ディレクトリを検証します。4 つのマージゲートチェックのうち 2 番目です。

bash
arc dsl validate [path]

bash
$ arc dsl validate
Passed DSL validation
  path: /path/to/your/blocklet
  files: 368
Next: arc blocklet build /path/to/your/blocklet

成功した場合、次に実行すべきコマンド(arc blocklet build)を指す Next: ヒントを表示します。失敗した場合は、各問題を ERROR <rule> path:line:col: message の形式で報告します。Next: ヒントを表示する dsl のサブコマンドはこれだけです —— lintformatgeneratedecompiledoctormigrate-i18n は表示しません。

arc dsl schema

AUP DSL の言語スキーマと primitive のメタデータを表示します。

bash
arc dsl schema [path]

bash
$ arc dsl schema
Passed DSL schema
  path: /path/to/your/blocklet
  root: /path/to/your/blocklet
  primitives: 63
  aliases: 12
  snippets: 4
  files: 0

これらの数はプロジェクトごとに異なります:(.scaffold/*.dsl を通じて)自分自身の primitive を定義している blocklet は、通常の blocklet よりも高い primitives の数を報告します。また、組み込みの集計自体も、DSL 言語がリリースを重ねて primitive を増やすたびに変化します —— ここに書かれた固定の数字を正典として扱わず、実際の数を見るにはコマンドを実行してください。

arc dsl format

ページの .aup ファイルを整形します。

使用法

bash
arc dsl format [path] [options]
  • --check:整形によってファイルが変わる場合は失敗する
  • --write:ファイルをその場で書き直す

arc dsl generate

app.aup から app.json とページの JSON 産物を生成します。

使用法

bash
arc dsl generate [path] [options]
  • --check:生成される産物が変わる場合は失敗する
  • --write:生成された産物をその場で書き直す

新しい minimal-app スキャフォールドを無修正のまま --check すると、現在は exit 5 になります(.aup/app.json.aup/pages/agent.json.aup/pages/home.json.aup/wrapper.jsongenerated_changed)。チェックチェーンの全文は arc blocklet create を参照してください。

arc dsl decompile

生成された AUP JSON 産物を AUP DSL ソースへ逆コンパイルします。generate の逆方向です。

使用法

bash
arc dsl decompile [path] [options]
  • --check:逆コンパイルされた DSL によってファイルが変わる場合は失敗する
  • --write:逆コンパイルされた DSL ファイルをその場で書き直す
  • --partial:逆コンパイルできるソースだけを書き出し、欠けているページ産物は失敗ではなく警告に格下げする

arc dsl doctor

decompile、format、regenerate-check、validate を一括で実行する、DSL 産物のためのワンコマンドヘルスチェックです。

使用法

bash
arc dsl doctor [path] [options]
  • --check:doctor によってファイルが変わる場合は失敗する
  • --write:検証する前に、逆コンパイルされた DSL ファイルをその場で書き直す

同じ無修正の minimal-app スキャフォールドで、arc dsl doctor は現在 exit 5 です(decompile step: failed (0 files, 0 changed))。全文は arc blocklet create のチェックチェーンを参照してください。

arc dsl migrate-i18n

完全一致する $t(page.key) の文字列を、ページローカルなインライン i18n ブロックへ移動します。

使用法

bash
arc dsl migrate-i18n [path] [options]
  • --check:移行によってファイルが変わる場合は失敗する
  • --write:ページの DSL と locale の JSON ファイルをその場で書き直す

arc dsl language

エディタ統合を支える仕組みである、DSL の診断情報、補完、hover のメタデータを検視します。

使用法

bash
arc dsl language [path] [options]
  • --line <n>:補完/hover の検索に使う行番号(1 始まり)
  • --column <n>:補完/hover の検索に使う列番号(1 始まり)

arc dsl lsp

AUP DSL のエディタ統合向けに、JSON-RPC の language server を起動します。

bash
arc dsl lsp