Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
💡 Use the right package manager
翻訳待ち
開発ツールTypeScript · JavaScriptGitHub @antfu-collective自分でインストール所有者未確認
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗npm i in a yarn project, again? F**k!
ni - use the right package manager
npm · yarn · pnpm · bun · deno · nub · aube
ni - installni
# npm install
# yarn install
# pnpm install
# bun install
# deno install
# nub install
# aube install
ni vite
# npm i vite
# yarn add vite
# pnpm add vite
# bun add vite
# deno add vite
# nub add vite
# aube add vite
ni @types/node -D
# npm i @types/node -D
# yarn add @types/node -D
# pnpm add -D @types/node
# bun add -d @types/node
# deno add -D @types/node
# nub add -D @types/node
# aube add -D @types/node
ni -P
# npm i --omit=dev
# yarn install --production
# pnpm i --production
# bun install --production
# (deno not supported)
# nub install --production
# aube install --production
ni --frozen
# npm ci
# yarn install --frozen-lockfile (Yarn 1)
# yarn install --immutable (Yarn Berry)
# pnpm install --frozen-lockfile
# bun install --frozen-lockfile
# deno install --frozen
# nub install --frozen-lockfile
# aube install --frozen-lockfile
ni -g eslint
# npm i -g eslint
# yarn global add eslint (Yarn 1)
# pnpm add -g eslint
# bun add -g eslint
# deno install eslint
# nub add -g eslint
# aube add -g eslint
# this uses default agent, regardless your current working directory
ni -i
# interactively select the dependency to install
# search for packages by name
Since v29.0.0
When working in a pnpm workspace with catalogs configured in pnpm-workspace.yaml, a Yarn Berry workspace with catalogs in .yarnrc.yml, or a Bun workspace with catalogs in package.json, ni automatically enters catalog mode. Instead of adding packages with pinned versions, it writes catalog: references into package.json and updates the workspace catalog.
# Given pnpm-workspace.yaml with:
# catalogs:
# prod:
# react: ^18.3.0
ni react
# → detects react in "prod" catalog
# → writes "react": "catalog:prod" to package.json
# → runs pnpm install
ni lodash
# → lodash not in any catalog
# → prompts to select a catalog (or skip)
# → fetches latest version, updates pnpm-workspace.yaml
# → writes "lodash": "catalog:prod" to package.json
# → runs pnpm install
For Bun, catalogs live in the root package.json instead, either nested under workspaces or at the top level:
# Given root package.json with:
# "workspaces": {
# "packages": ["packages/*"],
# "catalogs": { "prod": { "react": "^18.3.0" } }
# }
ni react
# → detects react in "prod" catalog
# → writes "react": "catalog:prod" to package.json
# → runs bun install
When only a default catalog (catalog: top-level) is used, new packages are added directly without prompting. When only named catalogs exist, the default catalog is never offered.
Flags like -D are respected — the catalog ref is written to the correct package.json section:
ni typescript -D
# → writes "typescript": "catalog:dev" to devDependencies
Use -w / --workspace to target the workspace root package.json:
ni react -w
# → writes catalog ref to workspace root package.json
To only reuse catalog entries that already exist — never adding a new package to a catalog and never prompting for one — set catalog=existing in ~/.nirc or NI_CATALOG=existing environment variable:
# with catalog=existing
ni react
# → react is already in the "prod" catalog
# → writes "react": "catalog:prod" to package.json
ni lodash
# → lodash is in no catalog
# → installed normally with a pinned version, catalogs are left untouched
To disable catalog mode, set catalog=false in ~/.nirc or NI_CATALOG=false environment variable.
nr - runnr dev --port=3000
# npm run dev -- --port=3000
# yarn run dev --port=3000
# pnpm run dev --port=3000
# bun run dev --port=3000
# deno task dev --port=3000
# nub run dev --port=3000
# aube run dev --port=3000
nr
# interactively select the script to run
# supports https://www.npmjs.com/package/npm-scripts-info convention
nr -
# rerun the last command
nr -p
nr -p dev
# interactively select the package and script to run
# Add completion script for bash
nr --completion-bash >> ~/.bashrc
# Add completion script for zsh
# For zim:fw
mkdir -p ~/.zim/custom/ni-completions
nr --completion-zsh > ~/.zim/custom/ni-completions/_ni
echo "zmodule $HOME/.zim/custom/ni-completions --fpath ." >> ~/.zimrc
zimfw install
# Add completion script for fish
mkdir -p ~/.config/fish/completions
nr --completion-fish > ~/.config/fish/completions/nr.fish
nlx - download & executenlx vitest
# npx vitest
# yarn dlx vitest
# pnpm dlx vitest
# bunx vitest
# deno run npm:vitest
# nubx vitest
# aube dlx vitest
Pass --local to prefer an already-installed local binary over downloading it (equivalent to pnpm exec / yarn exec). npm, bun and aube already resolve local binaries first, so this flag mainly matters for pnpm, yarn, and nub:
nlx --local vitest
# npx vitest
# yarn exec vitest
# pnpm exec vitest
# bunx vitest
# nub exec vitest
# aube exec vitest
nup - upgradenup
# npm upgrade
# yarn upgrade (Yarn 1)
# yarn up (Yarn Berry)
# pnpm update
# bun update
# deno upgrade
# nub update
# aube update
nup -i
# (not available for npm)
# yarn upgrade-interactive (Yarn 1)
# yarn up -i (Yarn Berry)
# pnpm update -i
# bun update -i
# deno outdated -u -i
# nub update -i
# aube update -i
nun - uninstallnun webpack
# npm uninstall webpack
# yarn remove webpack
# pnpm remove webpack
# bun remove webpack
# deno remove webpack
# nub remove webpack
# aube remove webpack
nun
# interactively multi-select
# the dependencies to remove
nun -g silent
# npm uninstall -g silent
# yarn global remove silent
# pnpm remove -g silent
# bun remove -g silent
# deno uninstall -g silent
# nub remove -g silent
# aube remove -g silent
This is the beginning of the README. Read the rest at the original. Read the full README ↗