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

@fnndsc/chili

v3.6.0

Published

ChILI handles Intelligent Line Interactions: A CLI and library for ChRIS, acting as the controller layer for business logic and user presentation.

Downloads

810

Readme

  ____ _     ___ _     ___
 / ___| |__ |_ _| |   |_ _|
| |   | '_ \ | || |    | |
| |___| | | || || |___ | |
 \____|_| |_|___|_____|___|

ChILI handles Intelligent Line Interactions

chili is both a standalone CLI and a reusable library for interacting with the ChRIS ecosystem. It serves as the controller layer in the ChRIS interface stack, bridging raw business logic (salsa) and user presentation.

Installation

Install globally to use the chili command:

npm install -g @fnndsc/chili
chili --help

Requires Node.js ≥ 20.12. See Quick Start for usage.

chili is also consumed as a library (e.g. by chell): its headless Commands return typed Models, free of presentation concerns.

npm install @fnndsc/chili

Abstract

Designed for developers and power-users who want to script and control a ChRIS instance from the terminal. Maintains a persistent local context: connection details, active user, and current ChRIS working directory survive across invocations.

Architecture: The Sandwich Model

chili implements the controller layer:

  1. chili (Library & CLI):
    • Commands (src/commands): Headless controllers that execute logic via salsa and return typed Models. Consumed directly by chell.
    • Models (src/models): Explicit interfaces (Plugin, Feed, ListingItem, etc.) defining data structures.
    • Views (src/views): Pure functions that render Models into formatted strings and tables.
    • CLI (src/index.ts): Commander.js entry point orchestrating Commands and Views.
  2. salsa (Logic): Shared Application Logic and Service Assets — high-level business intents.
  3. cumin (Infrastructure): State and connection layer — authentication, context persistence, low-level API.

Development

chili lives in the mise monorepo alongside cumin, salsa, and chell. Build the whole stack from the repository root — npm workspaces links the four packages together, so there is nothing to clone or hand-link:

git clone https://github.com/FNNDSC/mise
cd mise
make taco            # scrub → prep → cook → taste → serve (the full course)

Individual steps (run from the repo root)

| Target | Action | |--------|--------| | make prep | npm install — install deps and link all four workspaces | | make cook | Build (compile TypeScript) all packages in dependency order | | make taste | Run the full test suite | | make serve | Link chell globally | | make scrub | Clean build artifacts and node_modules |

To build or test just this package: npm run build -w @fnndsc/chili / npm test -w @fnndsc/chili.

Use NVM and Node 22.x to avoid needing sudo for the global link in make serve.

Core Features

  • Context-Aware: Remembers active server, user, and working directory between invocations.
  • Library Mode: Exports strictly-typed commands and views consumed by chell and other frontends.
  • Resource Commands: Full CRUD for plugins, feeds, files, links, pipelines, compute resources, groups, tags, and more.
  • Plugin Management: Search, install (from peer store or Docker), and register plugins.
  • Feed Sub-resources: Notes and comments on feeds (create, read, update, delete).

Quick Start

Connect to ChRIS:

chili connect <URL> --user <USERNAME> --password <PASSWORD>

Plugins:

chili plugins list
chili plugins list --search "name:pl-dircopy"
chili plugin run pl-dircopy-v2.1.0 --args "..."

Feeds:

chili feeds list
chili feeds list --user rudolphpienaar
chili feed note 42
chili feed comments 42

Store / plugin install:

chili plugins add pl-fshack               # auto-discovers compute resources
chili plugins add pl-fshack --compute ares,argentum

Files:

chili files list --path /home/user/uploads

License

MIT — part of the ChRIS Project.


-30-