Skip to content

Basic single-command CLI.

Basic single-command CLI.

Usage

bash
npx tsx examples/basic.ts Alice
npx tsx examples/basic.ts Alice --loud --times 3
npx tsx examples/basic.ts Alice -l -t 3
npx tsx examples/basic.ts --help

Source

ts
/**
 * Basic single-command CLI.
 *
 * Demonstrates: typed positional args, typed flags, aliases, and default values.
 *
 * Usage:
 *   npx tsx examples/basic.ts Alice
 *   npx tsx examples/basic.ts Alice --loud --times 3
 *   npx tsx examples/basic.ts Alice -l -t 3
 *   npx tsx examples/basic.ts --help
 */

import { , , ,  } from '@kjanat/dreamcli';

const  = ('greet')
	.('Greet someone')
	.('greet Alice', 'Greet Alice once')
	.('greet Alice --loud --times 3', 'Shout the greeting three times')
	.('name', .().('Who to greet'))
	.('loud', .().('l').('Shout the greeting'))
	.('times', .().(1).('t').('Repeat count'))
	.(({ , ,  }) => {
		// args.name: string — required positional
		// flags.loud: boolean — defaults to false (all booleans do)
		// flags.times: number — defaults to 1 (never undefined)
		for (let  = 0;  < .; ++) {
			const  = `Hello, ${.}!`;
			.(. ? .() : );
		}
	});

void ('greet').().();

Released under the MIT License.