Generate automatically formatted help text for
meow
CLI helper
npm install meow cli-meow-help
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.
Type: object
Default: ↓
{
name = `(CLI name undefined)`,
desc,
commands = {},
flags = {},
examples = [],
defaults = true,
header,
footer
}
You can specify the options below.
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.
Type: string
Default: undefined
(optional)
Optionally define a description text for the help message.
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.
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.
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`]
}
];
Type: string
Default: true
(optional)
Prints out the default values of flags. Set to false
to disable.
Type: string
Default: undefined
(optional)
Optionally, add additional header information.
Type: string
Default: undefined
(optional)
Optionally, add additional footer information.
KEY: 📦 NEW
, 👌 IMPROVE
, 🐛 FIX
, 📖 DOC
, 🚀 RELEASE
, and 🤖 TEST
I use Emoji-log, you should try it and simplify your git commits.
- MIT © Ahmad Awais
- Thanks to Maarten Brakkee for initial implementation
- Code of Conduct
(follow) To stay up to date on free & open-source software
(follow) To get #OneDevMinute daily hot tips & trolls
(subscribe) To tech talks & #OneDevMinute videos
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 →