Command Grammar

Domain: CLI & Commands

Motivation

The command grammar splits dsh <args> into what the launcher keeps and what the booted profile receives. The launcher parses only its own flags such as --profile, and the first token it does not recognize starts the app’s arguments. The grammar lives in src/args.ts, which is why dsh web --port 8080 works even though the launcher has no concept of --port.

Concrete Example

In dsh --profile web --port 8080, the launcher consumes --profile web, then hands --port 8080 to the web app.

Analogy

Like an operator who takes your first word and repeats the rest for you.