quickshell CLI helpers
Three cross-platform CLI tools written in Node.js ESM (.mjs files). No npm dependencies, only Node built-ins. Run with node <tool>.mjs or directly (./<tool>.mjs after chmod +x).
qs-version
Print the installed qs version and the matching docs URL.
$ qs-version
Quickshell 0.3.0
https://quickshell.org/docs/v0.3.0/
qs-scaffold
Scaffold a new Quickshell config from an example. Copies shell.qml (and any supporting *.qml files), the README.md, and creates an empty .qmlls.ini (LSP marker).
qs-scaffold mybar # uses 02-per-monitor-bar (default)
qs-scaffold foo --from 03-clock # specific example
qs-scaffold bar --from 07-composite-bar # multi-file: copies Bar.qml too
Result:
~/.config/quickshell/mybar/
├── shell.qml
├── Bar.qml (if the source example has one)
├── README.md
└── .qmlls.ini (empty; quickshell will populate)
Then run with qs -c mybar.
Refuses to clobber an existing target.
qs-doc
Print or open the docs URL for a type, namespaced or not.
qs-doc PanelWindow # bare type
https://quickshell.org/docs/v0.3.0/types/Quickshell/PanelWindow
qs-doc Quickshell.Services.Pipewire.Pipewire # namespaced
https://quickshell.org/docs/v0.3.0/types/Quickshell/Services/Pipewire/Pipewire
qs-doc --list # full type index
https://quickshell.org/docs/v0.3.0/types
qs-doc PanelWindow --open # open in browser
Cross-platform
- No shell, no POSIX assumptions; pure
node:child_process,node:fs,node:os,node:path. xdg-openon Linux,openon macOS,cmd /c starton Windows for--open.XDG_CONFIG_HOMEhonored; falls back to~/.config(Linux/macOS) or%APPDATA%(Windows).
Testing
Tests are in test/ and use the built-in Node test runner.
Run all from the skill root:
npm test