cli-meow-help
v4.0.0
Published
Generate automatically formatted help text for `meow` CLI helper
Downloads
3,851
Maintainers
Readme
cli-meow-help
Generate automatically formatted help text for
meow
CLI helper
Install
npm install meow cli-meow-help
Usage
const meow = require('meow');
const meowHelp = require('cli-meow-help');
const commands = {
new: {desc: `Creates a new user account`},
duplicate: {desc: `Duplicates a user account`}
};
const flags = {
random: {
desc: `Prints random data`,
type: 'boolean',
default: true
}
};
const helpText = meowHelp({
name: `cli-command`,
flags,
commands
});
meow(helpText, {flags});
// Now run `cli-command --help` to view the
// following auto formatted & generated help info.
API
meowHelp(options)
❯ options
Type: object
Default: ↓
{
name = `(CLI name undefined)`,
desc,
commands = {},
flags = {},
examples = [],
defaults = true,
header,
footer
}
You can specify the options below.
❯ name
Type: string
Default: (CLI name undefined)
The bin
command name of the cli that's used to run the CLI. Examples: corona
for the corona-cli that's installed globally or npx corona-cli
for if npx
is the recommended usage.
❯ desc
Type: string
Default: undefined
(optional)
Optionally define a description text for the help message.
❯ commands
Type: string
Default: {}
(optional)
Optionally, define a JavaScript object containing info on the CLI commands (i.e. meow
inputs). Each command has a desc
property to define the help text.
❯ flags
Type: string
Default: {}
Define CLI options (i.e. meow
flags) just like you do with meow
which is the flags
JavaScript object containing each flag with an extra desc
property to define the help text.
> examples
Type: Array
Default: []
List optional examples of how to use the CLI.
Check the test file for more context. Format example:
const examples = [
{
command: `new`,
flags: [`random`]
}
];
❯ defaults
Type: string
Default: true
(optional)
Prints out the default values of flags. Set to false
to disable.
❯ header
Type: string
Default: undefined
(optional)
Optionally, add additional header information.
❯ footer
Type: string
Default: undefined
(optional)
Optionally, add additional footer information.
Changelog
KEY: 📦 NEW
, 👌 IMPROVE
, 🐛 FIX
, 📖 DOC
, 🚀 RELEASE
, and 🤖 TEST
I use Emoji-log, you should try it and simplify your git commits.
License & Conduct
- MIT © Ahmad Awais
- Thanks to Maarten Brakkee for initial implementation
- Code of Conduct
Connect
Sponsor
Me (Ahmad Awais) and my incredible wife (Maedah Batool) are two engineers who fell in love with open source and then with each other. You can read more about me here. If you or your company use any of my projects or like what I’m doing then consider backing me. I'm in this for the long run. An open-source developer advocate.
NodeCLI.com — Learn to build Node.js CLI Automation
This repository is part of the NodeCLI.com course.
After building hundreds of developer automation tools used by millions of developers, I am sharing exactly how you can do it yourself with minimum effective effort. Learn to build Node.js & JavaScript based CLI (Command Line Interface) apps. Automate the grunt work, do more in less time, impress your manager, and help the community. → I'm sharing it all in this online video course. Node CLI Automation without wasting a 1,000 hours →