Luigit
repositories / dotfiles

dotfiles

bugabingas dorkfiles

owned by admin

pi/agent/skills/optional/quickshell/bin/README.md

Raw
Rendered preview

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-open on Linux, open on macOS, cmd /c start on Windows for --open.
  • XDG_CONFIG_HOME honored; 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
# 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.

```sh
$ 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).

```sh
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.

```sh
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-open` on Linux, `open` on macOS, `cmd /c start` on Windows for `--open`.
- `XDG_CONFIG_HOME` honored; 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:

```sh
npm test
```