#!/usr/bin/env node
import { Clify, configure } from 'clify.js';
const program = configure(program => {
program.setVersion('1.0.0');
program.setDescription('A simple cli program');
program.setName('my-script');
program.main((cmd) => {
const input = cmd.input();
return () => {
Clify.log(`Input: <${input.get()}>`)
};
});
});
program.run();
Get help:
$ ./my-script --help
Usage: my-script INPUT
A simple cli program
Run it:
$ ./my-script "command input string"
Input: <command input string>
Create Option definition:
import { defineOption } from 'clify.js';
const OutfileOption = defineOption({
name: 'outfile',
char: 'o',
description: 'Path to the output file',
type: 'string',
required: true,
});
Use it in the program:
const program = configure(program => {
program.setVersion('1.0.0');
program.setDescription('A simple cli program');
program.setName('my-script');
program.main((cmd) => {
const outfile = cmd.option(OutfileOption);
return () => {
Clify.log(`Outfile: <${outfile.value}>`)
};
});
});
Get help:
$ ./my-script --help
Usage: my-script INPUT [...OPTIONS]
A simple cli program
Options:
-o, --outfile <string> Path to the output file
Run it:
$ ./my-script --outfile output.txt
Outfile: <output.txt>
import { configure, defineOption } from 'clify.js';
const QuietOption = defineOption({
name: 'quiet',
char: 'q',
description: 'Do not output anything',
type: 'boolean',
default: false,
});
const program = configure(program => {
program.setVersion('1.0.0');
program.setDescription('A simple cli program');
program.setName('my-script');
program.command('cmd', (cmd) => {
const input = cmd.input();
const quiet = cmd.option(QuietOption);
return () => {
if (!quiet.value) {
Clify.log(`Input: <${input.get()}>`)
}
};
});
});
Get help:
$ ./my-script --help
Usage: my-script COMMAND
A simple cli program
Commands:
cmd
$ ./my-script cmd --help
Usage: my-script cmd [...OPTIONS]
Options:
--quiet, -q Do not output anything
Run it:
$ ./my-script cmd "command input string"
Input: <command input string>
$ ./my-script cmd --quiet "command input string"
import { configure } from 'clify.js';
const program = configure(program => {
program.setVersion('1.0.0');
program.setDescription('A simple cli program');
program.setName('my-script');
const cmd = program.command('cmd', (cmd) => {
return () => {}
});
cmd.command('foo', (cmd) => {
return () => {
Clify.log('Hi from foo!');
}
});
});
Get help:
$ ./my-script --help
Usage: my-script COMMAND
A simple cli program
Commands:
cmd
$ ./my-script cmd --help
Usage: my-script cmd COMMAND
Commands:
foo
$ ./my-script cmd foo --help
Usage: my-script cmd foo
Run it:
$ ./my-script cmd foo
Hi from foo!