Basic single-command CLI.
Basic single-command CLI.
Source:
examples/standalone/basic.tsDemonstrates: typed positional args, typed flags, aliases, and default values.
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 --helpSource
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').().();