7.1. tools — running the SDK’s tools
Every tool under the SDK’s utils/ folder is a daslang program. daslang -tool
runs one by name, from wherever the SDK is installed, so you never need to know
the install path.
7.1.1. Running a tool
Name the tool after -tool. Every argument after the name goes to the tool:
daslang -tool lint src/ --quiet
daslang -tool ast-verify --file main.das
daslang -tool daspkg list
daslang -tool <name> runs <dasroot>/utils/<name>/main.das. Two tools have
other entry files: dastest runs dastest/dastest.das and das-fmt runs
utils/das-fmt/dasfmt.das. In a source tree, a name that is not under utils/
is looked up under utils/internal/.
Options before -tool are daslang’s own, so a tool can run under the JIT:
daslang -jit -tool lint src/
A tool runs like any other script: it loads every module daslang would. The
project root is the directory you run the tool in, so the modules your project
installs under modules/ are found. Pass -project_root <dir> before
-tool to use another one.
7.1.2. Listing the tools
daslang -tool without a name runs this tool, which lists every tool of the
install:
daslang -tool
7.1.3. Tools on PATH
The SDK’s bin/ holds a copy of daslang under each of these names:
lint, dastest, daspkg, dascov, detect-dupe, benchctl and
das-fmt (each with the .exe suffix, on every platform). Started under a
tool’s name, daslang runs that tool, so lint src/ is daslang -tool lint
src/. The package managers put these names on PATH.
The supervisor watchdog is on PATH as daslang-watchdog. Its -tool option
starts the servers an editor or an AI assistant connects to:
daslang-watchdog -tool mcp
daslang-watchdog -tool dap
daslang-watchdog -tool lsp