Skip to content

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:

sh
# Linux, WSL
curl -LsSf https://marp.yassine-hadi.net/install.sh | sh
powershell
# Windows (PowerShell)
irm https://marp.yassine-hadi.net/install.ps1 | iex

The 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:

sh
dwa self update

Commands ​

CommandRole
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 logoutConnected 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.mdLanguage structure and overflows measured in Chromium
dwa check theme.cssThe six stages of the theme validator
dwa export presentation.mdEditable PowerPoint, faithful to the theme, fonts embedded
dwa version publish theme.css --version 1.2.0Validates then publishes a version, like the portal editor
dwa self updateLatest 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.

console
$ 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 $?
3

Sign-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.

Documentation of the DWA Core v1 language, the VS Code extension, the CLI and the theme portal.