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

@littlevoid/ziptie

v1.3.1

Published

Windows 11 kiosk and exhibit PC bootstrap utility.

Readme

ziptie

Windows 11 system setup and bootstrapping CLI for museum exhibits, gallery installations, and unattended digital signage. Hardens and configures Windows settings offline from a declarative configuration file.

Quick start

One-line online install (requires internet)

Run from PowerShell on a fresh machine to bootstrap directly from GitHub:

powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/littlevoid-io/ziptie/main/scripts/bootstrap.ps1 | iex"

Add to existing repository (can be configured for offline deployment, requires npm installed)

Initialize in your exhibit project root:

npx @littlevoid/ziptie init

Prompts for target mode (online, offline, npm), scaffolding ziptie.config.json and ziptie-setup.bat. Run on target exhibit machines with:

.\ziptie-setup.bat

Commands

Setup commands

| Command | Description | | ------------------------------- | ----------------------------------------------------------- | | ziptie | Apply configuration (prompts for elevation if not elevated) | | ziptie --dry-run (-d) | Preview changes without modifying system state | | ziptie --undo (-u) | Revert applied configuration | | ziptie --yes (-y) | Auto-confirm prompt with a 10s countdown | | ziptie --config <path> (-c) | Specify a custom configuration file path |

When developing from checkout, run npm start -- <flags>.

Init command

| Command | Description | | ----------------------------------- | ----------------------------------------------------- | | ziptie init | Scaffolds ziptie.config.json and ziptie-setup.bat | | ziptie init --mode <mode> (-m) | Set execution mode: online, offline, or npm | | ziptie init --force (-f) | Overwrite existing configuration and batch files | | ziptie init --project-root <path> | Target directory for scaffolding (default: cwd) |

Passing flags & overrides

In an exhibit repository (ziptie-setup.bat / CLI)

Pass standard flags, flat parameter shortcuts, or dot-notation overrides:

# Safe preview with auto-confirm
.\ziptie-setup.bat -y -d

# Flat shortcuts for unique keys
.\ziptie-setup.bat --timezone "Tokyo Standard Time" --disableScreensaver false --apps "Node.js,Git.Git"

# Dot-notation for nested categories
.\ziptie-setup.bat --windows.disableScreensaver=false --system.computerName="EXHIBIT-99"

Via one-line online install (bootstrap.ps1)

Pass parameters to the remote runner using -ExtraArgs:

powershell -ExecutionPolicy Bypass -Command "& ([scriptblock]::Create((irm https://raw.githubusercontent.com/littlevoid-io/ziptie/main/scripts/bootstrap.ps1))) -ExtraArgs '-y -d --timezone \"Tokyo Standard Time\" --disableScreensaver false'"

Configuration

ziptie.config.json is validated against ziptie.schema.json and merged over defaults in ziptie.default.config.json:

{
  "$schema": "https://raw.githubusercontent.com/littlevoid-io/ziptie/main/ziptie.schema.json",
  "system": {
    "computerName": "auto",
    "timezone": "auto",
    "dailyReboot": true,
    "rebootTime": "06:00"
  },
  "autologon": {
    "enabled": true,
    "username": "auto",
    "disablePasswordlessHello": true
  },
  "startupTask": {
    "enabled": true,
    "workingDir": "auto",
    "executable": "launch.bat"
  }
}

Config sections

All sections are optional and merge over defaults in ziptie.default.config.json:

| Section | Default | Purpose | | ---------------- | ------- | --------------------------------------------------------------------------------- | | system | on | Hostname, timezone, daily reboot task, reboot on finish | | autologon | on | Auto-login credentials and Windows Hello bypass | | startupTask | on | Scheduled task registered to trigger AtLogon in the GUI session | | packageManager | on | Winget/Chocolatey installs and offline ./installers scanning | | windows | on | System tweaks: telemetry, updates, widgets, touch gestures, power plan, bloatware |

| Key | Type | Description | | :-------------------------------------- | :------ | :------------------------------------------------------------------- | | system.computerName | string | Hostname (auto preserves current hostname without renaming). | | system.timezone | string | System timezone (auto detects via Windows location services). | | system.dailyReboot | boolean | Configures daily reboot task at rebootTime. | | system.rebootTime | string | Time of reboot in HH:MM 24h format (default: 06:00). | | system.rebootOnFinish | boolean | Reboots machine when execution finishes (default: false). | | autologon.enabled | boolean | Enables autologon (requires dot-notation). | | autologon.username | string | User account targeted for auto-login (auto uses current user). | | autologon.disablePasswordlessHello | boolean | Disables Windows Hello passwordless requirement. | | startupTask.enabled | boolean | Creates scheduled startup task (requires dot-notation). | | startupTask.workingDir | string | Working directory (auto resolves to config directory at runtime). | | startupTask.executable | string | Executable path or script file to launch (default: launch.bat). | | startupTask.args | array | Command-line arguments array. | | startupTask.trigger | string | Trigger constraint (default: AtLogon for GUI, AtStartup for S0). | | startupTask.delay | string | Delay before launch in ISO 8601 duration (default: PT1M = 1 min). | | packageManager.provider | string | Package manager CLI (winget or choco). | | packageManager.allowOfflineFallback | boolean | Scans .\installers for offline installers. | | packageManager.localInstallersPath | string | Folder path for offline installers. | | packageManager.apps | array | Package IDs or Chocolatey package names. | | windows.disableScreensaver | boolean | Disables lockscreen, sleep, and screensavers. | | windows.disableAccessibilityShortcuts | boolean | Blocks Shift-key accessibility triggers. | | windows.disableEdgeSwipes | boolean | Disables touch swipes from monitor edges. | | windows.disableTouchFeedback | boolean | Disables visual touch pointer indicators. | | windows.disableSystemSounds | boolean | Disables system-event audio alerts. | | windows.disableWindowsUpdate | boolean | Disables Windows Update service and tasks. | | windows.disableWindowsWidgets | boolean | Disables widgets and news feeds from taskbar. | | windows.disableCopilotRecall | boolean | Disables Windows Copilot and Recall tracking. | | windows.disableOOBEPrompts | boolean | Blocks post-update setup prompts. | | windows.clearDesktopIcons | boolean | Removes default shortcuts from public desktop. | | windows.solidColorBackground | string | Sets desktop solid background hex color (e.g. #333333). | | windows.enableDarkMode | boolean | Forces dark theme across Windows UI. | | windows.configureExplorer | boolean | Shows file extensions, hidden files, and simplifies layout. | | windows.disableAppInstalls | boolean | Blocks Store background app installs. | | windows.disableAppRestore | boolean | Blocks automatic AppX restoration. | | windows.disableErrorReporting | boolean | Disables Windows error popup reporting. | | windows.disableFirewall | boolean | Disables Windows Defender Firewall rules. | | windows.disableMaxPathLength | boolean | Extends NTFS 260 character path limit. | | windows.disableNewNetworkWindow | boolean | Disables overlay network panel flyouts. | | windows.disableNotifications | boolean | Disables Action Center notifications. | | windows.disableTouchGestures | boolean | Disables multi-finger touch controls. | | windows.enableScriptExecution | boolean | Sets PowerShell execution policy to RemoteSigned. | | windows.resetTextScale | boolean | Resets display text scaling to 100%. | | windows.uninstallBloatware | boolean | Uninstalls bundled UWP consumer bloatware. | | windows.uninstallOneDrive | boolean | Uninstalls and removes OneDrive. | | windows.unpinStartMenuApps | boolean | Clears pinned default apps from Start menu. | | windows.setPowerSettings | boolean | Sets power plan to High Performance. |

Execution pipeline

| Stage | Action | | :----------------------- | :----------------------------------------------------------------------------------------------- | | 1. Config resolution | Parses ziptie.config.json against ziptie.schema.json and deep-merges over defaults | | 2. Hive mount | Mounts C:\Users\Default\NTUSER.DAT to HKU:\DefaultUser to propagate settings to new accounts | | 3. App provisioning | Scans ./installers for silent installers or resolves packages via Winget/Chocolatey | | 4. OS settings | Executes convergent scripts in scripts/windows/ for apply or revert (--undo) | | 5. Shell restart | Unmounts default hive and restarts Windows Explorer |

Development

npm install
npm run build         # bundle CLI into dist/index.js
npm test              # run unit and pester tests
npm run package       # compile standalone dist/ziptie.exe and zip archive

Windows Sandbox testing

Verify configuration behaviors inside an isolated Windows Sandbox:

| Command | Action | | ------------------------ | -------------------------------------------------------- | | npm run sandbox | Mount repository and open interactive guest console | | npm run sandbox:local | Run automated guest tests (test/run-sandbox-tests.ps1) | | npm run sandbox:remote | Test remote cloud bootstrap script in clean sandbox |

License

MIT