@shinick/work-stack
v1.0.41
Published
Download and install Work Stack Native on Windows x64 and Linux x64 (glibc 2.28+) (`npx @shinick/work-stack install`).
Readme
@shinick/work-stack
Download and install Work Stack Native on Windows x64 and Linux x64 (glibc 2.28 or newer, for example AlmaLinux 8):
npx @shinick/work-stack installOr install the command once on Windows:
npm install -g @shinick/work-stack
workstack-setup installOn Linux, install it into your own prefix instead; the default global prefix usually belongs to root:
npm install --global --prefix "$HOME/.local" @shinick/work-stack
"$HOME/.local/bin/workstack-setup" installWithout Node.js, use Windows PowerShell:
irm https://shinick-han.github.io/work-stack-public/install.ps1 | iexFrom release 1.0.40 the Windows installer also installs the
TypeScript terminal UI (workstack-tui) from the same release by default; the
Rust renderer stays available as an explicit opt-in.
On a PC with an existing configured workspace the verified installation becomes
the default. On an unconfigured PC it stages the application and explains that
workspace configuration is still required. Existing running windows and task
data are preserved; relaunch to use the new installation. The workstack-setup
alias avoids a PATH collision with the installed Native CLI's work-stack command.
Commands:
work-stack install [--version X.Y.Z] [--directory PATH] [--no-activate]
work-stack update [--version X.Y.Z] [--directory PATH] [--no-activate] # same as install
work-stack download [--version X.Y.Z] [--directory PATH] # download and verify only
work-stack check [--version X.Y.Z] # report what would be installed
work-stack --help
work-stack --version # this package's versionWithout --version the latest release is used. --directory chooses where the
release is downloaded; a relative path is made absolute against the current
directory. --no-activate installs the version without making it the active one.
Running with no arguments prints the help. Help and --version work offline.
Linux
Linux x64 with glibc 2.28 or newer (AlmaLinux 8 / RHEL 8 and later). Node.js 18 or newer is needed only to run the installer; the installed application does not use Node.js or Python.
Use npm installer 1.0.39 or newer. Native Linux support starts at 1.0.38; the npm installer and Native application have separate versions.
npx @shinick/work-stack installThen start the terminal app with an explicit workspace directory. For a new
workspace, add --init once:
workstack-tui --workspace "$HOME/WorkStack" --initFor an existing workspace, omit --init:
workstack-tui --workspace "$HOME/WorkStack"Running workstack-tui with no arguments works only when a managed workspace
configuration or environment already points at a workspace; it never creates
one by itself.
From installer and release 1.0.40 the terminal UI is the
TypeScript renderer over the Rust engine. The installer also downloads the
release's workstack-tui-<version>-linux-x64.zip with its .sha256 and
.receipt.json, verifies them, and writes the workstack-tui shim so that the
Rust session launcher opens (with --init, first initialises) the workspace
with the bundled engine and then starts the TypeScript UI as its child. Neither
Bun nor Python is needed. Releases before 1.0.40 keep the Rust renderer.
If the installer's bin directory is not on your PATH, the installer prints
the export PATH=... line to run. It never edits shell profiles. Nothing is
started automatically during npm install or the install command.
install, update, download and check take the same options as on
Windows. Linux on other architectures, musl-based distributions and glibc
older than 2.28 are refused with a clear message and nothing is installed.
How it works
On Windows the package's bundled PowerShell installer, install.ps1, owns
downloading, verifying, installing and activating the release. The command line
runs it with the system's Windows PowerShell,
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -ExecutionPolicy Bypass -File <package>\install.ps1 [-Check | -DownloadOnly] [-Version X.Y.Z] [-DownloadDirectory <absolute path>] [-NoActivate]as an argument array, never through a shell, with the installer's output shown
as it runs. On Linux x64 the same parsed command is handed to the bundled
lib/linux-installer.mjs in the same Node.js process. Arguments are checked strictly before anything starts: unknown
commands or options, repeated options, options a command does not take and
versions that are not plain X.Y.Z are rejected.
The package declares no dependencies and no install scripts; installing it or
fetching it with npx changes nothing by itself.
Platforms
Windows x64 and Linux x64 (glibc 2.28 or newer). Windows on ARM64, Linux on other architectures, macOS and every other platform are refused with a clear message; nothing is downloaded or installed for them. Releases are published at https://github.com/Shinick-Han/work-stack-public/releases/latest.
Exit codes
0 success, 2 usage error, 3 unsupported platform or a missing bundled
installer, 1 Windows PowerShell could not be started or was stopped by a
signal, or the Linux installer failed. Any other result is the installer's own
exit code, passed through unchanged.
License
MIT
