open-index/open-npm huggingface dataset:
npm package: @pyronaur/nich
Description: Like which, but unwrap linked Node and Bun package bins to their real entry files.
Latest version: 0.1.1

# nich

`nich` is `which` for people who work on linked CLIs.

`which` tells you the shim on `PATH`.
`nich` follows linked Node and Bun package bins to the file you actually edit.

## Install

```sh
npm install -g @pyronaur/nich
```

## Usage

```sh
nich <command> [command ...]
nich -a <command> [command ...]
```

## Why

When a CLI comes from a linked package, `which` usually stops at the global bin symlink:

```sh
$ which my-cli
/usr/local/bin/my-cli
```

That path is often just the install shim. `nich` keeps going:

```sh
$ nich my-cli
/path/to/my-cli/dist/bin/my-cli.js
```

For ordinary commands, `nich` stays out of the way:

```sh
$ which ls
/bin/ls
$ nich ls
/bin/ls

$ which npm
/usr/local/bin/npm
$ nich npm
/usr/local/bin/npm
```

## Rules

- Normal executables stay unchanged.
- Package-manager-owned bins such as `npm`, `node`, and `bun` stay unchanged.
- Linked package bins that resolve outside the install prefix unwrap to the real package entry file.
- `-a` prints one resolved path per PATH match.
- `nich` only resolves PATH executables. It does not inspect aliases, functions, or shell builtins.

## Use Cases

- Find the real entry file behind `npm link`, `bun link`, or similar linked installs.
- Confirm whether a command comes from a local linked repo or from the package manager install.
- Keep `which`-style behavior for normal binaries without manually chasing symlinks.
npm package: @pyropets/pyrolib
Description: Library for interacting with PyroPets
Author: SeqSEE
Latest version: 1.0.0

[![GitHub license](https://img.shields.io/github/license/PyroPets/pyrolib)](https://github.com/PyroPets/pyrolib/blob/main/LICENSE.md) [![npm version](https://badge.fury.io/js/@pyropets%2Fpyrolib.svg)](https://badge.fury.io/js/@pyropets%2Fpyrolib) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/PyroPets/pyrolib/develop) [![Node.js CI](https://github.com/PyroPets/pyrolib/actions/workflows/node.js.yml/badge.svg)](https://github.com/PyroPets/pyrolib/actions/workflows/node.js.yml)

# pyrolib

pyrolib is a TypeScript/JavaScript library for interacting with the PyroPets contracts

### [**Documentation**](https://pyropets.github.io/pyrolib/modules.html)

### Installation

```
npm install --save @pyropets/pyrolib
```
npm package: @pyropets/pyropets-contracts
Description: Contracts for PyroPets
Author: SeqSEE
Latest version: 1.0.0

[![GitHub license](https://img.shields.io/github/license/PyroPets/pyropets-contracts)](https://github.com/PyroPets/pyropets-contracts/blob/main/LICENSE.md) [![npm version](https://badge.fury.io/js/@pyropets%2Fpyropets-contracts.svg)](https://badge.fury.io/js/@pyropets%2Fpyropets-contracts)

# pyropets-contracts

pyropets-contracts are the core contracts for PyroPets project

## Installation

`npm install --save @pyropets/pyropets-contracts`