npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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 install

Or install the command once on Windows:

npm install -g @shinick/work-stack
workstack-setup install

On 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" install

Without Node.js, use Windows PowerShell:

irm https://shinick-han.github.io/work-stack-public/install.ps1 | iex

From 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 version

Without --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 install

Then start the terminal app with an explicit workspace directory. For a new workspace, add --init once:

workstack-tui --workspace "$HOME/WorkStack" --init

For 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