# meow **Repository Path**: mirrors_vadimdemedes/meow ## Basic Information - **Project Name**: meow - **Description**: CLI app helper - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-26 - **Last Updated**: 2025-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # meow [![Build Status](https://travis-ci.org/sindresorhus/meow.svg?branch=master)](https://travis-ci.org/sindresorhus/meow) > CLI app helper ![](meow.gif) ## Features - Parses arguments using [minimist](https://github.com/substack/minimist) - Converts flags to [camelCase](https://github.com/sindresorhus/camelcase) - Outputs version when `--version` - Outputs description and supplied help text when `--help` - Makes unhandled rejected promises [fail loudly](https://github.com/sindresorhus/loud-rejection) instead of the default silent fail - Sets the process title to the binary name defined in package.json ## Install ``` $ npm install --save meow ``` ## Usage ``` $ ./foo-app.js unicorns --rainbow ``` ```js #!/usr/bin/env node 'use strict'; const meow = require('meow'); const foo = require('.'); const cli = meow(` Usage $ foo Options --rainbow, -r Include a rainbow Examples $ foo unicorns --rainbow 🌈 unicorns 🌈 `, { alias: { r: 'rainbow' } }); /* { input: ['unicorns'], flags: {rainbow: true}, ... } */ foo(cli.input[0], cli.flags); ``` ## API ### meow(options, [minimistOptions]) Returns an `Object` with: - `input` *(Array)* - Non-flag arguments - `flags` *(Object)* - Flags converted to camelCase - `pkg` *(Object)* - The `package.json` object - `help` *(string)* - The help text used with `--help` - `showHelp([code=2])` *(Function)* - Show the help text and exit with `code` #### options Type: `Object` `Array` `string` Can either be a string/array that is the `help` or an options object. ##### description Type: `string` `boolean`
Default: The package.json `"description"` property Description to show above the help text. Set it to `false` to disable it altogether. ##### help Type: `string` `boolean` The help text you want shown. The input is reindented and starting/ending newlines are trimmed which means you can use a [template literal](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/template_strings) without having to care about using the correct amount of indent. The description will be shown above your help text automatically. Set it to `false` to disable it altogether. ##### version Type: `string` `boolean`
Default: The package.json `"version"` property Set a custom version output. Set it to `false` to disable it altogether. ##### pkg Type: `Object`
Default: Closest package.json upwards package.json as an `Object`. *You most likely don't need this option.* ##### argv Type: `Array`
Default: `process.argv.slice(2)` Custom arguments object. ##### inferType Type: `boolean`
Default: `false` Infer the argument type. By default, the argument `5` in `$ foo 5` becomes a string. Enabling this would infer it as a number. #### minimistOptions Type: `Object`
Default: `{}` Minimist [options](https://github.com/substack/minimist#var-argv--parseargsargs-opts). Keys passed to the minimist `default` option are [decamelized](https://github.com/sindresorhus/decamelize), so you can for example pass in `fooBar: 'baz'` and have it be the default for the `--foo-bar` flag. ## Promises Meow will make unhandled rejected promises [fail loudly](https://github.com/sindresorhus/loud-rejection) instead of the default silent fail. Meaning you don't have to manually `.catch()` promises used in your CLI. ## Tips See [`chalk`](https://github.com/chalk/chalk) if you want to colorize the terminal output. See [`get-stdin`](https://github.com/sindresorhus/get-stdin) if you want to accept input from stdin. See [`conf`](https://github.com/sindresorhus/conf) if you need to persist some data. See [`update-notifier`](https://github.com/yeoman/update-notifier) if you want update notifications. [More useful CLI utilities.](https://github.com/sindresorhus/awesome-nodejs#command-line-utilities) ## License MIT © [Sindre Sorhus](https://sindresorhus.com)