dwa CLI
dwa is the DWA command-line tool, designed first for local agents and scripts: sync the organization's themes, check a presentation, export it to PowerPoint, validate and publish a theme. A single executable, with no Node or other prerequisite (the machine's Chrome, Chromium or Edge is used for rendering).
available Linux (x86-64, static) and Windows (x86-64).
Installation
One line, like uv:
# Linux, WSL
curl -LsSf https://marp.yassine-hadi.net/install.sh | sh# Windows (PowerShell)
irm https://marp.yassine-hadi.net/install.ps1 | iexThe executable is placed in ~/.local/bin (Windows: %LOCALAPPDATA%\dwa\bin, added to PATH), after its SHA-256 fingerprint is verified. Variables: DWA_INSTALL_DIR (another folder), DWA_NO_MODIFY_PATH=1 (Windows: PATH left unchanged).
Updating:
dwa self updateCommands
| Command | Role |
|---|---|
dwa auth login --portal <address> | Sign in through the browser (code to authorize in the portal), shared with the VS Code extension |
dwa auth status / dwa auth logout | Connected portals; signs out of the CLI and VS Code, session revoked on the server |
dwa sync [--check] | Installs and updates accessible themes, in the folder shared with VS Code |
dwa check presentation.md | Language structure and overflows measured in Chromium |
dwa check theme.css | The six stages of the theme validator |
dwa export presentation.md | Editable PowerPoint, faithful to the theme, fonts embedded |
dwa version publish theme.css --version 1.2.0 | Validates then publishes a version, like the portal editor |
dwa self update | Latest version of the CLI |
All commands accept --json. No prompts outside a terminal; stable exit codes: 0 success, 1 error, 2 usage, 3 rejected by the validator, 4 sign-in required, 5 insufficient permissions.
$ dwa check bilan.md
bilan.md:14 slide 2 erreur Le contenu dépasse la zone utile de la slide. Réduire le texte, utiliser medium/small ou répartir sur plusieurs slides.
bilan.md:16 slide 2 erreur Du texte dépasse la zone utile de la slide.
2 erreur(s) sur 2 slides.
$ echo $?
3Sign-in shared with VS Code
The CLI and the extension read the same folder (%LOCALAPPDATA%\dwa, or the Windows folder from WSL; DWA_HOME for another one): signing in to one signs in the other, and synced themes serve both. The token is encrypted on the machine; permissions are always checked by the server.