About numan
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.
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.
[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 <shell> 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 …
| Publisher | Anthony Thompson |
|---|---|
| Version | 0.2.2 |
| Release date | 2026-08-16 |
| License | MIT |
| Installer type | zip |
| Architecture | x64 |
| Package ID | tonythethompson.numan |
winget install --id=tonythethompson.numan -ewinget upgrade --id=tonythethompson.numan -ewinget uninstall --id=tonythethompson.numan -enuman adds this command to the command line: numan.
[0.2.1] - 2026-08-07
Added
- numan update --self: upgrade the numan CLI itself. Standalone installs download the matching GitHub Release asset, verify the Ed25519 signature over SHA256SUMS (SHA256SUMS.sig + baked-in release public key), then check the archive digest and replace the binary. Homebrew / winget / cargo installs print the exact upgrade command instead of self-replacing; --check still queries GitHub Releases to report whether a newer version exists before printing that hint. The Release workflow now hard-fails if NUMAN_RELEASE_SIGNING_KEY is unset so every published release ships SHA256SUMS.sig.
- SECURITY.md: vulnerability reporting, scope, and cross-repo trust summary (linked from the README)
Changed
- numan search / numan info: scripts and completions are labeled install-only (activation deferred) instead of module-style "not ABI-locked" wording; install-only labels still appear when Nu is unknown
- numan try: prefers activatable curated starters (plugin/module), then falls back to Nu-agnostic install-only scripts (SuaveIV/nu_script_wttr, Sanceilaks/nufetch) without calling activate; prints a quoted overlay use path from the installed lockfile entry
[0.2.0] - 2026-08-05
Added
- Homebrew tap packaging restored: brew tap tonythethompson/numan && brew install numan, with Publish to Homebrew tap updating homebrew-numan from release SHA256SUMS (requires HOMEBREW_TAP_TOKEN)
- Side-by-side Nu version management via numan use <version>|latest|list:
- Switches the active managed Nushell install without re-downloading (errors with numan setup nu <version> hint when the requested version isn't installed yet)
- Writes <root>/nu_state/active-version.json so numan use list and downstream activation can resolve the selected Nu
- Acquires the root mutation lock and creates a PreMutation snapshot before any state change, matching install/update/activate/deactivate
- numan setup nu versioned layout: binaries now install under <root>/tools/nushell/<version>/nu instead of the previous single-binary <root>/tools/nushell/nu. Re-installing one version no longer clobbers another. numan doctor reports markers whose on-tree binary is missing.
- Journaled legacy managed-Nu migration from the single-binary layout into the versioned tree, with numan doctor auto-tier reconciliation
- Strict version-path validation (<root>/tools/nushell/<version>/...): rejects components containing /, \\, .., or anything semver won't parse, so numan setup nu ../../path cannot escape $NUMAN_ROOT.
- Shared confirmation utility (src/util/confirm.rs): consistent prompt/auto-confirm behavior across all commands …
[0.1.5] - 2026-07-29
Added
- numan setup nu installs an official managed Nushell release, optionally pinned with --version; --use-existing repairs an off-PATH installation without downloading another copy
- numan setup loader installs the bundled nushell-loader integration
- Compatibility-aware discovery: search hides incompatible packages by default (--all reveals them), info explains version compatibility, and install errors report the actual Nu/platform mismatch
- numan try installs and activates a curated starter compatible with the current Nu and platform, with managed-Nu pin offers when no starter matches
- Doctor findings distinguish PATH and managed Nu versions and report the built-in official trust-root identity
- Install support for .tar.xz / .txz package archives (alongside .zip, .tar.gz/.tgz, and .tar)
- numan completions nushell (alias nu) via clap_complete_nushell, with a vendor-autoload install hint
- Active-plugin mutation gate (Issue #22 PR1): refuse remove/update while a plugin activation record exists; doctor info activation.plugin_mutation_gated (docs/active-plugin-gate.md)
- Journaled plugin deactivate (Issue #22 PR2): numan deactivate unregisters via injectable plugin rm seam, clears PluginActivation without deleting payload; pending journal state/pending-plugin-deactivate.json …
Yes. numan is free and open-source software released under the MIT license.
The latest version is 0.2.2, released on Aug 16, 2026.
The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with d86002010ffad3c5e2e254f9cc053f6b93cf6c4dc190209a56f46b5ddf8358ab.
numan runs on Windows and is available for 64-bit (x64) systems.
Open Settings › Apps › Installed apps, find numan and select Uninstall. From the command line, run winget uninstall --id=tonythethompson.numan -e.
Yes. numan is available as a portable ZIP archive (numan-0.2.2-x86_64-pc-windows-msvc.zip, 64-bit (x64)) that runs without installation. Copy it to any folder or USB drive and run it from there.