numan

Anthony Thompson·tonythethompson.numan

Cross-platform package manager for Nushell

Numan installs plugins, modules, scripts, and completions from signed registries, pins immutable artifacts in a lockfile, and activates them with Nu only when you run numan activate.

winget install --id tonythethompson.numan --exact --source winget

Latest 0.2.2·August 16, 2026

Release Notes

[0.2.2] - 2026-08-16 Added

  • Release assets for aarch64-unknown-linux-gnu and aarch64-pc-windows-msvc (native ARM runners); numan update --self maps those triples
  • Homebrew Linux ARM archive support; winget verifies and submits both Windows x64 and ARM64 zips
  • numan use activation profiles: cross-minor switches auto-deactivate Numan-active plugins/modules (leave profile is a never-shrinking union per Nu minor in state/activation-profile.json, captured by snapshots and restored on rollback) and restore the target minor's desired set after the marker write. Same-target use is restore-only reconcile. User activate/deactivate keep the current minor's desired set in sync (idempotent even when already active/inactive); remove clears the package id from every minor.
  • Intake provenance and evidence tiers:
    • Display commit-snapshot provenance (commit hash and captured date) in numan info and package listings (P1).
    • Gate and display provisional evidence tier markers (P6).
    • Display fork identity and origin metadata for stewardship forks (P4).
  • PATH Nu version mismatch warning: detect and warn when the Nu binary on $PATH differs in version or location from the managed active Nu installation.
  • Unit test & coverage suites: comprehensive unit test coverage for cmd:: modules and dedicated CI coverage reporting job. Changed
  • numan try: now takes a required <owner/name[@version]> argument and is compatibility-first. It attempts to install and activate the specified package for the current Nu; if incompatible, it explains which managed Nu versions the package supports and recommends the nearest one, without silently switching Nu or installing an alternative package.
  • numan completions installs by default (creates the target directory if needed). Use --print to emit the script on stdout for piping or custom redirects.
  • numan registry packages: clearer listing (blank line between entries, styled id/version/type, soft-wrapped dim descriptions).
  • numan install: suggests --all flag when a package is incompatible with the current Nu version.
  • numan init: added tab-completion configuration hint to first-run output.
  • ADR 0001: Accepted Architecture Decision Record for Ecosystem Trust, Upstream Contribution, and Fork Stewardship. Fixed
  • Cached artifact verification: enforce SHA-256 integrity checks on cached archive payloads before extraction.
  • Windows User PATH pollution from acceptance tests: PathRestoreGuard sets a test-only flag that makes persist_path_dir / Unix persist_user_path skip durable User PATH, ~/.local/bin/nu, and shell-profile writes while the guard is held (it does not rewrite the Windows User PATH registry on drop, so concurrent external PATH edits are preserved). numan setup nu / use also refuse to persist paths under the system temp folder (fail closed if the temp root cannot be canonicalized), so tempfile fixtures like Temp.tmp*\off cannot land on PATH again. If you already have those leftovers, clean User PATH (PowerShell): $userPath = [Environment]::GetEnvironmentVariable('Path', 'User') $cleaned = ($userPath -split ';' | Where-Object { $_ -and ($_ -notmatch '(?i)\Temp\.tmp.*\(off|existing-nu)$') }) -join ';' [Environment]::SetEnvironmentVariable('Path', $cleaned, 'User') Then open a new terminal and confirm with $env:Path -split ';'.
  • numan doctor: report versioned managed Nu installs (tools/nushell//nu) instead of only the legacy tools/nushell/nu path
  • numan setup nu: official Nushell 0.114.x release archives exceed the old 256 MiB extract cap (~279 MiB uncompressed on linux-gnu). Bootstrap now extracts only the nu binary (skipping bundled plugins) and raises the uncompressed-size limit to 512 MiB so managed installs succeed again. Archive-bomb file_count / total_bytes accounting still charges every regular-file entry scanned, including those skipped by the include filter.
  • Homebrew formula install: fix formula installation handling for staged archives.

Installer type: zip

x64D86002010FFAD3C5E2E254F9CC053F6B93CF6C4DC190209A56F46B5DDF8358AB

Details

Homepage
https://github.com/tonythethompson/numan
License
MIT
Publisher
Anthony Thompson
Support
https://github.com/tonythethompson/numan/issues
Moniker
numan

Tags

clinushellpackage-manager

Older versions (4)

0.2.1
x64F8EF1777BE1EF02C6D0CAFF6788B2240FC30668017DA50144D7B311B342802EB
0.2.0
x645B9DE4607135843CFA43F64F691FBA5C9CA6AF1B1D857A9E43EAACCB4C4C452E
0.1.5
x642D855B3B8A9BB3C568051024B8AAE9771A63C427CB3EDFD3AC3AA3AA6D78468D
0.1.4
x64F843A717BD7FD13F2D86BF727D2292DCF9831F2544A3DF88987104299229EF9D