diff --git a/cli-tooling.md b/cli-tooling.md index b7b533a..c442f45 100644 --- a/cli-tooling.md +++ b/cli-tooling.md @@ -51,6 +51,24 @@ Before writing a script to do something, check whether: - the tool you are already using has a subcommand for it, - the project's own `scripts/` directory already contains it. +### Desktop Steam Client Lifecycle (`steamcli`) + +> [!TIP] +> **Never spawn Steam via raw shell backgrounding (`nohup steam &` or `steam -silent &`) or kill it with `pkill`.** +> On desktop Linux/Bazzite, raw spawning leaves orphaned bash wrappers, misses custom client flags, or fails to initialize properly. +> Instead, manage the desktop Steam client through **`steamcli client`**: +> ```bash +> # Graceful exit and wait for it to finish flushing configuration: +> steamcli client shutdown +> +> # Launch the desktop client cleanly with configured defaults: +> steamcli client launch +> +> # Launch with custom Steam arguments: +> steamcli client launch -- -silent +> ``` + + --- ## 2. Non-Interactive Invocation