{"library":"shell","type":"library","category":null,"description":"Shell.js is a declarative command-line argument parser and stringifier for Node.js, currently at version 0.12.0, with its latest update published approximately a year ago. It's designed to simplify the creation of complex CLI applications by providing a structured way to define options, commands, and their associated routing logic. Key features include automatic argument discovery, support for multi-level commands (e.g., `git pull origin main`), built-in type conversion for arguments (string, boolean, integer, array), and auto-generated help messages. It differentiates itself through a declarative API that integrates parsing, stringifying, and routing into a single configuration object, making CLI development more intuitive than some imperative alternatives. The package is actively maintained and currently requires Node.js version 20 or later.","language":"javascript","status":"active","version":"0.12.0","tags":["javascript","shell","cli","arguments","parser","parameters","param","option","command"],"install":[{"cmd":"npm install shell","imports":["import { shell } from 'shell';","const cli = shell({\n  name: 'my-app',\n  description: 'My CLI application',\n  options: { version: { shortcut: 'v', description: 'Show version' } },\n  commands: { start: { description: 'Start the application' } }\n});\ncli.route();","const { shell } = require('shell');"]},{"cmd":"yarn add shell","imports":[]},{"cmd":"pnpm add shell","imports":[]}],"homepage":"https://shell.js.org","github":"https://github.com/adaltas/node-shell","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/shell","openapi_spec":null,"status_page":null,"smithery":null,"compatibility":{"summary":{"python_range":"18–22","success_rate":0,"avg_install_s":null,"avg_import_s":null,"wheel_type":null},"url":"https://checklist.day/v1/registry/shell/compatibility"},"provenance":{"verified_status":null,"verified_at":null,"last_verified":"Wed Jun 17","next_check":"Mon Jul 20","install_tag":null}}